Skill Management API
Use the Skill Management API to manage skills for Alexa Smart Properties units such as rooms.
API endpoint
In the request header, set Host
to one of the following, depending on the region of your organization:
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).
Operations
The Skill Management API includes the following operations.
Description | HTTP method and path |
---|---|
| |
| |
| |
| |
| |
| |
|
Get skill enablements
The following operations allow you to get information about a skills enabled on a unit or multiple units.
Get a skill enablement record for a unit
Call GET /v1/skills/{skillId}/enablements?unitId={unitId}
to get the skill enablement record for a specific skill for a unit.
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 format examples
List skill enablement and account linking details only
The following example lists the skill enablement record for the unit. By default, the results aren't expanded with name-free interaction details.
This call only returns the enablement record for a given skill. To get all skill enablements for a unit, see List skill enablements for a unit.
In the request header, set Host
to the appropriate endpoint for the region of your organization. See API endpoint, earlier.
GET /v1/skills/{skillId}/enablements?unitId={unitId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
Include name-free interaction details
This example shows how to include the name-free interaction details for the enablement, use the expand=nameFreeInvocation
parameter.
GET /v1/skills/{skillId}/enablements?unitId={unitId}&expand=nameFreeInvocation HTTP/1.1
Request body
None.
Request path parameters
Field | Description | Type | Required |
---|---|---|---|
|
Skill ID, in the format |
String |
Yes |
Request query parameters
Field | Description | Type | Required |
---|---|---|---|
|
Unit ID, in the format |
String |
Yes |
|
An attribute (or set of attributes) to include in the response. Current values supported: |
String |
No |
Success response header
Host
value is the same as the Host
value in the request.HTTP/1.1 200 OK
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
Field | Description | Type |
---|---|---|
|
Unique identifier for the request. If a problem occurs, Amazon can use this value to troubleshoot the problem. |
String |
Response body parameters
Field | Description | Type |
---|---|---|
|
Skill stage: |
Enum |
|
Unique identifier for a skill. |
String |
|
Unit ID, in the format |
String |
|
Current account linking status between the user's Amazon account and their account in your service: |
String |
|
Skill enablement status: |
Enum |
|
Name-free interaction enablement status: |
Enum |
|
Available locales for name-free interaction on the unit: |
Array |
Error response
HTTP/1.1 {ErrorCode}
{
"type": "{ErrorType}",
"message": "{ErrorMessage}"
}
Error response parameters
Field | Description | Type |
---|---|---|
|
Error type. |
String |
|
Error message for the error. Note: The error message appears only for debugging/logging purposes. You must not share it with the customer. No business logic should depend on the content of the error message.
|
String |
HTTP response codes
Status Code | Name | Description |
---|---|---|
200 |
OK |
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 operator doesn't have the right permission to perform the operation. |
404 |
Not found |
The requested skill ID or unit ID can't be found. |
429 |
Too many requests |
The request is throttled. |
500 |
Internal Server Error |
The request couldn't be handled because of an internal service error. |
500 |
Internal Server Error |
The request couldn't be handled because of an internal service error when retrieving NameFreeInvocation. |
503 |
Service Unavailable |
The server is temporarily unavailable. |
503 |
Service Unavailable |
The server is temporarily unavailable for fetching NameFreeInvocation. |
List skill enablements for a unit
Call GET /v1/skills/enablements?unitId={unitId}
to get a list of all skill enablements for a unit.
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 format examples
List skill enablement and account linking details only
The following example lists all skill enablement records for a unit. By default, the results aren't expanded with name-free interaction details.
In the request header, set Host
to the appropriate endpoint for the region of your organization. See API endpoint, earlier.
GET /v1/skills/enablements?unitId={unitId}&maxResults={maxResults}&nextToken={nextToken} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
Include name-free interaction details
This example shows how to include the name-free interaction details for each skill enablement record, use the expand=nameFreeInvocation
parameter.
/v1/skills/enablements?unitId={unitId}&maxResults={maxResults}&expand=nameFreeInvocation&nextToken={nextToken} HTTP/1.1
Request body
None.
Request query parameters
Field | Description | Type | Required |
---|---|---|---|
|
Unit ID, in the format |
String |
Yes |
|
Continuation token returned in response object of previous list skill enablements response. For details, see Handling Pagination in Query Results. |
String |
No |
|
Maximum number of results to display. The value of this parameter must be between 1 and 10. Default is 10. |
Integer |
No |
|
An attribute (or set of attributes) to include in the response. Current values supported: |
String |
No |
Success response header
Host
value is the same as the Host
value in the request.HTTP/1.1 200 OK
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
Field | Description | Type |
---|---|---|
|
Unique identifier for the request. If a problem occurs, Amazon can use this value to troubleshoot the problem. |
String |
Response body parameters
Field | Description | Type |
---|---|---|
|
Context that contains all data needed to control pagination. |
Object |
|
Token used to retrieve subsequent data. This token doesn't exist if there are no extra records. |
String |
|
List of skill enablements. |
List (Set) |
|
Skill stage: |
Enum |
|
Unique identifier for a skill. |
String |
|
Unit ID, in the format |
String |
|
Current account linking status between the user's Amazon account and their account in your service: |
String |
|
Skill enablement status: |
Enum |
|
Name-free interaction enablement status: |
Enum |
|
Available locales for name-free interaction on the unit: |
Array |
Error response
HTTP/1.1 {ErrorCode}
{
"type": "{ErrorType}",
"message": "{ErrorMessage}"
}
Error response parameters
Field | Description | Type |
---|---|---|
|
Error type. |
String |
|
Error message for the error. Note: The error message appears only for debugging/logging purposes. You must not share it with the customer. No business logic should depend on the content of the error message.
|
String |
HTTP response codes
Status Code | Name | Description |
---|---|---|
200 |
OK |
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 operator doesn't have the right 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. |
500 |
Internal Server Error |
The request couldn't be handled because of an internal service error when retrieving NameFreeInvocation. |
503 |
Service Unavailable |
The server is temporarily unavailable. |
503 |
Service Unavailable |
The server is temporarily unavailable for fetching NameFreeInvocation. |
Get skill enablement for multiple units
Call POST /v1/skills/enablements/batchGet
to get the skill enablement for multiple units in a single request.
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 format examples
List skill enablement and account linking details only
The following example lists all skill enablement records for a single skill across multiple units. By default, the results aren't expanded with name-free interaction details.
In the request header, set Host
to the appropriate endpoint for the region of your organization. See API endpoint, earlier.
POST /v1/skills/enablements/batchGet HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
Include name-free interaction details
This example shows how to include the name-free interaction details for each skill enablement record, use the expand=nameFreeInvocation
parameter.
Request path parameters
The request path has no parameters.
Request body example
The following example shows the body of a request to get the skill enablement for four units.
Request body parameters
Field | Description | Type | Required |
---|---|---|---|
|
Context that contains all data needed to control pagination. |
Object |
No |
|
Maximum number of results to display. The value of this parameter must be between 1 and 10. Default is 10. |
Integer |
No |
|
Continuation token returned in response object of previous list skill enablements response. For details, see Handling Pagination in Query Results. |
String |
No |
|
List of request items. Each item represents a single unit. |
Array |
Yes |
|
Unique identifier for the request item. Must be unique within the request. |
Integer |
Yes |
|
Unit ID, in the format |
String |
Yes |
|
An attribute (or set of attributes) to include in the response. Current values supported: |
Array |
Yes |
Success response
Host
value is the same as the Host
value in the request.HTTP/1.1 202 Accepted
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
Field | Description | Type |
---|---|---|
|
Unique identifier for the request. If a problem occurs, Amazon can use this value to troubleshoot the problem. |
String |
Response body example
Response body parameters
Field | Description | Type |
---|---|---|
|
Context that contains all data needed to control pagination. |
Object |
|
Token used to retrieve subsequent data. This token doesn't exist if there are no extra records. |
String |
|
List of skill enablements. |
List (Set) |
|
A unique identifier for the request item. You specified this value in the request. |
Integer |
|
List of enablements for the skill. |
List (Set) |
|
Skill stage and ID. |
Object |
|
Skill stage: |
Enum |
|
Unique identifier for a skill. |
String |
|
Unique identifier for the unit. |
String |
|
Unit ID, in the format |
String |
|
Current account linking status between the user's Amazon account and their account in your service. |
Object |
|
Account linking status: |
String |
|
Skill enablement status: |
Enum |
|
Name-free interaction enablement status: |
Enum |
|
Available locales for name-free interaction on the unit: |
Array |
Error response header
HTTP/1.1 {ErrorCode}
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
Error response body example
The following example shows an error response body.
{
"errors": [
{
"itemId": 0,
"status": 401,
"errorCode": "UNAUTHENTICATED",
"errorDescription": "The access token is invalid."
}
]
}
Error response parameters
Field | Description | Type |
---|---|---|
|
A list of error responses, one for each request item. |
Array |
|
The identifier for the request item. Optional if the error response is for the entire request and not for individual items. |
String |
|
The response status code per request or request item. |
Integer |
|
The error code for the error. |
Enum |
|
A description of the error. |
String |
HTTP response codes
Status Code | Name | Description |
---|---|---|
200 |
Accepted |
The request was accepted. If a request is successful (even if only partially), the API returns a 200 status code with a response body that lists the enablements for each unit. If a unit doesn't have any enablements, the response contains an empty array for the associated |
400 |
INVALID_PARAM |
The request has a missing or invalid parameter. |
400 |
BAD_REQUEST |
The number of request items exceeds the limit. |
401 |
UNAUTHENTICATED |
The access token is missing, expired, or invalid. |
403 |
FORBIDDEN |
The operator doesn't have the right 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. |
500 |
Internal Server Error |
The request couldn't be handled because of an internal service error when retrieving NameFreeInvocation. |
503 |
Service Unavailable |
The server is temporarily unavailable. |
503 |
Service Unavailable |
The server is temporarily unavailable for fetching NameFreeInvocation. |
Enable skills
The following operations allow you to enable a skill on one or multiple units.
Enable a skill for a unit
Call POST /v1/skills/{skillId}/enablements
to enable a skill for a unit.
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 format
In the request header, set Host
to the appropriate endpoint for the region of your organization. See API endpoint, earlier.
POST /v1/skills/{skillId}/enablements HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
Request path parameters
Field | Description | Type | Required |
---|---|---|---|
|
Skill ID, in the format |
String |
Yes |
Request body examples
Enable skill without account linking or name-free interaction
The following example shows a basic skill enablement on a unit without additional details such as account linking or name-free interaction.
Request body example
{
"unitId": "amzn1.alexa.unit.unitId",
"stage": "live"
}
Enable skill with account linking
The following example shows a skill enablement on a unit with account linking using partitions.
Request body example
{
"unitId": "amzn1.alexa.unit.unitId",
"stage": "live",
"partitionName": "Room101-Kitchenette",
"accountLinkRequest": {
"redirectUri": "https://example.com",
"authCode": "3pauthcode",
"type": "AUTH_CODE"
}
}
Enable skill with name-free interaction
The following example shows a skill enablement on a unit with name-free interaction.
Request body example
{
"unitId": "amzn1.alexa.unit.unitId",
"stage": "live",
"nameFreeInvocationRequest": {
"locales" : ["en-US"]
}
}
Request body parameters
Field | Description | Type | Required |
---|---|---|---|
|
The unit ID, in the format |
String |
Yes |
|
Skill stage: |
Enum |
Yes |
|
A partition name is an identifier for a logical grouping of resources such as devices, endpoints, or skills. This parameter is a string containing a single partition name or a comma-separated list of partition names. A partition name is a single nonempty string that can contain alphanumeric characters and hyphens but not whitespace. Note: If there is an existing enablement for a given
skillId and unitId , a POST enablement request for the same skillId and unitId with a different partitionName value (new, updated, or none) updates the existing enablement with the latest partitionName value. Note: If you provide both
accountLinkRequest and partitionName in a POST enablement request for an existing enablement, the API call updates the existing account linking and the partition name. |
String |
No |
|
Account linking request information, as an AccountLinkRequest object. |
Object |
Yes, for skills that require account linking |
|
Name-free interaction request information, as an NameFreeInvocationRequest object. |
Object |
No. Only available for skills that support name-free interaction |
AccountLinkRequest object schema
Field | Description | Type | Required |
---|---|---|---|
|
The |
String |
Yes |
|
An OAuth 2.0 authorization code. This value is required to perform account linking. For details, see Authorization code grant flow. |
String |
Yes |
|
The type of account linking request, which is based on OAuth 2.0 authorization request protocols. Currently the only supported value is |
String |
Yes |
NameFreeInvocationRequest object schema
Field | Description | Type | Required |
---|---|---|---|
|
The locales that for the unit that should be enabled for name-free interaction. The skill must have an interaction model that supports the locale. Supported values: |
String |
Yes |
Success response header
Host
value is the same as the Host
value in the request.HTTP/1.1 201 Created
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
Field | Description | Type |
---|---|---|
|
Unique identifier for the request. If a problem occurs, Amazon can use this value to troubleshoot the problem. |
String |
Response body example
{
"skill": {
"stage": "stage",
"id": "{skillId}"
},
"unit": {
"id": "{unitId}"
},
"accountLink": {
"status": "LINKED"
},
"nameFreeInvocation": {
"status": "ENABLED",
"locales": ["en-US"]
},
"status": "ENABLING",
}
Response body parameters
Field | Description | Type |
---|---|---|
|
Skill stage: |
Enum |
|
Unique identifier for a skill, in the format |
String |
|
Unit ID, in the format |
String |
|
Current account linking status between the user's Amazon account and their account in your service: |
String |
|
Skill enablement status: |
Enum |
|
Name-free interaction enablement status: |
Enum |
|
Available locales for name-free interaction on the unit: |
Array |
Error response
HTTP/1.1 {ErrorCode}
{
"type": "{ErrorType}",
"message": "{ErrorMessage}"
}
Error response parameters
Field | Description | Type |
---|---|---|
|
Error type. |
String |
|
Error message for the error. Note: The error message appears only for debugging/logging purposes. You must not share it with the customer. No business logic should depend on the content of the error message.
|
String |
HTTP response codes
Status Code | Name | Description |
---|---|---|
201 |
Created |
The skill enablement was successfully created. |
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 operator doesn't have the right permission to perform the operation. |
404 |
Not found |
The requested skill ID or unit ID can't be found. |
429 |
Too many requests |
The request is throttled. |
500 |
Internal Server Error |
The request couldn't be handled because of an internal service error. |
500 |
Internal Server Error |
The request couldn't be handled because of an internal service error when retrieving NameFreeInvocation. |
503 |
Service Unavailable |
The server is temporarily unavailable. |
503 |
Service Unavailable |
The server is temporarily unavailable for fetching NameFreeInvocation. |
Enable a skill for multiple units
Call POST /v1/skills/{skillId}/enablements/batch
to enable a skill for multiple units in a single request.
This operation is available in the following countries.
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
US |
US, CA, IT, DE, ES, JP |
US, UK, FR, CA, IT, DE, ES, JP |
US |
Request format
In the request header, set Host
to the appropriate endpoint for the region of your organization. See API endpoint, earlier.
POST /v1/skills/{skillId}/enablements/batch HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
Request path parameters
Field | Description | Type | Required |
---|---|---|---|
|
Skill ID, in the format |
String |
Yes |
Request body examples
Enable skill without account linking or name-free interaction
The following example shows a basic skill enablement on multiple units without additional details such as account linking or name-free interaction.
Request body example
{
"items": [
{
"itemId": 0,
"unitId": "amzn1.alexa.unit.unitId1",
"stage": "live"
},
{
"itemId": 1,
"unitId": "amzn1.alexa.unit.unitId2",
"stage": "live"
}
]
}
Enable skill with account linking
The following example shows a skill enablement on multiple units with account linking using partitions.
Request body example
{
"items": [
{
"itemId": 0,
"unitId": "amzn1.alexa.unit.unitId1",
"stage": "live",
"partitionName": "10-101", // Optional
"accountLinkRequest": { // Optional, only for skills that support account linking
"redirectUri": "https://redirecturi.com",
"authCode": "3pauthcode1",
"type": "AUTH_CODE"
}
},
{
"itemId": 1,
"unitId": "amzn1.alexa.unit.unitId2",
"stage": "live",
"partitionName": "11-101,11-102,11-103" // Optional
}
]
}
Enable skill with name-free interaction
The following example shows a skill enablement on multiple units with name-free interaction.
Request body example
{
"items": [
{
"itemId": 0,
"unitId": "amzn1.alexa.unit.unitId1",
"stage": "live",
"nameFreeInvocationRequest": {
"locales" : ["en-CA"]
}
},
{
"itemId": 1,
"unitId": "amzn1.alexa.unit.unitId2",
"stage": "live",
"nameFreeInvocationRequest": {
"locales" : ["en-CA","fr-CA"]
}
}
]
}
Request body parameters
Field | Description | Type | Required |
---|---|---|---|
|
A list of request items. Each item represents an enablement request for a single unit. |
Array |
Yes |
|
A unique identifier for the request item. Must be unique within the request. |
Integer |
Yes |
|
The unit ID, in the format |
String |
Yes |
|
Skill stage: |
Enum |
Yes |
|
A partition name is an identifier for a logical grouping of resources such as devices, endpoints, or skills. This parameter is a string containing a single partition name or a comma-separated list of partition names. Note: If there is an existing enablement for a given
skillId and unitId , the next POST enablement request for the same skillId and unitId with a different partitionName value (new, updated or none) updates the existing enablement with the latest partitionName value. |
String |
No |
|
Account linking request information, as an AccountLinkRequest object. |
Object |
Yes, for skills that require account linking |
|
Name-free interaction request information, as an NameFreeInvocationRequest object. |
Object |
No. Only available for skills that support name-free interaction |
Success response
Host
value is the same as the Host
value in the request.HTTP/1.1 202 Accepted
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
Field | Description | Type |
---|---|---|
|
Unique identifier for the request. If a problem occurs, Amazon can use this value to troubleshoot the problem. |
String |
Success response parameters
None.
Error response header
HTTP/1.1 {ErrorCode}
{
"type": "{ErrorType}",
"message": "{ErrorMessage}"
}
Error response body examples
The following example shows an error response body for an entire request, not for individual items.
{
"errors": [
{
"status": 401,
"erorrCode": "INVALID_LWA_TOKEN",
"errorDescription": "The access token is invalid."
}
]
}
The following example shows an error response body for individual items.
{
"errors": [
{
"itemId": 0,
"status": 400,
"errorCode": "INVALID_PARAM",
"errorDescription": "unitId is missing or invalid"
},
{
"itemId": 20,
"status": 403,
"errorCode": "FORBIDDEN",
"errorDescription": "The operator doesn't have the right permission to perform the operation."
}
]
}
Error response parameters
Field | Description | Type | Required |
---|---|---|---|
|
A list of error responses, one for each request item. |
Array |
Yes |
|
The identifier for the request item. Optional if the error response is for the entire request and not for individual items. |
String |
No |
|
The response status code per request or request item. |
Integer |
Yes |
|
The error code for the error. |
Enum |
Yes |
|
A description of the error. |
String |
Yes |
HTTP response codes
Status Code | Name | Description |
---|---|---|
202 |
Accepted |
The request was accepted. |
400 |
Bad Request |
The request is malformed or is missing one or more required parameters. Example reasons:
|
401 |
Unauthorized |
The access token is missing, expired, or invalid. |
403 |
Forbidden |
The operator doesn't have the right 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. |
500 |
Internal Server Error |
The request couldn't be handled because of an internal service error when retrieving NameFreeInvocation. |
503 |
Service Unavailable |
The server is temporarily unavailable. |
503 |
Service Unavailable |
The server is temporarily unavailable for fetching NameFreeInvocation. |
Disable skills
The following operations allow you to disable a skill on one or multiple units.
Disable a skill for a unit
Call DELETE /v1/skills/{skillId}/enablements?unitId={unitId}
to disable a skill for a unit.
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 format
In the request header, set Host
to the appropriate endpoint for the region of your organization. See API endpoint, earlier.
DELETE /v1/skills/{skillId}/enablements?unitId={unitId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
Request body
None.
Request parameters
Field | Description | Type | Required |
---|---|---|---|
|
Unit ID, in the format |
String |
Yes |
|
Skill ID, in the format |
String |
Yes |
|
Skill stage: |
Enum |
No |
Success response header
Host
value is the same as the Host
value in the request.HTTP/1.1 200 OK
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
Field | Description | Type |
---|---|---|
|
Unique identifier for the request. If a problem occurs, Amazon can use this value to troubleshoot the problem. |
String |
Success response parameters
None.
Error response
HTTP/1.1 {ErrorCode}
{
"type": "{ErrorType}",
"message": "{ErrorMessage}"
}
Error response parameters
Field | Description | Type |
---|---|---|
|
Error type. |
String |
|
Error message for the error. Note: The error message appears only for debugging/logging purposes. You must not share it with the customer. No business logic should depend on the content of the error message.
|
String |
HTTP response codes
Status Code | Name | Description |
---|---|---|
204 |
No content |
The skill enablement was successfully deleted. |
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 operator doesn't have the right permission to perform the operation. |
404 |
Not found |
The requested skill ID or unit ID can't be found. |
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. |
Disable a skill for multiple units
Call POST /v1/skills/{skillId}/enablements/batchDelete
to disable a skill for multiple units in a single request.
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 format
In the request header, set Host
to the appropriate endpoint for the region of your organization. See API endpoint, earlier.
POST /v1/skills/{skillId}/enablements/batchDelete HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
Request path parameters
Field | Description | Type | Required |
---|---|---|---|
|
Skill ID, in the format |
String |
Yes |
Request body example
The following example shows the body of a request to disable a skill for three units.
{
"items": [
{
"itemId": 0,
"unitId": "amzn1.alexa.unit.unitId1",
"stage": "live"
},
{
"itemId": 1
"unitId": "amzn1.alexa.unit.unitId2",
"stage": "development"
},
{
"itemId": 2
"unitId": "amzn1.alexa.unit.unitId3"
}
]
}
Request body parameters
Field | Description | Type | Required |
---|---|---|---|
|
List of request items. Each item represents an disablement request for a single unit. |
Array |
Yes |
|
Unique identifier for the request item. Must be unique within the request. |
Integer |
Yes |
|
Unit ID, in the format |
String |
Yes |
|
Skill stage: |
Enum |
No |
Success response
Host
value is the same as the Host
value in the request.HTTP/1.1 202 Accepted
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
Field | Description | Type |
---|---|---|
|
Unique identifier for the request. If a problem occurs, Amazon can use this value to troubleshoot the problem. |
String |
Success response parameters
None.
Error response header
HTTP/1.1 {ErrorCode}
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
Error response body example
The following example shows an error response body.
{
"errors": [
{
"itemId": 0,
"status": 400,
"errorCode": "INVALID_PARAM",
"errorDescription": "Unit ID is missing or invalid"
}
]
}
Error response parameters
Field | Description | Type |
---|---|---|
|
A list of error responses, one for each request item. |
Array |
|
The identifier for the request item. Optional if the error response is for the entire request and not for individual items. |
String |
|
The response status code per request or request item. |
Integer |
|
The error code for the error. |
Enum |
|
A description of the error. |
String |
HTTP response codes
Status Code | Name | Description |
---|---|---|
202 |
Accepted |
The request was accepted. |
400 |
INVALID_PARAM |
The request has a missing or invalid parameter. |
400 |
BAD_REQUEST |
The number of request items exceeds the limit. |
401 |
UNAUTHENTICATED |
The access token is missing, expired, or invalid. |
403 |
FORBIDDEN |
The operator doesn't have the right permission to perform the operation. |
404 |
ENABLEMENT_NOT_FOUND |
The requested enablement couldn't be found. |
404 |
SKILL_STAGE_NOT_FOUND |
The requested skill ID and stage combination couldn't be found. |
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. |
Related topics
Last updated: Sep 10, 2024