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.
- 3/14/2018 - AVS will require all Alexa-enabled devices and applications to support certificates vended from Amazon Trust Service (ATS) by June 15, 2018. Learn more »
- 2/2/2018 -
StreamingEndedwere added to the Bluetooth interface. These events are sent to notify Alexa of streaming state changes. See Manage Bluetooth Streaming State »
- 1/31/2018 - AVS is now available in Australia and New Zealand. Read more »
- 1/30/2018 - AVS is introducing two changes that may require updates to your product’s client code: 1) Cloud-based wake word verification is now required for all voice-initiated products; 2) the initiator type in ExpectSpeech directives has changed from a string to an object. Read more »
- 12/6/2017 - Additional guidance added to documentation for the
- 12/6/2017 - Updated BluetoothState to clarify the streaming state transition from INACTIVE to ACTIVE.
- 11/8/2017 - Documentation is now available in Japanese. Use the language toggle at the bottom of this page to test. The service is available for development starting 11/15/2017. Learn more »
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.
The following pages provide information to help you manage a connection and structure requests.
AVS exposes an HTTP/2 service and expects multipart messages encoded for HTTP/2. The following endpoints are supported:
|Asia||Australia, Japan, New Zealand||
|Europe||Austria, Germany, India, UK||
|North America||Canada, US||
Each interface is a collection of directives and events, which correspond to specific client-side functionality. Use the table below to explore:
|SpeechRecognizer||The core interface for the Alexa Voice Service. Each user utterance leverages the Recognize event.|
|SpeechSynthesizer||The interface that returns Alexa TTS.|
|Alerts||The interface for setting, stopping, and deleting timers and alarms. For a conceptual overview, see Alerts Overview.|
|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.|
|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.|
|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.|
Amazon regularly updates the AVS API with new features, performance enhancements, and bug fixes to offer the best experience to Alexa users. These changes may result in the transmission of new directives or new properties in the JSON, while maintaining backward compatibility for existing directives and properties. For additional information, see Interaction Model.
The following list includes the current version, previous version, and migration guide.
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.