Skill Manifest Schema
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.
- You can create a new skill by providing a manifest and using the create-skill-for-vendor CLI command or the POST skills SMAPI action.
- You can retrieve the manifest for a skill by using the get-skill-manifest CLI command or the GET manifest SMAPI action.
- You can update the manifest for a skill by using the update-skill-manifest CLI command or the PUT manifest SMAPI action.
manifest
View the skill manifest examples to see how the final JSON format appears.
Field | Description | Type |
---|---|---|
manifestVersion | Version of the skill manifest. | String |
publishingInformation | Object that contains the information to determine how the skill is presented to end users in the skill 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 is 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. See Category enumeration. | enum |
locales
For each supported locale, include an object with the appropriate locale String. Supported values include: 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. | 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. | 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 |
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 the age of 13 (for the United States, as determined under the
Children's Online Privacy Protection Act (COPPA)). Not Sure? |
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: 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. A flash briefing skill cannot include a permissions
object.
Field | Description | Type |
---|---|---|
name |
Contains an array of permissions, which can contain some or all of the following, which are read from the Alexa app settings.
|
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. | enum |
See Skill Events and List Events.
endpoint
Sets the global default endpoint for events.
Field | Description | Type |
---|---|---|
uri | 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
Field | Description | Type |
---|---|---|
<api-type> | See api enumeration | enum |
alexaForBusiness
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. | Array of Object |
interfaces | Contains an array of the supported interfaces | Array of Object |
tasks | Contains an array of the supported skill connection tasks. See the list of tasks at Supported skill connection tasks | Array of Object |
endpoint
Sets the global default endpoint for apis.custom.endpoint
.
Field | Description | Type |
---|---|---|
uri | Amazon Resource Name (ARN) for the skill's custom Lambda function or HTTPS URL | String |
sslCertificateType | The SSL certificate type for the skill's HTTPS endpoint. Only valid for HTTPS endpoints, not for AWS Lambda ARN. See sslCertificateType enumeration. | enum |
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 and sslCertificate fields. |
Object |
endpoint
Sets the region-specific override endpoint, as compared to apis.custom.endpoint
, which sets the global default endpoint.
Field | Description | Type |
---|---|---|
uri | Amazon Resource Name (ARN) for the skill's custom Lambda function or HTTPS URL | String |
sslCertificateType | The SSL certificate type for the skill's HTTPS endpoint. Only valid for HTTPS endpoints, not for AWS Lambda ARN. See sslCertificateType enumeration | enum |
interfaces
An array of interfaces supported by the skill.
Field | Description | Type |
---|---|---|
type | See customInterface enumeration. | enum |
education
The skill manifest of education skills has the same general format as for other skills, but the apis
object includes an education
object that contains the objects shown in the following table. For information about education skills, see About Alexa Education Skills.
Field | Description | Type | Required |
---|---|---|---|
|
An array of region objects. |
Array of |
Yes |
|
An endpoint object that contains a |
|
Yes |
|
A locales object which, in addition to the fields described in locales, c../smapi/skill-manifest.htmlontains the |
|
Yes |
|
A list of education skill interfaces that the skill supports. For a list of interfaces, see Education skill interfaces. |
Array of |
Yes |
|
The name of the education skill interface. An example is |
|
Yes |
|
The interface version. Currently |
|
Yes |
|
A list of objects that represent the requests that the education skill supports within the interface. |
Array of |
Yes |
|
The request within the interface. Currently, the only request names are |
|
Yes |
smartHome
Field | Description | Type |
---|---|---|
endpoint | Contains the uri field. |
Object |
regions | 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: 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. | boolean |
vuiPreamble | Preamble to flash briefing | String |
updateFrequency | See UpdateFrequency enumeration | enum |
genre | See ContentGenre enumeration | enum |
imageUri | URI of the image used for the skill in the skill store. | String |
contentType | See ContentType enumeration | enum |
url | URL of the content of the feed. | String |
householdList
Empty Object.
music
See Example music and radio skill manifest.
video
Field | Description | Type |
---|---|---|
countries | 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: 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.
Enum Values | Interface-specific settings |
---|---|
ALEXA_EXTENSION | Yes, see Request an extension in the skill manifest |
ALEXA_PRESENTATION_APL | Yes, see Select the viewport profiles to support |
ALEXA_PRESENTATION_HTML | None |
AUDIO_PLAYER | None |
CAN_FULFILL_INTENT_REQUEST | None |
GADGET_CONTROLLER | None |
GAME_ENGINE | None |
RENDER_TEMPLATE | None |
VIDEO_APP | None |
UpdateFrequency enumeration
This enumeration provides values for the frequency of feed content updates.
Enum value | Description |
---|---|
DAILY | Feed content is updated daily. |
HOURLY | Feed content is updated hourly. |
WEEKLY | Feed content is updated weekly. |
ContentType enumeration
This enumeration provides values for the different types of feeds for a Flash Briefing skill.
Enum value | Description |
---|---|
TEXT | Indicates the content of the feed is text to be read by Alexa. |
AUDIO | Indicates the content of the feed audio content to be played by Alexa. |
ContentGenre enumeration
This enumeration describes the type of content provided by the Flash Briefing feed.
Enum Values |
---|
HEADLINE_NEWS |
BUSINESS |
POLITICS |
ENTERTAINMENT |
TECHNOLOGY |
HUMOR |
LIFESTYLE |
SPORTS |
SCIENCE |
HEALTH_AND_FITNESS |
ARTS_AND_CULTURE |
PRODUCTIVITY_AND_UTILITIES |
OTHER |
Category enumeration
This enumeration provides category values. The category determines how your skill is filtered for display in the Alexa app.
Enum Values |
---|
ALARMS_AND_CLOCKS |
ASTROLOGY |
BUSINESS_AND_FINANCE |
CALCULATORS |
CALENDARS_AND_REMINDERS |
CHILDRENS_EDUCATION_AND_REFERENCE |
CHILDRENS_GAMES |
CHILDRENS_MUSIC_AND_AUDIO |
CHILDRENS_NOVELTY_AND_HUMOR |
COMMUNICATION |
CONNECTED_CAR |
COOKING_AND_RECIPE |
CURRENCY_GUIDES_AND_CONVERTERS |
DATING |
DELIVERY_AND_TAKEOUT |
DEVICE_TRACKING |
EDUCATION_AND_REFERENCE |
EVENT_FINDERS |
EXERCISE_AND_WORKOUT |
FASHION_AND_STYLE |
FLIGHT_FINDERS |
FRIENDS_AND_FAMILY |
GAME_INFO_AND_ACCESSORY |
GAMES |
HEALTH_AND_FITNESS |
HOTEL_FINDERS |
KNOWLEDGE_AND_TRIVIA |
MOVIE_AND_TV_KNOWLEDGE_AND_TRIVIA |
MOVIE_INFO_AND_REVIEWS |
MOVIE_SHOWTIMES |
MUSIC_AND_AUDIO_ACCESSORIES |
MUSIC_AND_AUDIO_KNOWLEDGE_AND_TRIVIA |
MUSIC_INFO_REVIEWS_AND_RECOGNITION_SERVICE |
NAVIGATION_AND_TRIP_PLANNER |
NEWS |
NOVELTY |
ORGANIZERS_AND_ASSISTANTS |
PETS_AND_ANIMAL |
PODCAST |
PUBLIC_TRANSPORTATION |
RELIGION_AND_SPIRITUALITY |
RESTAURANT_BOOKING_INFO_AND_REVIEW |
SCHOOLS |
SCORE_KEEPING |
SELF_IMPROVEMENT |
SHOPPING |
SMART_HOME |
SOCIAL_NETWORKING |
SPORTS_GAMES |
SPORTS_NEWS |
STREAMING_SERVICE |
TAXI_AND_RIDESHARING |
TO_DO_LISTS_AND_NOTES |
TRANSLATORS |
TV_GUIDES |
UNIT_CONVERTERS |
WEATHER |
WINE_AND_BEVERAGE |
ZIP_CODE_LOOKUP |