Get Started with SMAPI
The Alexa Skill Management API (SMAPI) provides RESTful HTTP interfaces for programmatically performing Alexa skill management tasks, such as creating a new skill or updating an interaction model. The API authenticates the caller through Login with Amazon, allowing any developer to build tools or services that can create and update Alexa skills on behalf of their users. ASK CLI is one of such tools.
The authentication scheme for the Skill Management API is optimized for the case where the developer delegates API access permissions to a tool or service.
Alexa skill management API
If you're building your own tool or service to integrate with the API, you must implement OAuth 2.0 integration with Login with Amazon to request your users' authorization and retrieve access tokens used to call the Skill Management API. The API requires the
authorization code grant type. For details about how to get an access token, and the OAuth scopes that your tool can request, see Get an Access Token for SMAPI.
The API's root endpoint is
You must provide the access token retrieved from Login with Amazon in the
Authorization header in each REST API request.
REST APIs for skill management
Use the SMAPI REST API to perform skill-related operations:
- Alexa-hosted Skill Management
- Intent Request History
- Interaction Model Catalog Management
- Interaction Model Management
- Locale Cloning
- Resource Schema
- Skill Certification
- Skill Credentials
- Skill Enablement
- Skill Invocation
- Skill Manifest
- Skill Messaging
- Skill Package Management
- Skill Publishing
- Skill Rollback
- Skill Simulation
- Skill Validation
- Utterance Conflict Detection API Reference
- Utterance Profiler REST API Reference
- Vendor Management
REST APIs for skill testing
Use the following SMAPI REST APIs to test your skill programmatically:
- Natural Language Understanding Annotation Set
- Natural Language Understanding Evaluation
- Utterance Profiler – Test user utterances and improve your skill's interaction model.
- Skill Invocation – Invoke your skill for testing purposes.
- Skill Simulation – Simulate your skill code for testing purposes.
- Skill Validation – Validate your skill before submitting it for certification, or at any time during development as regression testing.
- Beta Test Management – Set up skill beta testing for a limited audience before you release an Alexa skill for production.
- Beta Tester Management – Invite participants to beta test your Alexa skill.
When you manage Alexa skills with ASK CLI or SMAPI, you need the JSON format to represent each resource.
For details, see the following references:
The SMAPI SDK, available for Node.js, Python, and Java, is one way to get started with SMAPI. With the SMAPI SDK, you can use any of the Skill Management APIs to programmatically manage your skills. To learn how to get started, see the following references: