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.

API endpoint

The API's root endpoint is https://api.amazonalexa.com. 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:

REST APIs for skill testing

Use the following SMAPI REST APIs to test your skill programmatically:

Object schemas

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:

SMAPI SDK

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: