Test and Submit Your Skill for Certification
Use the Certification page to verify that your skill is ready, then submit it for certification.
- Validate and test your skill
- Run the functional tests for your skill
- Review the submission checklists
- Submit the skill
- Revise and update your skill after publication
- Hide or remove a skill (skill suppression)
- Related topics
Validate and test your skill
Navigate to Certification > Validation and click Run.
The Validation section verifies that all required skill store fields are complete.
The tests are run for all locales that your skill supports. Issues are listed by locale.
For a smoother certification process, fix any issues reported by the tests.
Run the functional tests for your skill
The Functional test section is available for all skills except Music skills. This section performs a set of pre-certification tests on your skill. These tests provide immediate feedback for common certification failures. These tests send requests to your skill's endpoint. To do these tests, navigate to Certification > Functional Test and click Run. You cannot run the functional tests if the Validation tests report any errors.
You can start the functional tests and then navigate away from the page. Return to the page to check the status and test results.
For a smoother certification process, fix any issues reported by the functional tests. Tests are run for all locales that your skill supports. Issues are listed by locale.
The functional tests are also automatically run when you submit your skill.
Review the submission checklists
The Validation section can help you find issues that would cause your skill to fail certification. However, this does not do the full set of testing performed as part of certification. To ensure your skill passes certification, review the relevant submission checklists for your skill's interaction model and use of any special features:
- Certification Requirements for Custom Skills
- Flash Briefing Skill Certification Checklist
- Smart Home Skill Publishing Guide
- Music Skill Testing Guide
- Video Skill Testing Guide
- Certification Guide for List Skills
- Echo Button Skill Functional Tests
- In-Skill Purchase Certification Guide
- Certify your Skill with Amazon Pay
- Policy Testing for an Alexa Skill
- Security Testing for an Alexa Skill
- Requirements for Skills that Allow Purchases
Submit the skill
When you are ready to submit the skill, navigate to Certification > Submission. If the skill passes the validation tests, you can click Submit for review to submit the skill.
After you submit the skill, it shows "In Review" in the Status column on the list of skills. While it's in the certification process, you cannot make any changes to the configuration. If you change your mind, you can select the skill, then click the Withdraw from review button.
After Amazon completes the certification review, you will receive an email at the address associated with your Amazon developer account:
- If the skill has been certified, the email will provide an estimate for when it will become available to end users.
- If the skill could not be certified, the email provides information about the issues you need to correct. You can make any necessary changes and then re-submit.
You can navigate to Certification > Submission at any time to view the status of your skill and any updates from the certification review process. The Certification Updates section shows the date and time when certification results should be available, as shown in the following image.
For skills that pass the certification review, this page shows the Skill Status is Live and includes a list of countries where the skill is available. Some skills that pass the certification review are not available in all countries. For more information, see Content Ratings.
For information about using ASK CLI, see the list-certifications and get-certification commands.
For information about using SMAPI, see the GET certifications and GET certificationId APIs.
The current publication status for a skill is displayed in the developer console on your list of skills, in the Status column.
stageparameter value of
livein some commands and API calls. This table lists the corresponding
stagevalue for each publication status.
The skill is available to you and any potential beta testers that you have added to skill beta testing. If you have enabled your skill for testing, then a user can invoke your skill on any devices registered to your developer account, or on any devices registered to your beta testers' accounts. For more information, see Skill Beta Testing for Alexa Skills.
|In Certification||Amazon is currently reviewing the skill for publication. During this time, you cannot edit the configuration.||
|Live||The skill has been published and is available to users. You cannot edit the configuration for live skills. To start development on an updated version, make your changes on the development version instead.||
|Hidden||The skill was previously published, but has since been hidden. Customers who enabled the skill before it was hidden can continue to use the skill. The skill is no longer available when customers search or browse the skill store.||
|Removed||The skill was previously published, but has since been removed. Customers cannot enable or use the skill.||
You can re-submit a Hidden or Removed skill.
Revise and update your skill after publication
Once your skill is published to end users, your skill's status changes to live. You cannot change the configuration for a live skill. Since any changes to the skill configuration would require recertification, a new development version is automatically created in the developer console. This version has the same information as the original live version. You can use it to continue to work on your skill to improve it and add features.
The live and development versions are displayed together in the list of skills.
You can work on the new version independently of the original. For instance, for a custom skill, you can add more intents and sample utterances to the interaction model. If you make code changes in your service, you should use a different endpoint or Lambda function to test those changes so you do not disrupt users who are using the live version.
When you submit your new version for certification, both versions remain in your list until the new version is certified. Once the new version is certified, it becomes live and replaces the previous live version. A new development version is then created so that you can continue making updates.
For a better user experience, maintain backward compatibility with the previous version of your skill. For example, if you add new intents, continue to support the previous intents that users are already using.
Hide or remove a skill (skill suppression)
You can suppress a live skill from the developer console. When you suppress a skill, customers can no longer enable it. Suppression applies to the skill in all locales. You cannot suppress a skill in some locales and keep it available to users in others.
There are two types of skill suppression:
- Hide – The skill remains active for customers who previously enabled it. The skill is no longer available when customers search or browse the skill store.
- Remove – The skill is disabled for all customers, including those who had previously enabled it. Customers cannot enable or use the skill.
When you hide or remove a skill, the skill is not deleted and you can still see it in the developer console. Both the suppressed and development versions are displayed in the console. You can continue to make changes to the development version.
To re-publish the skill later, update the development version and re-submit for certification. Re-submitting starts a new certification process.
To hide or remove a skill:
- Open the developer console.
- Find the existing live skill in the list.
- In the Actions column, click Hide or Remove.
- When prompted, select a reason for the skill suppression, then click Hide or Remove.
This sends a request to hide or remove the skill. The suppression may take a few days to complete. Once the skill is suppressed, the updated status is displayed for the skill in the list of skills.
The developer console: