Skill Manifest Schemas, v0


The skill manifest is the JSON representation of your skill, and provides Alexa with all of the metadata required. The interaction model and account linking schemas, if used, are separate.

All images referenced in a skill manifest must be in PNG format.

See also: Alexa Skills Kit Command Line Interface (ASK CLI) Overview and Skill Operations

Sample Skill Manifests

Choose the skill manifest for your skill type. For each skill type, ensure that a skill developer considers the privacy and compliance requirements.

Custom Skill Manifest

{
  "skillManifest": {
    "publishingInformation": {
      "locales": {
        "en-US": {
          "summary": "This is a sample Alexa custom skill.",
          "examplePhrases": [
            "Alexa, open sample custom skill.",
            "Alexa, play sample custom skill."
          ],
          "keywords": [
            "Descriptive_Phrase_1",
            "Descriptive_Phrase_2",
            "Descriptive_Phrase_3"
          ],
          "smallIconUri": "https://smallUri.com",
          "largeIconUri": "https://largeUri.com",
          "name": "Sample custom skill name.",
          "description": "This skill does interesting things."
        }
      },
      "isAvailableWorldwide": false,
      "testingInstructions": "1) Say 'Alexa, hello world'",
      "category": "HEALTH_AND_FITNESS",
      "distributionCountries": [
        "US",
        "GB",
        "DE"
      ]
    },
    "apis": {
      "custom": {
        "endpoint": {
          "uri": "arn:aws:lambda:us-east-1:040623927470:function:sampleSkill"
        },
        "regions": {
          "NA": {
            "endpoint": {
              "sslCertificateType": "Trusted",
              "uri": "https://customapi.sampleskill.com"
            }
          }
        }
      }
    },
    "manifestVersion": "1.0",
    "permissions": [
      {
        "name": "alexa::devices:all:address:full:read"
      },
      {
        "name": "alexa:devices:all:address:country_and_postal_code:read"
      }
    ],
    "privacyAndCompliance": {
      "allowsPurchases": false,
      "usesPersonalInfo": false,
      "isChildDirected": false,
      "isExportCompliant": true,
      "containsAds": false,
      "locales": {
        "en-US": {
          "privacyPolicyUrl": "http://www.myprivacypolicy.sampleskill.com",
          "termsOfUseUrl": "http://www.termsofuse.sampleskill.com"
        }
      }
    },
    "events": {
      "endpoint": {
        "uri": "arn:aws:lambda:us-east-1:040623927470:function:sampleSkill"
      },
      "subscriptions": [
        {
          "eventName": "SKILL_ENABLED"
        },
        {
          "eventName": "SKILL_DISABLED"
        },
        {
          "eventName": "SKILL_PERMISSION_ACCEPTED"
        },
        {
          "eventName": "SKILL_PERMISSION_CHANGED"
        },
        {
          "eventName": "SKILL_ACCOUNT_LINKED"
        }
      ],
      "regions": {
        "NA": {
          "endpoint": {
            "uri": "arn:aws:lambda:us-east-1:040623927470:function:sampleSkill"
          }
        }
      }
    }
  }
}

Smart Home Skill Manifest

{
  "skillManifest": {
    "manifestVersion": "1.0",
    "publishingInformation": {
      "locales": {
        "en-US": {
          "name": "Sample skill name.",
          "summary": "This is a sample Alexa skill.",
          "description": "This skill has basic and advanced smart devices control features.",
          "smallIconUri": "https://smallUri.com",
          "largeIconUri": "https://largeUri.com",
          "examplePhrases": [
            "Alexa, open sample skill.",
            "Alexa, blink kitchen lights."
          ],
          "keywords": [
            "Smart Home",
            "Lights",
            "Smart Devices"
          ]
        }
      },
      "distributionCountries": [
        "US",
        "GB",
        "DE"
      ],
      "isAvailableWorldwide": false,
      "testingInstructions": "1) Say 'Alexa, turn on sample lights'",
      "category": "SMART_HOME"
    },
    "privacyAndCompliance": {
      "allowsPurchases": false,
      "usesPersonalInfo": false,
      "isChildDirected": false,
      "isExportCompliant": true,
      "containsAds": false,
      "locales": {
        "en-US": {
          "privacyPolicyUrl": "http://www.myprivacypolicy.sampleskill.com",
          "termsOfUseUrl": "http://www.termsofuse.sampleskill.com"
        }
      }
    },
    "apis": {
      "smartHome": {
        "endpoint": {
          "uri": "arn:aws:lambda:us-east-1:040623927470:function:sampleSkill"
        },
        "regions": {
          "NA": {
            "endpoint": {
              "uri": "arn:aws:lambda:us-west-2:010623927470:function:sampleSkillWest"
            }
          }
        }
      }
    }
  }
}

Flash Briefing Skill Manifest

{
  "skillManifest": {
    "manifestVersion": "1.0",
    "publishingInformation": {
      "locales": {
        "en-US": {
          "name": "Sample skill name.",
          "summary": "This is a sample Alexa skill.",
          "description": "This skill has basic and advanced features.",
          "smallIconUri": "https://smallUri.com",
          "largeIconUri": "https://largeUri.com",
          "examplePhrases": [],
          "keywords": [
            "Flash Briefing",
            "News",
            "Happenings"
          ]
        }
      },
      "distributionCountries": [
        "US",
        "GB",
        "DE"
      ],
      "isAvailableWorldwide": false,
      "testingInstructions": "1) Say 'Alexa, hello world'",
      "category": "HEALTH_AND_FITNESS"
    },
    "privacyAndCompliance": {
      "allowsPurchases": false,
      "usesPersonalInfo": false,
      "isChildDirected": false,
      "isExportCompliant": true,
	  "containsAds": false,
      "locales": {
        "en-US": {
          "privacyPolicyUrl": "http://www.myprivacypolicy.sampleskill.com",
          "termsOfUseUrl": "http://www.termsofuse.sampleskill.com"
        }
      }
    },
    "apis": {
      "flashBriefing": {
        "locales": {
          "en-US": {
            "customErrorMessage": "Error message",
            "feeds": [
              {
                "name": "feed name",
                "isDefault": true,
                "vuiPreamble": "In this skill",
                "updateFrequency": "HOURLY",
                "genre": "POLITICS",
                "imageUri": "https://fburi.com",
                "contentType": "TEXT",
                "url": "https://feeds.sampleskill.com/feedX"
              }
            ]
          }
        }
      }
    }
  }
}

Video Skill Manifest

{
  "skillManifest": {
    "publishingInformation": {
      "locales": {
        "en-US": {
          "summary": "This is a sample Alexa skill.",
          "examplePhrases": [
            "Alexa, tune to channel 206",
            "Alexa, search for comedy movies",
            "Alexa, pause."
          ],
          "keywords": [
            "Video",
            "TV"
          ],
          "name": "VideoSampleSkill",
          "smallIconUri": "https://smallUri.com",
          "largeIconUri": "https://smallUri.com",
          "description": "This skill has video control features."
        }
      },
      "isAvailableWorldwide": false,
      "testingInstructions": "",
      "category": "SMART_HOME",
      "distributionCountries": [
        "US",
        "GB",
        "DE"
      ]
    },
    "apis": {
      "video": {
        "locales": {
          "en-US": {
            "videoProviderTargetingNames": [
              "TV provider"
            ],
            "catalogInformation": [
              {
                "sourceId": "1234",
                "type": "FIRE_TV"
              }
            ]
          }
        },
        "endpoint": {
          "uri": "arn:aws:lambda:us-east-1:452493640596:function:sampleSkill"
        },
        "regions": {
          "NA": {
            "endpoint": {
              "uri": "arn:aws:lambda:us-east-1:452493640596:function:sampleSkill"
            },
            "upchannel": [
              {
                "uri": "arn:aws:sns:us-east-1:291420629295:sampleSkill",
                "type": "SNS"
              }
            ]
          }
        }
      }
    },
    "manifestVersion": "1.0",
    "privacyAndCompliance": {
      "allowsPurchases": false,
      "locales": {
        "en-US": {
          "termsOfUseUrl": "http://www.termsofuse.sampleskill.com",
          "privacyPolicyUrl": "http://www.myprivacypolicy.sampleskill.com"
        }
      },
      "isExportCompliant": true,
      "isChildDirected": false,
      "usesPersonalInfo": false,
      "containsAds": false
    }
  }
}


publishingInformation object

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. string array
isAvailableWorldwide true to indicate the skill is available worldwide; 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 for testing 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. string

publishingInformation.locales object

For each supported locale, include an object with the appropriate locale string. Supported values include: en-US, en-GB, en-IN, en-CA, en-AU, de-DE, and ja-JP.

Field Description Type
<locale> Locale string object

publishingInformation.locales.<locale> object

Field Description Type
summary Summary description of the skill, which is shown when viewing the list of skills. string
description A full description explaining the skill's core functionality 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 URL to a small icon for the skill, which is shown in the list of skills. (108x108px) string
largeIconUri URL to a large icon that represents this skill. (512x512px) 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

privacyAndCompliance object

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 Contains <locale>` objects, which each contain the privacy and terms of use URLs 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 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? 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.
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.

privacyAndCompliance.locales object

For each supported locale, include an object with the appropriate locale string. Supported values include: en-US, en-GB, en-IN, en-CA, en-AU, de-DE, and ja-JP.

Field Description Type
<locale> Locale string object

privacyAndCompliance.locales.<locale> object

<locale> has a value of a supported locale.

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 object

An array of named permissions which the skill can use. A flash briefing skill cannot include a permissions object.

FieldDescriptionType
nameContains an array of permissions, which may contain some or all of these:
alexa::devices:all:address:full:read (read the customer's full address entered from the Alexa app settings)
alexa:devices:all:address:country_and_postal_code:read (read the customer's country/region and postal code entered from the Alexa app settings)
array

events object

Field Description Type
subscriptions Contains an array of eventName objects, each of which contains the name of a skill event array
endpoint Contains the uri field. This sets the global default endpoint for events. Object
regions Contains an array of the supported <region> objects array

See Skill Events.

events.endpoint object

Sets the global default endpoint for events.

Field Description Type
uri Amazon Resource Name (ARN) for the skill's custom Lambda function or HTTPS URL string

events.regions object

An array of <region> fields.

Field Description Type
<region> Two-letter code for the geographic region such as NA, EU, or FE enum

events.regions.<region> object

Field Description Type
endpoint Contains the uri and sslCertificate fields. object
events.regions.<region>.endpoint object

Sets the region-specific override endpoint, as compared to events.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

apis object

Array of objects. Some combinations of objects are not supported.

Field Description Type
<api-type> Includes custom, smartHome, flashBriefing enum

apis.custom object

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
interfaces Contains an array of the supported interfaces array

apis.custom.endpoint object

Sets the global default endpoint.

Field Description Type
uri Amazon Resource Name (ARN) for the skill's custom Lambda function or HTTPS URL string

apis.custom.regions object

An array of <region> fields.

Field Description Type
<region> Two-letter code for the geographic region such as NA or EU enum
apis.custom.regions.<region> object
Field Description Type
endpoint Contains the uri and sslCertificate fields. object

apis.custom.regions.<region>.endpoint object

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. Can be Trusted, Wildcard, or SelfSigned. Only valid for HTTPS endpoints, not for AWS Lambda ARN. enum

apis.custom.interfaces object

An array of interfaces supported by the skill.

Field Description Type
type Includes AUDIO_PLAYER, VIDEO_APP, RENDER_TEMPLATE. enum

api.smartHome object

Field Description Type
endpoint Contains the uri field object
regions Contains an array of the supported <region> objects array

apis.smartHome.endpoint object

Sets the global default endpoint.

Field Description Type
uri Amazon Resource Name (ARN) for the skill's smartHome Lambda function or HTTPS URL. string

apis.smartHome.regions object

An array of <region> fields.

Field Description Type
<region> Two-letter code for the geographic region such as NA or EU enum
apis.smartHome.regions.<region> object
Field Description Type
endpoint Contains the uri field. object

apis.custom.regions.<region>.endpoint object

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 or HTTPS URL string
sslCertificateType The SSL certificate type for the skill's HTTPS endpoint. Can be Trusted or Wildcard. Only valid for HTTPS endpoints, not for AWS Lambda ARN. enum

apis.flashBriefing object

Field Description Type
locales Object that contains <locale> objects for each supported locale. object

apis.flashBriefing.locales object

For each supported locale, include an object with the appropriate locale string. Supported values include: en-US, en-GB, en-IN, en-CA, en-AU, de-DE, and ja-JP.

Field Description Type
<locale> Locale string object
apis.flashBriefing.locales.<locale> object
Field Description Type
customErrorMessage Customized error message if the flash briefing is unavailable string
feeds Object containing an array of feeds object

apis.flashBriefing.locales.<locale>.feeds object

Array of named feeds. Items in this object are the same as the fields you complete in the developer portal when adding a feed to a flash briefing skill.

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

apis.video object

    "locales": {
      "en-US": {
        "videoProviderTargetingNames": [
          "hsv TV"
        ]
      }
    },
    "regions": {
      "NA": {
        "endpoint": {
          "uri": "arn:aws:lambda:us-east-1:045513644327:function:sampleskill"
        },
        "upchannel": [
          {
            "type": "SNS",
            "uri": "arn:aws:sns:us-east-1:291420629295:sampleskill"
          }
        ]
      }

apis.video.locales object

For each supported locale, include an object with the appropriate locale string. Supported values include: en-US, en-GB, en-IN, en-CA, en-AU, de-DE, and ja-JP.

Field Description Type
<locale> Locale string object
apis.video.locales.<locale> object
Field Description Type
videoProviderTargetingNames List of names array

apis.video.regions object

An array of <region> fields.

Field Description Type
<region> Two-letter code for the geographic region such as NA or EU enum
apis.video.regions.<region> object
Field Description Type
endpoint Contains the uri field. object
upchannel The channel through which the partner skill can communicate to Alexa object

apis.video.regions.<region>.endpoint object

Sets the region-specific endpoint.

Field Description Type
uri Amazon Resource Name (ARN) for the skill's video AWS Lambda function or HTTPS URL string

apis.video.regions.<region>.upchannel object

Sets the endpoint through which the partner skill can communicate to Alexa.

Field Description Type
type Use "SNS" for this field string
uri SNS Amazon Resource Name (ARN) for video skill through which video partner can send events to Alexa string

Enumerations and Values

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.

ContentFeedType 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

Was this page helpful?

Last updated: Jul 15, 2024