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.

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 Object
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, 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

allowsPurchases

Set to true to indicate that purchases can be made from this skill; otherwise, set to false.

Boolean

usesPersonalInfo

Set to true to indicate that your skill uses customer personal information; otherwise, set to false.

Boolean

isChildDirected

Set to true to indicate that your skill is directed at children under 13; otherwise, set to 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

Set to true to indicate that your skill can be exported to any country/region; otherwise, set to false.

Boolean

containsAds

Set to true to indicate that your skill delivers advertising; otherwise, set to false.
If your skill delivers advertising, you must include a privacyPolicyUrl in the locales object for each supported locale.

Boolean

locales

Object that defines the supported locale.

Object

shoppingKit

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 fieldCorresponding 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?
usesPersonalInfoDoes 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?

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.
isExportCompliantCheckbox: 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.privacyPolicyUrlPrivacy 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, and pt-BR.

Field Description Type

privacyPolicyUrl

URL to the privacy policy for the skill in the locale.

String

termsOfUseUrl

URL to the terms of use for the skill in the locale.

String

shoppingKit object

Property Description Type

isShoppingActionsEnabled

Set to true to indicate that Alexa Shopping actions are implemented in this skill; otherwise, set to false.

Boolean

isAmazonAssociatesOnAlexaEnabled

Set to true to indicate your skill attributes product recommendations to the Amazon Associates on Alexa program; otherwise, set to false.

Boolean

permissions

An array of named permissions that the skill can use.

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:

  • alexa::alerts:reminders:skill:readwrite – Read/write reminder alerts.

  • alexa:devices:all:address:country_and_postal_code:read – Read the user's country or region and postal code.

  • alexa::devices:all:geolocation:read – Read location services.

  • alexa::devices:all:address:full:read – Read the user's full address.

  • alexa::devices:all:notifications:write – Write to the user's Alexa notifications.

  • alexa::devices:app:push_notifications – Send push notifications to the user's mobile phone.

  • alexa::household:lists:read – Read the user's Alexa lists.

  • alexa::household:lists:write – Write to the user's Alexa lists.

  • alexa::persistent_unit_id::read – Read the persistentUnitId value. Only valid for Alexa Smart Properties for hospitality and Alexa Smart Properties for residential.

  • alexa::persistent_endpoint_id::read – Read the persistentEndpointID value. Only valid for Alexa Smart Properties for hospitality and Alexa Smart Properties for residential.

  • 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

Property 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 and sslCertificateType properties. The uri Property sets the global default endpoint for events. Object
regions Contains an array of the supported <region> Objects. Array of Object

See Skill Events and List Events.

endpoint

Sets the global default endpoint for events.

Property Description Type
uri The Amazon Resource Name (ARN) of the Lambda function, or the HTTPS URL for a custom endpoint. String
sslCertificateType 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> objects.

Property Description Type
<region> Two-letter code for the geographic region such as NA/EU/FE enum
Property Description Type
endpoint Contains the uri Property. 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.

Property 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 aren't supported.

Property Description Type
<api-type> See API enumeration enum

regions

An array of <region> properties.

Property Description Type
<region> Two-letter code for the geographic region such as NA/EU/FE. enum
Property Description Type
endpoint Contains the uri Property. Object
requests

Contains an array of name objects.

Property Description Type
name One of Search, Create, Update enum

custom

Property Description Type
endpoint Contains the uri and sslCertificateType properties. 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.

Property 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> properties.

Property Description Type
<region> Two-letter code for the geographic region such as NA/EU/FE. enum
Property Description Type
endpoint Contains the uri and sslCertificate properties. Object
endpoint

Sets the region-specific override endpoint, as compared to apis.custom.endpoint, which sets the global default endpoint.

Property 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.

Property Description Type
type See customInterface enumeration. enum

smartHome

Property Description Type
endpoint Contains the uri Property. 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.

Property Description Type
uri Amazon Resource Name (ARN) for the skill's smartHome Lambda function. String

regions

An array of <region> properties.

Property Description Type
<region> Two-letter code for the geographic region such as NA/EU/FE enum
Property Description Type
endpoint Contains the uri Property. Object
endpoint

Sets the region-specific override endpoint, as compared to apis.smartHome.endpoint, which sets the global default endpoint.

Property Description Type
uri Amazon Resource Name (ARN) for the skill's smartHome Lambda function 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, 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

householdList

Empty Object.

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 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.

Property Description Type
<country> Country String Object
Property Description Type
catalogInformation Contains an array of the supported Catalog Types and their values. Array of Object

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, 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 Object

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

regions

An array of <region> properties.

Property Description Type
<region> Two-letter code for the geographic region such as NA/EU/FE enum
Property Description Type
endpoint Contains the uri Property. Object
endpoint

Sets the region-specific endpoint.

Property 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
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_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

Was this page helpful?

Last updated: Mar 13, 2024