Communications REST API Reference
Use the Alexa Communications REST API to create and manage communication profiles for rooms in Alexa Smart Properties (ASP). Use these profiles to enable calling with Alexa-enabled devices between rooms on a property. For more details about the calling add-ons, see Calling with Alexa Smart Properties.
You use the communication profile instead of a unit ID to identify the Alexa-enabled devices in the room. After you create a communication profile for a room, you can add it as a contact in the address book of a different room. For more details, see Address Book REST API Reference.
API endpoint
Based on the country of your organization, set the Host
parameter in the request header to one of the following API endpoints.
Country | Endpoint |
---|---|
CA, US |
|
DE, ES, FR, IT, UK |
|
JP |
|
Authentication
Each API request must have an authorization header whose value is the access token retrieved from Login with Amazon (LWA). For details, see Manage API Access.
Operations
The Communications API supports the following types of operations:
- Manage communication profiles – To support calling, you must create a communications profile for each unit.
- Manage calling settings – Set drop-in preferences for each unit and communication profile and define blocking rules to disable calling between two property units.
Manage communication profiles
Operation | HTTP Method and URI |
---|---|
| |
| |
| |
| |
| |
| |
| |
| |
|
Manage calling settings
Operation | HTTP Method and URI |
---|---|
| |
| |
| |
|
Create communication profile
Create a communication profile to support calling in a unit. The response includes a unique identifier, called a profileId
, for the unit.
You can add the profileId
as a contact in the address book of a different unit.
Optionally, you can provide a name for the profile, which appears as a display name for the unit. When the guest in this unit makes a call, the name displays on the contact's Alexa-enabled devices and Alexa app.
To enable guests in other units to place an inbound call to this unit, add the name for the unit to the address book of other units.
If a profile for the unit already exists, the operation returns the existing profileId
for the unit and updates the profile name, if different from the existing name.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
US |
US, UK, FR, CA, IT, DE, ES, JP |
US, UK, FR, CA, IT, DE, ES, JP |
US |
Request
To create a profile, you make a POST
request to the /v1/communications/profile
resource.
Request path and header example
POST /v1/communications/profile HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Header |
Access token for the customer. |
String |
Yes |
Request body example
{
"entity": {
"type": "UNIT",
"id": "amzn1.alexa.unit.did.101"
},
"name": "Room 101"
}
Request body properties
Property | Description | Type | Required |
---|---|---|---|
|
Entity, such as the unit, for which to create the communications profile. |
Object |
Yes |
|
Type of entity. |
String |
Yes |
|
Identifies the unit. |
String |
Yes |
|
Display name for the communication profile.
|
String |
No |
Response
A successful response returns HTTP 200 OK
, along with the communication profile ID.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
Response body example
{
"entity": {
"type": "UNIT",
"id": "amzn1.alexa.unit.did.101"
},
"profileId": {
"profileId": "amzn1.alexa.communications.profile.did.1234"
}
}
Response body properties
Property | Description | Type |
---|---|---|
|
Entity, such as the unit, for which to create the communications profile. |
Object |
|
Type of entity. |
String |
|
Identifies the unit. |
String |
|
New communications profile for the unit. |
Object |
|
Uniquely identifies the communication profile. |
String |
HTTP status codes
Status | Description |
---|---|
|
Response body contains a communication profile ID for the specified entity. |
|
Indicates that one or more properties in the request body aren't valid.
|
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Create communication profiles in bulk
Create communication profiles for up to 100 units in a single request. Each unit receives a unique profileId
. You can add the profileId
as a contact in the address book of a different unit.
Optionally, you can provide a name for the profile, which appears as a display name for the unit. When the guest in this unit makes a call, the name displays on the contact's Alexa-enabled devices and Alexa app.
To enable guests in other units to place an inbound call to this unit, add the name for the unit to the address book of other units.
If a profile for the unit already exists, the operation returns the existing profileId
for the unit and updates the profile name, if different from the existing name.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
US |
US, UK, FR, CA, IT, DE, ES, JP |
US, UK, FR, CA, IT, DE, ES, JP |
US |
Request
To create profiles, you make a POST
request to the /v1/communications/profiles/batch
resource.
Request path and header example
POST /v1/communications/profiles/batch HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Header |
Access token for the customer. |
String |
Yes |
Request body example
{
"items": [{
"itemId": 1,
"entity": {
"type": "UNIT",
"id": "amzn1.alexa.unit.did.201"
},
"name": "Room 201"
},
{
"itemId": 2,
"entity": {
"type": "UNIT",
"id": "amzn1.alexa.unit.did.202"
},
"name": "Room 202"
}
]
}
Request body properties
Property | Description | Type | Required |
---|---|---|---|
|
List of units to which to assign a communication profile. |
Array of objects |
Yes |
|
Unique identifier for the assignment. |
Integer |
Yes |
|
Entity, such as the unit, for which to create the communications profile. |
Object |
Yes |
|
Type of entity. |
String |
Yes |
|
Identifies the unit. |
String |
Yes |
|
Display name for the communication profile.
|
String |
No |
Response
A successful response returns HTTP 200 OK
, along with a list of communication profile IDs.
For overall request failure, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error. If errors occur for individual items, the response body includes the success and error items.
Response body examples
The following example shows a successful response with profile IDs assigned to each unit.
The following example shows a response body with both success and error message at the individual item level. Both results
and errors
properties can coexist in the same response.
The following example shows a response body with all items failed.
The following example shows an error response body for an entire request, not for individual items.
Response body properties
Property | Description | Type |
---|---|---|
|
List of success results. |
Array of objects |
|
(Optional) Unique identifier from the request. Use to associate the request item with the response item. Not included if the error is at the request level. |
Integer |
|
Entity, such as the unit, for which the profile is created. |
Object |
|
Type of entity. |
String |
|
Identifies the unit. |
String |
|
Uniquely identifies the communication profile. |
String |
|
(Optional) List of error results. |
Array of objects |
|
(Optional) Unique identifier from the request. Use to associate the request item with the response item. |
Integer |
|
HTTP response code for the failed request item. |
Integer |
|
Type of error that occurred. |
String |
|
Human-readable error message. The error message appears only for debugging and logging purposes. You must not share it with the customer. No business logic should depend on the content of the error description. |
String |
Error property values for individual items
status
|
errorCode
|
errorDescription
|
---|---|---|
|
|
UnitId is not valid. Please check your Input. |
|
|
Given |
|
|
Entity is mandatory. |
|
|
EntityType must be between 1 and 10 characters. |
|
|
EntityId must be between 1 and 1000 characters. |
|
|
Name must consist of 1 to 128 characters. |
|
|
Requested action cannot be performed as you don't have access over the specified resource. |
|
|
An internal service error occurred. |
HTTP status codes
Status | Description |
---|---|
|
Response body contains a list of communication profile IDs. |
|
Indicates that one or more properties in the request body aren't valid. |
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Delete communication profile
Delete the specified communication profile. This operation completes the following actions:
- Disables the communication capability.
- Deletes the
profileId
assigned to a unit. - Delete any contacts in address books where
profileID
is the contact.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
US |
US, UK, FR, CA, IT, DE, ES, JP |
US, UK, FR, CA, IT, DE, ES, JP |
US |
Request
To remove a profile, you make a DELETE
request to the /v1/communications/profile
resource.
Request path and header example
DELETE /v1/communications/profile/{profileId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the communication profile. |
String |
Yes |
|
Header |
Access token for the customer. |
String |
Yes |
Request body example
The request has no body.
Request body properties
The request has no body.
Response
A successful response returns HTTP 204 No Content
.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
Response body example
The response has no body.
Response body properties
The response has no body.
HTTP status codes
Status | Description |
---|---|
|
Communications profile deleted successfully. |
|
Indicates that one or more properties in the request body aren't valid.
|
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Get communication profile
Get the details of the specified communication profile, including the unit ID associated with the profile.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
US |
US, UK, FR, CA, IT, DE, ES, JP |
US, UK, FR, CA, IT, DE, ES, JP |
US |
Request
To get the profile, you make a GET
request to the /v1/communications/profile
resource.
Request path and header example
GET /v1/communications/profile/{profileId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the communication profile. |
String |
Yes |
|
Header |
Access token for the customer. |
String |
Yes |
Request body example
The request has no body.
Request body properties
The request has no body.
Response
A successful response returns HTTP 200 OK
, along with the communications profile.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
Response body example
{
"entity": {
"type": "UNIT",
"id": "amzn1.alexa.unit.did.101"
},
"name": "Room 101",
"profileId": {
"profileId": "amzn1.alexa.communications.profile.did.1234"
}
}
Response body properties
Property | Description | Type |
---|---|---|
|
Entity, such as the unit, for which to fetch the communications profile. |
Object |
|
Type of entity. |
String |
|
Identifies the unit. |
String |
|
Display name for the communication profile. |
String |
|
Communications profile for the unit. |
Object |
|
Uniquely identifies the communication profile. |
String |
HTTP status codes
Status | Description |
---|---|
|
Response body contains the communications profile. |
|
Indicates that one or more properties in the request body aren't valid.
|
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Get communication profile by entity
Get the communication profile associated with the specified entity.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
US |
US, UK, FR, CA, IT, DE, ES, JP |
US, UK, FR, CA, IT, DE, ES, JP |
US |
Request
To get the profile, you make a GET
request to the /v1/communications/profile
resource.
Request path and header example
GET /v1/communications/profile?entity.type={type}&entity.id={id}&maxResults={maxResults}&nextToken={nextToken} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Query |
Type of entity. |
String |
Yes |
|
Query |
Unit ID. |
String |
Yes |
|
Header |
Access token for the customer. |
String |
Yes |
Request body example
The request has no body.
Request body properties
The request has no body.
Response
A successful response returns HTTP 200 OK
, along with the communications profile ID for the specified unit.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
Response body example
{
"entity": {
"type": "UNIT",
"id": "amzn1.alexa.unit.did.101"
},
"name": "Room 101",
"profileId": {
"profileId": "amzn1.alexa.communications.profile.did.1234"
}
}
Response body properties
Property | Description | Type |
---|---|---|
|
Entity, such as the unit, for which to fetch the communications profile. |
Object |
|
Type of entity. |
String |
|
Identifies the unit. |
String |
|
Display name for the communication profile. |
String |
|
Communications profile for the unit. |
Object |
|
Uniquely identifies the communication profile. |
String |
HTTP status codes
Status | Description |
---|---|
|
Response body contains the communications profile. |
|
Indicates that one or more properties in the request body aren't valid.
|
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Update communication profile
Update the display name for a communication profile.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
US |
US, UK, FR, CA, IT, DE, ES, JP |
US, UK, FR, CA, IT, DE, ES, JP |
US |
Request
To update a profile, you make a PUT
request to the /v1/communications/profile/{profileId}
resource.
Request path and header example
PUT /v1/communications/profile/{profileId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the communication profile. |
String |
Yes |
|
Header |
Access token for the customer. |
String |
Yes |
Request body example
{
"name": "Room 14-101"
}
Request body properties
Property | Description | Type | Required |
---|---|---|---|
|
Display name for the communication profile.
|
String |
Yes |
Response
A successful response returns HTTP 204 No Content
.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
Response body example
The response has no body.
Response body properties
The response has no body.
HTTP status codes
Status | Description |
---|---|
|
Profile name updated successfully. |
|
Indicates that one or more properties in the request body aren't valid.
|
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Create reciprocal association
Create a reciprocal association between the specified unit and an external contact. The association allows the external contact to place an inbound call to an Alexa-enabled device associated with the unit. To create the association, you add the external contact to the address book associated with the property unit, and then create a reciprocal association between the room and the contact.
This operation adds the communication profile of the unit as a contact in the address book of the external user identified by contact ID. And, then sends an Alexa message to the external contact's Alexa app and Amazon Echo devices to inform them about the new reciprocal contact. If an external contact has multiple phone numbers, this operation attempts to create reciprocal association with each valid phone number. If an association with at least one phone number succeeds, the operation succeeds. For phone numbers that already have a reciprocal association, this operation doesn't create a duplicate contact or send a message to the external contact.
After you create the association, the external contact can view the contact to the unit in the contacts list on their Alexa-enabled devices and in the Alexa app and place calls to the unit by using voice or on-screen controls on Alexa-enabled devices with a screen. The external contact can block the unit contact if they wish. Messaging and drop-in calling aren't supported with the inbound calling feature.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
None |
JP |
US, UK, FR, CA, IT, DE, ES, JP |
None |
Request
To create an association, you make a POST
request to the /v1/communications/profile/{profileId}/reciprocalAssociations
resource.
Request path and header example
POST /v1/communications/profile/{profileId}/reciprocalAssociations HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the communication profile for the unit. |
String |
Yes |
|
Header |
Access token for the customer. |
String |
Yes |
Request body example
{
"contact": {
"contactId": "amzn1.alexa.contact.did.1101"
}
}
Request body properties
Property | Description | Type | Required |
---|---|---|---|
|
Identifies the external contact to associate with the unit. |
Object |
Yes |
|
Identifies the external contact. |
String |
Yes |
Response
A successful response returns HTTP 201 Created
, along with the association.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
HTTP status codes
Status | Description |
---|---|
|
Reciprocal association created successfully. |
|
Indicates that one or more properties in the request body aren't valid.
|
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Delete a reciprocal association status
To disable inbound calling from an external contact to the unit, delete the reciprocal association between the unit and the external contact. This operation removes the specified unit from the address book of the specified contact, and sends an Alexa message to the contact's Alexa app and Amazon Echo devices to inform the contact that the association was deleted.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
None |
JP |
US, UK, FR, CA, IT, DE, ES, JP |
None |
Request
To remove an association, you make a DELETE
request to the /v1/communications/profile/{profileId}/reciprocalAssociations
resource.
Request path and header example
DELETE /v1/communications/profile/{profileId}/reciprocalAssociations?contactId={contactId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the communication profile of the unit from which you want to disable inbound calling from the contact. |
String |
Yes |
|
Query |
Identifies the external contact. |
String |
Yes |
|
Header |
Access token for the customer. |
String |
Yes |
Request body example
The request has no body.
Request body properties
The request has no body.
Response
A successful response returns HTTP 204 No Content
.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
Response body example
The response has no body.
Response body properties
The response has no body.
HTTP status codes
Status | Description |
---|---|
|
Reciprocal association for the specified contact deleted successfully. |
|
Indicates that one or more properties in the request body aren't valid.
|
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Get reciprocal association
Get the reciprocal association status between the specified profile and contact.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
None |
JP |
US, UK, FR, CA, IT, DE, ES, JP |
None |
Request
To get the association, you make a GET
request to the /v1/communications/profile/{profileId}/reciprocalAssociations
resource.
Request path and header example
GET /v1/communications/profile/{profileId}/reciprocalAssociations?contactId={contactId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the communication profile for the unit. |
String |
Yes |
|
Query |
Identifies the external contact associated with the |
String |
Yes |
|
Header |
Access token for the customer. |
String |
Yes |
Request body example
The request has no body.
Request body properties
The request has no body.
Response
A successful response returns HTTP 200 OK
, along with the association status.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
Response body example
{
"results": [{
"contact": {
"contactId": "amzn1.alexa.contact.1101"
},
"status": "ENABLED"
}],
"paginationContext": {
"nextToken": "null"
}
}
Response body properties
Property | Description | Type |
---|---|---|
|
List of contacts. |
Array of objects |
|
Defines the contact. |
Object |
|
Identifies the external contact associated with the |
String |
|
Indicates whether a reciprocal association exists between the specified contact and profile. |
String |
|
Indicates whether there are more results to return. |
Object |
|
Included when the response is truncated. |
String |
HTTP status codes
Status | Description |
---|---|
|
Response contains the association status. |
|
Indicates that one or more properties in the request body aren't valid.
|
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Create blocking rule
Creates a blocking rule to enable or disable calling and messaging between two property units.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
US |
US |
US |
US |
Request
To create a blocking rule, you make a PUT
request to the v1/communications/profile/{profileId}/contacts/settings/Block
resource.
The rule blocks the target unit from calling the specified unit, identified by profile IDs. However, the specified unit can still call the target unit.
Request header example
PUT /v1/communications/profile/{profileId}/contacts/settings/Block?alexaCommunicationProfileId={alexaCommunicationProfileId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request header and path parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the communication profile for the unit for which to update the drop-in setting. |
String |
Yes |
|
Query |
Identifies the communication profile for the target unit for which to enable or disable drop-in on |
String |
Yes |
|
Header |
Access token for the customer. |
String |
Yes |
Request body example
{
"value": "ENABLED"
}
Request body properties
Parameter | Description | Type | Required |
---|---|---|---|
|
Setting to enable or block communications to the unit.
Valid values: |
String |
Yes |
Response
A successful response returns HTTP 204 No Content
.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
Response body example
The response has no body.
Response body parameters
The response has no body.
HTTP status codes
Status | Description |
---|---|
|
The request succeeded. |
|
Indicates that one or more properties in the request body aren't valid. |
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Get blocking rule settings
Gets a blocking rule that enables or disables inbound calling and messaging between property units.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
US |
US |
US |
US |
Request
To get a blocking rule, you make a GET
request to the /v1/communications/profile/{profileId}/contacts/settings/Block?value={value}
resource.
Request header example
GET /v1/communications/profile/{profileId}/contacts/settings/Block?value={value}&alexaCommunicationProfileId={alexaCommunicationProfileId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request header and path parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the communication profile for the unit for which to query the drop-in settings. |
String |
Yes |
|
Query |
Identifies the communication profile for the target unit. If not provided, the response includes a list of all the targets to whom calling to the |
String |
No |
|
Query |
Filter on the blocking rule setting status. |
String |
No |
|
Query |
Maximum number of results to return in the response. |
Integer |
No |
|
Query |
Token from the previous response. |
String |
No |
Request body example
The request has no body.
Request body properties
The request has no body.
Response
A successful response returns HTTP 200 OK
, along with a list of blocking rule settings for each target profile ID.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
Response body example
The following example shows the body of a successful response.
{
"results": [{
"setting": "Block",
"contactId": "amzn1.alexa.contact.did.1101",
"alexaCommunicationProfileId": "amzn1.alexa.communications.profile.did.2101",
"value": "DISABLED"
},
{
"setting": "Block",
"contactId": "amzn1.alexa.contact.did.1102",
"alexaCommunicationProfileId": "amzn1.alexa.communications.profile.did.2102",
"value": "ENABLED"
}
],
"paginationContext": {
"nextToken": ""
}
}
Response body properties
Property | Description | Type |
---|---|---|
|
List of contacts and associated block settings. |
Array of objects |
|
Setting type. Always set to |
String |
|
Identifies the external contact associated with the target unit identified by the |
String |
|
Identifies the communication profile for the target unit. |
String |
|
Current status of the block setting.
Valid values: |
String |
|
Indicates whether there are more results to return. |
Object |
|
Included when the response is truncated. |
String |
HTTP status codes
Status | Description |
---|---|
|
Response body contains a list of block settings per contact. |
|
Indicates that one or more properties in the request body aren't valid.
|
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Get drop-in settings
Get the current state of the drop-in setting of the specified profile ID for each target unit.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
US |
None |
None |
None |
Request
To get the settings, you make a GET
request to the /v1/communications/profile/{sourceProfileId}/contacts/settings/DropIn
resource.
Request path and header example
GET /v1/communications/profile/{profileId}/contacts/settings/DropIn?alexaCommunicationProfileId={alexaCommunicationProfileId}
HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the communication profile for the unit for which to query the drop-in settings. |
String |
Yes |
|
Query |
Identifies the communication profile for the target unit. If not provided, the response includes a list of all the targets to whom drop-in permission is allowed or disallowed from the |
String |
No |
|
Query |
Filter on the Drop-in setting status. |
String |
No |
|
Query |
Maximum number of results to return in the response. |
Integer |
No |
|
Query |
Token from the previous response. |
String |
No |
Request body example
The request has no body.
Request body properties
The request has no body.
Response
A successful response returns HTTP 200 OK
, along with a list of drop-in settings for each target profile ID.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
Response body example
{
"results": [{
"setting": "DropIn",
"contactId": "amzn1.alexa.contact.did.1101",
"alexaCommunicationProfileId": "amzn1.alexa.communications.profile.did.2101",
"value": "DISABLED"
}],
"paginationContext": {
"nextToken": null
}
}
Response body properties
Property | Description | Type |
---|---|---|
|
List of contacts and associated drop-in settings. |
Array of objects |
|
Setting type. Always set to |
String |
|
Identifies the external contact associated with the target unit identified by the |
String |
|
Identifies the communication profile for the target unit. |
String |
|
Current status of the drop-in setting.
Valid values: |
String |
|
Indicates whether there are more results to return. |
Object |
|
Included when the response is truncated. |
String |
HTTP status codes
Status | Description |
---|---|
|
Response body contains a list of drop-in settings per contact. |
|
Indicates that one or more properties in the request body aren't valid.
|
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Set drop-in preference
Enable or disable the drop-in preference between the specified healthcare units. An enabled drop-in setting allows a target unit, linked with alexaCommunicationProfileId
, to drop in on a unit, linked with a profileId
. Similar to an intercom, drop-in lets you connect directly with a contact. To set up drop-in, both the source unit, such as a patient room, and the target unit, such as a nurses station, must have the other unit as a contact in their associated address book. Drop-in is one way, from the target unit to the source unit.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
US |
None |
None |
None |
Request
To update the drop-in setting, you make a PUT
request to the /v1/communications/profile/{profileId}/contacts/settings
resource.
Request path and header example
PUT /v1/communications/profile/{profileId}/contacts/settings/DropIn?alexaCommunicationProfileId={alexaCommunicationProfileId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the communication profile for the source unit for which to update the drop-in setting. |
String |
Yes |
|
Query |
Identifies the communication profile for the target unit for which to enable or disable drop-in on |
String |
Yes |
|
Header |
Access token for the customer. |
String |
Yes |
Request body example
{
"value": "ENABLED"
}
Request body properties
Property | Description | Type | Required |
---|---|---|---|
|
Drop-in setting.
Valid values: |
String |
Yes |
Response
A successful response returns HTTP 204 No Content
.
On error, the response returns the appropriate HTTP status code and includes a response body with a message
string that describes the error.
Response body example
The response has no body.
Response body properties
The response has no body.
HTTP status codes
Status | Description |
---|---|
|
Drop-in setting updated successfully. |
|
Indicates that one or more properties in the request body aren't valid.
|
|
Request didn't include the authorization token, or the included token expired or isn't valid. Or, you don't have access to the resource. |
|
Indicates that the authorization token is valid, but the requested operation isn't allowed. |
|
Requested resource not found. |
|
Permitted rate limit, specified as the number of requests per unit of time, exceeded. You can retry the request by using exponential back-off. |
|
Error occurred on the server. You can retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Related topics
Last updated: Dec 04, 2024