Home > Alexa > Alexa Skills Kit

Alexa Skills Kit Command-Line Interface and Alexa Skill Management API Overview

Alexa Skills Kit Command-Line Interface and Alexa Skill Management API Overview

The Alexa Skills Kit Command-Line Interface (ASK CLI) is a tool by which developers can manage their Alexa skills and related resources such as interaction models and account linking from the command line. It can be used interactively, in scripts, or can be plugged into any build system or continuous integration or continuous development product that supports command-line execution steps. It performs skill management actions by calling the Skill Management API (SMAPI) under the hood. ASK CLI can be used to create, read, update, and test Alexa skills and connected AWS Lambda functions, as well as to submit skills for certification or withdraw them.

The Alexa Skill Management API 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 to a tool or service.

Alexa Skills Kit Command-Line Interface (ASK CLI)

ASK CLI is downloadable via npm.

See Alexa Command-Line Interface Quick Start to get started with ASK CLI. The ASK CLI makes it easy to do the following:

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. See the Developer Guide for Login With Amazon. The API requires using the authorization code grant type. The OAuth scopes which your application can request, and the associated permissions, are listed below.

Any third-party tool must consent to the Login With Amazon Services Agreement.

Scope Permissions
alexa::ask:skills:read List the vendor IDs associated with the Amazon developer account
Read skill details (excluding interaction models)). Get skill status. Get list of skills.
alexa::ask:skills:readwrite All alexa::ask:skills:read permissions
Create skills
Update skills
Read and update account linking info for skills, Submit and withdraw skills.
alexa::ask:models:read Read interaction models
Get build status for interaction models
alexa::ask:models:readwrite All alexa::ask:models:read permissions
Update interaction models
alexa::ask:skills:test Skill testing–invoke a skill, submit a simulatino request, get simulation status

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

To use the Skill Management API, see the following:

Object Schemas

When you manage Alexa skills with ASK CLI or the API, you need the JSON format for representing each resource.