The skill manifest is the JSON representation of your skill, and provides Alexa with all of the metadata required for your skill. The interaction model and account linking schemas, if used, are separate.
To get information about the manifest schema that your skill requires before you call a CLI or SMAPI command, use the get-resource-schema CLI command or the GET resourceSchema SMAPI action.
Object that contains the information to determine how the skill is presented to end users in the Alexa Skills Store or Alexa app.
Object
privacyAndCompliance
Object that contains the options related to user privacy, such as the URLs for your privacy policy and terms of use.
Object
permissions
Array that specifies the permissions that let you ask the user for specific personal information, such as access to the address of their device.
Array of Object
events
Object that specifies the events a skill wants to subscribe to. E.g. notify the skill whenever a customer enables or disables the skill.
Object
apis
Object that specifies required information for all interfaces that a skill supports.
Object
publishingInformation
Field
Description
Type
locales
Object that contains <locale> objects for each supported locale.
Object
distributionCountries
Array specifying distribution country/region strings in ISO 3166-1 alpha-2 format, for example, US, GB or DE. This array should only contain values if availableWorldwide is false.
Array of String
isAvailableWorldwide
Set to true to indicate the skill is available worldwide, and otherwise false. If false, countries must be listed for distributionCountries.
boolean
distributionMode
PUBLIC if the skill can be distributed without restriction. PRIVATE if the skill is available only to a private distribution list.
enum
testingInstructions
Indicates any special instructions to test the skill, such as a test account.
String
category
Indicates the filter category for the skill in the Alexa App, such as, NEWS or SMART_HOME. For details, see Category enumeration.
enum
automaticDistribution
Object that enables you to expand the distribution of your skill to additional locales. For the fields of this object, see automaticDistribution.
For each supported locale, include an object with the appropriate locale String. Supported values include: ar-SA, de-DE, en-AU, en-CA, en-GB, en-IN, en-US, es-ES, es-MX, es-US, fr-CA, fr-FR, hi-IN, it-IT, ja-JP, and pt-BR.
Field
Description
Type
summary
Summary description of the skill, which is shown when viewing the list of skills in the Alexa Skills Store. This setting is called One Sentence Description on the Distribution page of the developer console.
String
description
A full description explaining what the skill can do and any prerequisites to using it (such as additional hardware, software, or accounts). For a Flash Briefing skill, you must list the feeds for the skill. This setting is called Detailed Description on the Distribution page of the developer console.
String
smallIconUri
A small icon (108 by 108 pixels) for the skill, which is shown when viewing the list of skills in the Alexa Skills Store. The value can be a publicly-accessible URL or, when using the skill package format, a path relative to the skill package's skill.json file, such as file://assets/images/en-US_smallIcon.png.
String
largeIconUri
A large icon (512 by 512 pixels) for the skill, which is shown when viewing the list of skills in the Alexa Skills Store. The value can be a publicly-accessible URL or, when using the skill package format, a path relative to the skill package's skill.json file, such as file://assets/images/en-US_largeIcon.png.
String
examplePhrases
Three example phrases that illustrate how users can invoke your skill. For accuracy, these phrases must come directly from your sample utterances.
Array of Strings
keywords
Sample keyword phrases that describe the skill.
Array of Strings
updatesDescription
Description of the skill's new features and fixes in this version. Should describe changes in the revisions of the skill.
String
customProductPrompts
Purchase and confirmation prompts for paid skills and skills that include in-skill purchasing.
If true, indicates that you want to distribute your skill in all locales for all languages that your skill supports. If you later set this value to false, the updated setting doesn't revert any locales to which you previously distributed your skill.
Boolean
sourceLocaleForLanguages
List of items that pair a language with a source locale. Required if isActive is true. For each language that your skill supports, you must use this array to specify which locale to use as the source for the language. There can't be more than one instance of the same language in the array.
Array
language
In the sourceLocaleForLanguages array, language is a two-letter string that represents the language to which to distribute the skill. An example is en.
String
sourceLocale
In the sourceLocaleForLanguages array, sourceLocale is a locale from which to copy the metadata and model. An example is en-US. The locale must already exist in the skill.
String
privacyAndCompliance
When you create or modify a skill using a skill manifest, you must ensure that the customer meets the privacy and compliance requirements and the export compliance requirement. The requirements for the customer are the same as the customer must comply with if creating a skill on the Amazon Developer Portal, as shown on the Privacy and Compliance tab when creating a skill on the portal.
The customer must answer all of the corresponding questions to set the values for the privacyAndCompliance Object. If the customer answers Yes, set the value to true, and if the customer answers No, set the value to false. You may not provide default answers or values on behalf of the customer.
Field
Description
Type
allowsPurchases
true to indicate purchases can be made from this skill; otherwise, false.
boolean
usesPersonalInfo
true to indicate this skill uses customer information, otherwise false.
boolean
isChildDirected
true to indicate the skill is directed at children under 13, otherwise false. To create a child-directed skill, isChildDirected must be set to true, and the publishingInformation.category must be set to one of the following: CHILDRENS_EDUCATION_AND_REFERENCE, CHILDRENS_GAMES, CHILDRENS_MUSIC_AND_AUDIO, CHILDRENS_NOVELTY_AND_HUMOR.
boolean
isExportCompliant
true to indicate the skill can be exported to any country/region; otherwise, false.
boolean
containsAds
true to indicate the skill contains advertising; otherwise, false.
boolean
locales
Object that contains <locale> objects for each supported locale.
Object
When you create or modify a skill using a skill manifest, you must ensure that the customer meets the privacy and compliance requirements and the export compliance requirement. The requirements for the customer are the same as the customer must comply with if creating a skill on the Amazon Developer Portal, as shown on the Privacy and Compliance tab when creating a skill on the portal.
The customer must answer the corresponding questions in order to set the values for the privacyAndCompliance object. If the customer answers Yes, set the value to true, and if the customer answers No, set the value to false. You may not provide default answers or values on behalf of the customer.
Field
Corresponding question from Amazon Developer Portal
allowsPurchases
Does this skill allow users to make purchases or spend real money?
usesPersonalInfo
Does this Alexa skill collect users' personal information?
This includes anything that can identify the user such as name, email, password, phone number, birthdate, etc.
isChildDirected
Is this skill directed to or does it target children under the age of 13?
Please indicate if this skill is directed to children under 13. If you are distributing your skill in the United States, please refer to the
Children's Online Privacy Protection Act (COPPA) and the
FTC's COPPA Guidance and FAQs for more information. Factors to consider in determining if a skill that is distributed in the United States is directed to children include:
Subject matter of the skill
Presence of child-oriented activities and incentives
Type of language used in the skill
Music and other audio content in the skill
How the skill is described and marketed
Intended audience for the skill
Failure to provide accurate information may result in termination of your developer account.
isExportCompliant
Checkbox: I certify that this Alexa skill may be imported to and exported from the United States and all other countries and regions in which we operate our program or in which you've authorized sales to end users (without the need for us to obtain any license or clearance or take any other action) and is in full compliance with all applicable laws and regulations governing imports and exports, including those applicable to software that makes use of encryption technology.
containsAds
Does this skill contain advertising?
privacyPolicyUrl
Privacy Policy URL (Optional)
Link to the privacy policy that applies to this skill. Note: Each locale requires a separate privacy policy URL, if one is provided.
termsOfUse
Terms of Use URL (Optional)
Link to the terms of use document for this skill. Note: Each locale requires a separate terms of use URL, if one is provided.
locales
For each supported locale, include an object with the appropriate locale string. Supported values include: ar-SA, de-DE, en-AU, en-CA, en-GB, en-IN, en-US, es-ES, es-MX, es-US, fr-CA, fr-FR, hi-IN, it-IT, ja-JP, and pt-BR.
Field
Description
Type
privacyPolicyUrl
URL to the privacy policy for the skill for the locale
String
termsOfUseUrl
URL to the terms of use for the skill. for the locale
String
permissions
An array of named permissions that the skill can use.
Note: Flash briefing skills can't include a permissions object.
Field
Description
Type
name
Contains an array of permissions, which can contain some or all of the following values, which are read from the Alexa app settings of the user:
• alexa::person_id:read – Read the personId value.
• alexa::profile:email:read – Read the user's email address.
• alexa::profile:given_name:read – Read the user's given name or first name.
• alexa::profile:mobile_number:read – Read the user's phone number.
• alexa::profile:name:read – Read the user's full name.
array
events
Field
Description
Type
publications
Contains an array of eventName objects, each of which contains the name of a proactive event. See Schemas for Proactive Events.
Array of Object
subscriptions
Contains an array of eventName objects, each of which contains the name of a skill event. These include: SKILL_PROACTIVE_SUBSCRIPTION_CHANGED, SKILL_PERMISSION_CHANGED, and SKILL_PERMISSION_ACCEPTED.
Array of Object
endpoint
Contains the uri field. This sets the global default endpoint for events.
Object
regions
Contains an array of the supported <region> Objects.
Array of Object
sslCertificateType
SSL certificate type for the skill's HTTPS endpoint. Only valid for HTTPS endpoints, not for AWS Lambda ARN. See sslCertificateType enumeration.
The Amazon Resource Name (ARN) of the Lambda function, or the HTTPS URL for a custom endpoint.
String
regions
An array of <region> objects.
Field
Description
Type
<region>
Two-letter code for the geographic region such as NA/EU/FE
enum
Field
Description
Type
endpoint
Contains the uri field. A regional endpoint overrides the global default endpoint for the specified region.
Object
endpoint
Sets the region-specific override endpoint, as compared to events.endpoint, which sets the global default endpoint. If set to Default, the global default endpoint is used for the region.
Field
Description
Type
uri
The Amazon Resource Name (ARN) of the Lambda function, or the HTTPS URL for a custom endpoint.
String
apis
An array of objects. Some combinations of objects are not supported.
All skills that have alexaForBusiness as a property of the apis object must be English (U.S.) only. Thus, although the manifest supports multiple regions and regional overrides, these are not applicable in this case.
Field
Description
Type
endpoint
Contains the uri field. Sets the global default endpoint, which can be overridden on a region-by-region basis.
Object
regions
Contains an array of the supported <region> Objects.
Array of Object
interfaces
Contains an array of the supported interfaces
Array of Object
endpoint
Sets the global default endpoint for apis.alexaForBusiness.endpoint.
Field
Description
Type
uri
Amazon Resource Name (ARN) for the skill's Lambda function or HTTPS URL
String
regions
An array of <region> fields.
Field
Description
Type
<region>
Two-letter code for the geographic region such as NA/EU/FE.
enum
Field
Description
Type
endpoint
Contains the uri field.
Object
endpoint
Sets the region-specific override endpoint, as compared to apis.alexaForBusiness.endpoint, which sets the global default endpoint.
Field
Description
Type
uri
Amazon Resource Name (ARN) for the skill's Lambda function or HTTPS URL
String
interfaces
Contains an array of interface objects.
Each interface object contains the following fields.
Field
Description
Type
namespace
Must be Alexa.Business.Reservation.Room
enum
version
Version of the object. Currently 1.0.
enum
requests
Array of requests.
enum
requests
Contains an array of name objects.
Field
Description
Type
name
One of Search, Create, Update
enum
custom
Field
Description
Type
endpoint
Contains the uri and sslCertificateType fields. Sets the global default endpoint, which can be overridden on a region-by-region basis.
Object
regions
Contains an array of the supported <region> Objects.
Contains an array of the supported <region> Objects
Array of Object
protocolVersion
(Optional) Version of the Smart Home API. Default and recommended value is '3'. You may create a skill with version '2' for testing migration to version '3', but a skill submission using version '2' will not be certified.
String
endpoint
Sets the global default endpoint.
Field
Description
Type
uri
Amazon Resource Name (ARN) for the skill's smartHome Lambda function.
String
regions
An array of <region> fields.
Field
Description
Type
<region>
Two-letter code for the geographic region such as NA/EU/FE
enum
Field
Description
Type
endpoint
Contains the uri field.
Object
endpoint
Sets the region-specific override endpoint, as compared to apis.smartHome.endpoint, which sets the global default endpoint.
Field
Description
Type
uri
Amazon Resource Name (ARN) for the skill's smartHome Lambda function
String
flashBriefing
Field
Description
Type
locales
Object that contains <locale> Objects for each supported locale.
Object
locales
For each supported locale, include an object with the appropriate locale String. Supported values include: ar-SA, de-DE, en-AU, en-CA, en-GB, en-IN, en-US, es-ES, es-MX, es-US, fr-CA, fr-FR, hi-IN, it-IT, ja-JP, and pt-BR.
Field
Description
Type
<locale>
Locale String
Object
Field
Description
Type
customErrorMessage
Customized error message if the flash briefing is unavailable
String
feeds
Object containing an array of feeds
Object
feeds
Field
Description
Type
name
Name of the feed
String
isDefault
If true, the feed is included in the flash briefing by default. If false, it is not.
Object that contains <country> Objects for each supported country.
Object
locales
Object that contains <locale> Objects for each supported locale.
Object
regions
Contains an array of the supported <region> Objects.
Array of Object
protocolVersion
(Optional) Version of the Video API. The default and recommended value is 3.0.
String
countries
For each supported country, include an Object with the appropriate country string. Supported values include: AU, BR, CA, DE, ES, FR, GB, IN, IT, JP, MX, and US.
Field
Description
Type
<country>
Country String
Object
Field
Description
Type
catalogInformation
Contains an array of the supported Catalog Types and their values.
Array of Object
catalogInformation
Field
Description
Type
type
Type of Catalog such as "INGESTED_CONTENT_IDENTIFIER" for integrated catalogs or "LIVE_TV_MSO" for MSO ID.
enum
sourceId
Value of the catalog identifier.
String
locales
For each supported locale, include an Object with the appropriate locale string. Supported values include: ar-SA, de-DE, en-AU, en-CA, en-GB, en-IN, en-US, es-ES, es-MX, es-US, fr-CA, fr-FR, hi-IN, it-IT, ja-JP, and pt-BR.
Field
Description
Type
<locale>
Locale String
Object
Field
Description
Type
videoProviderTargetingNames
List of names.
Array
features
List of features, applicable to video skills for multimodal devices.
Array of Object
features
This is only applicable to video skills for multimodal devices.
Field
Description
Type
version
Version number such as "1.0".
enum
players
Contains web player information.
Array of Object
name
Name of the feature such as "VIDEO_WEB_PLAYER".
enum
players
Contains web player information.
Field
Description
Type
logoImageUri
URI for the logo image.
String
type
Type of the web player such as "AVS_3P_PROVIDED".
enum
uri
URI for the web player.
String
backgroundImageUri
URI for the background image.
String
regions
An array of <region> fields.
Field
Description
Type
<region>
Two-letter code for the geographic region such as NA/EU/FE
enum
Field
Description
Type
endpoint
Contains the uri field.
Object
endpoint
Sets the region-specific endpoint.
Field
Description
Type
uri
Amazon Resource Name (ARN) for the skill's video AWS Lambda function
String
Enumerations and Values
API enumeration
This enumeration provides values for the api names.
Enum Values
alexaForBusiness
custom
flashBriefing
health
householdList
music
smartHome
video
SSLCertificateType enumeration
This enumeration provides values for the SSL certificate type for the skill's HTTPS endpoint.
Enum Values
SelfSigned
Trusted
Wildcard
CustomInterface enumeration
This enumeration provides values for the interfaces supported by a custom skill. Note that some interfaces include additional settings as noted in the table.