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.
SMAPI, the Skill Management API, can be used to perform a number of skill-related operations. These include:
- Account Linking Management
- Interaction Model Management
- Knowledge Skills
- Skill Certification
- Skill Development Notifications
- Skill Enablement
- Skill Invocation
- Skill Management
- Skill Simulation
- Skill Testing
- Skill Validation
- Smart Home Evaluation
- Vendor Management
Alexa Skill Management API
If you are building your own tool or service to integrate with the API, you will need to 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 using the
authorization code grant type. For details about how to get an access token, and the OAuth scopes that your application can request, see Get an Access Token for SMAPI.
The API's root endpoint is
https://api.amazonalexa.com, and the paths shown in each of the API operations below need to be concatenated to the root.
The access token retrieved from Login with Amazon must be provided in the
Authorization header in each request.
When you manage Alexa skills with ASK CLI or SMAPI, you need the JSON format for representing each resource.
The SMAPI SDK, available for Node.js, Python, and Java, is one way to get started using SMAPI. With the SMAPI SDK, you can use any of the Skill Management APIs to programmatically manage your skills. Learn how to get started by reviewing the following: