Alexa Voice Service Overview (v20160207)

The Alexa Voice Service (AVS) allows developers to voice-enable connected products with a microphone and speaker. Once integrated, your product will have access to the built in capabilities of Alexa (like music playback, timers and alarms, package tracking, movie listings, calendar management, and more) and third-party skills developed using the Alexa Skills Kit.

AVS is comprised of interfaces that correspond to client-functionality, like speech recognition, audio playback, and volume control. Each interface contains logically grouped messages called directives and events. Directives are messages sent from the cloud instructing your client to take action. Events are messages sent from your client to the cloud notifying Alexa something has occurred.

The API uses Login with Amazon (LWA) for product authorization and exposes an HTTP/2 endpoint.

What's New?

For a complete list of documentation changes and updates, visit our documentation changelog.

11/07/2018

  • AVS is now available in Mexico. Read the blog.
  • The AVS Hosted Splash Screen is now available. See our announcement on the Alexa Blogs. You'll need to request the new alexa:voice_service:preauth scope and the alexa:all scope when using Login with Amazon (LWA) to register a new customer (and remove your existing splash screen if applicable). The AVS Hosted Splash screen will then be deployed automatically to the device that creates a LWA request in the companion app. See our reference documentation and UX guidance for more details.
  • Display cards are now required for TVs, Tablets, and Set-top boxes. This change is reflected in Section 7 of the Functional Requirements.

10/24/2018

8/28/2018

7/23/2018

7/9/2018

6/5/2018

5/8/2018

  • The Supported Countries API allows a client to retrieve a list of countries or regions where Alexa is available. Learn more »

Authorization

To access the AVS API your product needs to obtain a Login with Amazon (LWA) access token, which grants a product access to call the API on a customer's behalf. There are multiple ways to authorize a product:

Remote Authorization is used to authorize devices with a companion website or mobile app. Typically, remote authorization is used with headless devices, like a smart speaker.

Local Authorization is used to authorize Alexa from the AVS-enabled product. Typically, local authorization is used with Android and iOS applications.

Code Based Linking is an authorization method optimal for products with limited or no access to character input, such as a television or smart watch.

Capabilities

AVS expects each product to report the interfaces and interface versions that it supports on first boot (out-of-box experience), and whenever an over-the-air (OTA) update is applied. Click here to learn more about the Capabilities API and how interfaces are versioned.

Transport Protocol

The following pages provide information to help you manage a connection and structure requests.

Endpoints

AVS exposes an HTTP/2 service and expects multipart messages encoded for HTTP/2. The following endpoints are supported:

Region Supported Countries/Regions URL
Asia Australia, Japan, New Zealand https://avs-alexa-fe.amazon.com
Europe Austria, France, Germany, India, Italy, Spain, United Kingdom https://avs-alexa-eu.amazon.com
North America Canada, United States https://avs-alexa-na.amazon.com

Interfaces

Each interface is a collection of directives and events, which correspond to specific client-side functionality. Use the table below to explore:

Interface Description
Alerts The interface for setting, stopping, and deleting timers and alarms. For a conceptual overview, see Alerts Overview.
AudioActivityTracker The interface that is used to inform Alexa which interface last occupied an audio channel.
AudioPlayer The interface for managing and controlling audio playback that originates from an Alexa-managed queue. For a conceptual overview, see AudioPlayer Overview.
Bluetooth (Developer Preview) The interface for managing connections with peer Bluetooth devices, such as smart phones and speakers.
EqualizerController This interface allows a product to adjust equalizer settings using Alexa, such as decibel (dB) levels and modes.
InputController This interface enables selecting and switching inputs on an Alexa-enabled product.
Notifications The interface that delivers visual and audio indicators when notifications are available. For a conceptual overview, see Notifications Overview.
PlaybackController The interface for navigating a playback queue via button presses or GUI affordances.
Settings The interface that is used to manage the Alexa settings on your product, such as locale.
Speaker The interface for controlling the volume of Alexa originated content on your product, including mute and unmute.
SpeechRecognizer The core interface for the Alexa Voice Service. Each user utterance leverages the Recognize event.
SpeechSynthesizer The interface that returns Alexa TTS.
System The interface that is used to send Alexa information about your product.
TemplateRuntime The interface for rendering visual metadata. For a conceptual overview, see Display Cards Overview.
VisualActivityTracker The interface that is used to inform Alexa when content is actively displayed to an end user.

Versioning

Amazon regularly updates the Alexa Voice Service with new features, performance enhancements, and bug fixes to offer the best experience to Alexa users. These changes may result in the incremental versioning of each affected interface individually using a MAJOR.MINOR scheme. To learn more about interface versioning, see Capabilities API.

The AVS API version, currently v20160207, guarantees that directives and events sent from Alexa conform to the same message specification.

Current Version

AVS API v20160207Release NotesDocumentation Changelog

Need Help?

If you have any questions, comments, or encounter issues with the AVS API, please leverage the AVS Knowledge Base and Forum where we will actively monitor and respond to developer feedback and concerns.