Notifications API
Note: This API is only available to registered Alexa for Hospitality partners. See Get Started with Alexa for Hospitality APIs.
You can use the Alexa Notifications REST API to send notifications to your customers. You can specify either of the following notification types:
- Device notification – For headless devices like Amazon Echo Dot, this is a yellow ring and a chime sound. For multimodal devices, it's a banner and a persistent notification indicator.
- Announcement – For headless and multimodal devices, this is a voice announcement. Multimodal devices also display a message on the screen.
Send notifications
Call POST /v3/notifications
to send notifications to customers.
Request format
POST /v3/notifications HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
Request body example
{
"recipients": [
{
"type": "Unit",
"id": "amzn1.alexa.unit.unitId"
}
],
"notification": {
"variants": [
{
"type": "DeviceNotification",
"content": {
"variants": [
{
"type": "SpokenText",
"values": [
{
"locale": "en-US",
"text": "Happy hour is starting now in the pool area!"
}
]
}
]
}
}
]
}
}
Request body parameters
Field | Description | Type | Required |
---|---|---|---|
recipients |
The recipient of the notification. | Array | Yes |
recipients[].type |
Recipient type: Unit . |
Enum | Yes |
recipients[].id |
"The unit ID, in the format amzn1.alexa.unit.did.{id} ." |
Enum | Yes |
notification |
The notification object. | Object | Yes |
notification.variants[].type |
Notification delivery type: DeviceNotification or Announcement . |
Enum | Yes |
notification.variants[].content |
Notification content helps developers specifying different variants of content for spoken and display purposes. | Object | Yes |
notification.variants[].content.variants[] |
The locale-specific notification content to be delivered to the end user. | Array | Yes |
notification.variants[].content.variants[].type |
Type of content. SpokenText , which represents localized text input. |
Enum | Yes |
notification.variants[].content.variants[].values[] |
Content values array. Each element in the array represents localized text input. | Array | Yes |
notification.variants[].content.variants[].values[].locale |
The locale in which the spoken text is rendered, in IETF BCP 47 format. | String | Yes |
notification.variants[].content.variants[].values[].text |
Spoken text in plain text format. | String | Yes |
Response header
HTTP/1.1 202 Accepted
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
Field | Description | Type | Required |
---|---|---|---|
X-Amzn-RequestId |
Unique identifier for the request. If a problem occurs, Amazon can use this value to troubleshoot the problem. | String | No |
Response body
None.
HTTP response codes
Status Code | Name | Description |
---|---|---|
202 | Accepted | The request succeeded. |
400 | Bad Request | The request is malformed or is missing one or more required parameters. |
401 | Unauthorized | The access token is missing, expired, or invalid. |
403 | Forbidden | The user doesn't have permission to perform the operation. |
429 | Too many requests | The request is throttled. |
500 | Internal Server Error | The request couldn't be handled because of an internal service error. |
503 | Service Unavailable | The server is temporarily unavailable. |