Skill Manifest Schema
The skill manifest is the JSON representation of your skill, and provides Alexa with all the metadata required for your skill. The interaction model and account linking schemas, if used, are separate from the skill manifest.
- 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 resource schema REST API.
- You can create a new skill by providing a manifest and using the create-skill-for-vendor CLI command or the Create skill manifest REST API.
- You can retrieve the manifest for a skill by using the get-skill-manifest CLI command or the Get skill manifest REST API.
- You can update the manifest for a skill by using the update-skill-manifest CLI command or the Update manifest REST API.
This reference defines the properties that make up the skill manifest schema.
manifest
The skill manifest schema includes the properties defined in the following table.
View the skill manifest examples to see how the final JSON format appears.
Property | Description | Type |
---|---|---|
manifest | Object that contains the manifest schema information for the skill. | Object |
manifest.manifestVersion | Version of the skill manifest. | String |
manifest.publishingInformation | Object that contains the information to determine how the skill is presented to end users in the Alexa Skills Store or Alexa app. | Object |
manifest.privacyAndCompliance | Object that contains the options related to user privacy, such as the URLs for your privacy policy and terms of use. | Object |
manifest.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 objects |
manifest.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 |
manifest.apis | Object that specifies required information for all interfaces that a skill supports. | Object |
publishingInformation
Property | 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 | Set to PUBLIC , which indicates that the skill can be distributed without restriction. |
enum |
testingInstructions | Indicates any special instructions to test the skill, such as a test account. If your skill requires the user to link an account, include account linking credentials to log into your authorization service to test and certify your skill. | 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 properties of this object, see automaticDistribution . |
Object |
paidSkillInformation | Pricing and tax information for paid skills. For details, see paidSkillInformation definition. |
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
, nl-NL
, and pt-BR
.
Property | 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. | Array of Strings |
automaticDistribution
The automaticDistribution
object enables you to expand the distribution of your skill to additional locales. For details about automated locale distribution, see Distribute Your Skill to Additional Locales of the Same Language.
Property | Description | Type |
---|---|---|
isActive | 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
Configure the privacy and compliance settings that your skill supports. The customer must answer corresponding questions in the Alexa app. If the customer answers Yes
, set the value to true
in your skill, and if the customer answers No
, set the value to false
. You must not provide default answers or values on behalf of the customer.
Property | Description | Type |
---|---|---|
|
Set to |
Boolean |
|
Set to |
Boolean |
|
Set to |
Boolean |
|
Set to |
Boolean |
|
Set to |
Boolean |
|
Object that defines the supported locale. |
Object |
|
Object that defines support for Alexa Shopping Actions. For details, see shoppingKit object. |
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 Alexa developer portal, as shown on the Distribution tab in the Privacy and Compliance page 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 must not provide default answers or values on behalf of the customer.
Skill manifest field | Corresponding question from Alexa developer portal |
---|---|
allowsPurchases | Does this skill allow users to make purchases or spend real money? |
shoppingKit | Does this skill use Alexa Shopping Actions? |
usesPersonalInfo | Does this Alexa skill collect users' personal information? Personal information includes any information that can be used to identify the customer, such as full name, email address, and phone number. |
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? |
containsAds | Does this skill contain advertising? Checkbox: I certify that I have read and am in compliance with the Alexa Skills Advertising Policy found here. |
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. |
locale.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. |
locale.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 object
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
, nl-NL
, and pt-BR
.
Field | Description | Type |
---|---|---|
|
URL to the privacy policy for the skill in the locale. |
String |
|
URL to the terms of use for the skill in the locale. |
String |
shoppingKit object
Property | Description | Type |
---|---|---|
|
Set to |
Boolean |
|
Set to |
Boolean |
permissions
An array of named permissions that the skill can use.
permissions
object.Property | 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: |
array |
events
Defines the subscribed events for the skill.
Property | Description | Type |
---|---|---|
|
(Optional) List of proactive event names. |
Array of |
|
List of events to which the skill subscribes. |
Array of objects |
|
Name of the event. |
String |
|
Default endpoint for events. |
|
|
List of supported regions. If included, overrides the default endpoint. If not included, the default endpoint is used for events. |
Array of |
apis
An array of
Property | Description | Type |
---|---|---|
<api-type> | See API enumeration | enum |
custom
Property | Description | Type |
---|---|---|
endpoint | Sets the global default endpoint, which can be overridden on a region-by-region basis. | Endpoint object |
regions | List of supported regions. | Array of Region objects |
interfaces | List of supported interfaces | Array of Interface objects |
tasks | Contains an array of the supported skill connection tasks. See the list of tasks at Supported skill connection tasks | Array of objects |
smartHome
Property | Description | Type |
---|---|---|
endpoint | Amazon Resource Name (ARN) for the smartHome Lambda function. | Endpoint object |
regions | List of supported regions | Array of Region objects |
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 |
flashBriefing
Property | 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
, nl-NL
, and pt-BR
.
Property | Description | Type |
---|---|---|
<locale> | Locale String | Object |
Property | Description | Type |
---|---|---|
customErrorMessage | Customized error message if the flash briefing is unavailable | String |
feeds | Object containing an array of feeds | Object |
feeds
Property | 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 Alexa Skills Store. | String |
contentType | See ContentType enumeration | enum |
url | URL of the content of the feed. | String |
music
See Example music and radio skill manifest.
video
Property | 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 Region objects |
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
.
Property | Description | Type |
---|---|---|
<country> | Country String | Object |
Property | Description | Type |
---|---|---|
catalogInformation | Contains an array of the supported Catalog Types and their values. | Array of objects |
catalogInformation
Property | 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
, nl-NL
, and pt-BR
.
Property | Description | Type |
---|---|---|
<locale> | Locale String | Object |
Property | Description | Type |
---|---|---|
videoProviderTargetingNames | List of names. | Array |
features | List of features, applicable to video skills for multimodal devices. | Array of objects |
features
This is only applicable to video skills for multimodal devices.
Property | 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.
Property | 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 |
Object definitions
Endpoint
The Endpoint
object describes the default global endpoint.
Property | Description | Type |
---|---|---|
|
Amazon Resource Name (ARN) of the Lambda function, or the HTTPS URL for a custom endpoint. |
String |
|
(Optional) SSL certificate type for the HTTPS endpoint. |
String |
Interface object
The Interface
object defines supported interfaces for custom skills.
Property | Description | Type |
---|---|---|
|
Supported interface. |
String |
Region object
The Region
object defines supported regions and their endpoints.
Property | Description | Type |
---|---|---|
|
Two-letter code for the geographic region.
Valid values: |
String |
|
Endpoint for the region. |
Endpoint object |
Enumerations definitions
API enumeration
This enumeration provides values for the api names.
Enum Values |
---|
custom |
flashBriefing |
health |
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_LIFE_SKILLS |
CHILDRENS_MEDITATION_AND_MINDFULNESS |
CHILDRENS_MOVEMENT_AND_ACTIVITY |
CHILDRENS_MUSIC_AND_AUDIO |
CHILDRENS_NOVELTY_AND_HUMOR |
COMMUNICATION |
CONNECTED_CAR |
COOKING_AND_RECIPE |
CURRENCY_GUIDES_AND_CONVERTERS |
DATING |
DELIVERY_AND_TAKEOUT |
DEVICE_TRACKING |
DIET_AND_NUTRITION |
EDUCATION_AND_REFERENCE |
EVENT_FINDERS |
EXERCISE_AND_WORKOUT |
FASHION_AND_STYLE |
FLIGHT_FINDERS |
FRIENDS_AND_FAMILY |
GAME_INFO_AND_ACCESSORY |
GAMES |
HEALTH_INFORMATION_AND_HELP |
HEALTH_TRACKERS_AND_REMINDERS |
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 |
Last updated: Aug 07, 2024