Skill Certification REST API Reference
Use the Skill Certification REST API to manage the certification of your skill. Optionally, you can certify and publish your skill in a single command. For details about publishing your skill, see Skill Publication REST API.
API endpoint
The endpoint of the Skill Certification API is https://api.amazonalexa.com
.
Authentication
Each API request must have an authorization header whose value is the access token retrieved from Login with Amazon (LWA). For details, see Get an Access Token for SMAPI.
Operations
The Skill Certification API includes the following operations.
Operation | HTTP method and URI |
---|---|
| |
| |
| |
| |
|
Get certifications list
Get a summary of ongoing and completed certification reviews for the specified skill.
Request
To get the review list, you make a GET
request to the certifications
resource.
Request path and header example
GET /v1/skills/{skillId}/certifications?maxResults={maxResults}&nextToken={nextToken}
Host: api.amazonalexa.com
Content-Type: application/json
Authorization: Bearer {access token}
Accept: application/hal+json
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the skill. |
String |
Yes |
|
Query |
Maximum number of results to return in the response. |
Integer |
No |
|
Query |
Token from the previous response. |
String |
No |
|
Header |
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 a list of certification reviews for the specified skill.
On error, the response returns the appropriate HTTP status code and includes a response body with an error code and human readable message.
Response body example
{
"_links": {
"self": {
"href": "amzn1.ask.skill.1"
},
"next": {
"href": "string"
}
},
"isTruncated": false,
"totalCount": 1,
"items": [{
"id": "certification ID",
"status": "IN_PROGRESS",
"skillSubmissionTimestamp": "2019-01-06T05:26:02.430Z",
"reviewTrackingInfo": {
"estimatedCompletionTimestamp": "2019-01-06T05:26:02.430Z",
"actualCompletionTimestamp": "2019-01-06T05:26:02.430Z",
"lastUpdated": "2019-01-06T05:26:02.430Z"
}
}]
}
Response body properties
Property | Description | Type |
---|---|---|
|
Links for item navigation. |
_links object |
|
Indicates whether there are more items to return. If set to |
Boolean |
|
(Optional) Included when the response is truncated. Use this value in a subsequent request. |
String |
|
Number of items that satisfy the request. This value might be higher than the number of items returned. |
Type |
|
List of certification reviews. |
Array of objects |
|
Unique identifier for the certification. |
String |
|
Status of the certification review. |
String |
|
Date and time when the skill was submitted for certification. |
String |
|
Summary of the certification review. |
Object |
|
Estimated completion date and time of the certification. |
String |
|
For completed certifications, date and time of completion. |
String |
|
Date and time of the most recent update. |
String |
HTTP status codes
Status | Description |
---|---|
|
Response body contains an array of ongoing and completed certification reviews. |
|
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 number of requests per unit of time, exceeded. Retry the request by using exponential back-off. |
|
Error occurred on the server. Retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Get certification review
Get the certification tracking information for the specified skill under review.
Request
To get the tracking information, you make a GET
request to the certifications
resource.
Request path and header example
GET /v1/skills/{skillId}/certifications/{certificationId}
Host: api.amazonalexa.com
Content-Type: application/json
Authorization: Bearer {access token}
Accept: application/json
Accept-Language: {language}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the skill. |
String |
Yes |
|
Path |
Identifies the certification review. To get the most recent review, use |
String |
Yes |
|
Header |
String |
Yes | |
|
Header |
To receive a localized response, set the language. |
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 the details of the specified certification.
On error, the response returns the appropriate HTTP status code and includes a response body with an error code and human readable message.
Response body example
{
"id": "certification ID",
"status": "IN_PROGRESS",
"skillSubmissionTimestamp": "2019-01-06T21:54:09.730Z",
"reviewTrackingInfo": {
"estimatedCompletionTimestamp": "2019-01-06T21:54:09.730Z",
"actualCompletionTimestamp": "2019-01-06T21:54:09.730Z",
"lastUpdated": "2019-01-06T21:54:09.730Z",
"estimationUpdates": [{
"originalEstimatedCompletionTimestamp": "2019-01-06T21:54:09.730Z",
"revisedEstimatedCompletionTimestamp": "2019-01-06T21:54:09.730Z",
"reason": "reason description"
}]
},
"result": {
"distributionInfo": {
"publishedCountries": [
"CA"
],
"publicationFailures": [{
"reason": "reason description",
"countries": [
"US"
]
}]
}
}
}
Response body properties
Property | Description | Type |
---|---|---|
|
Unique identifier for the certification. |
String |
|
Status of the certification review. |
String |
|
Date and time when the skill was submitted for certification. |
String |
|
Summary of the certification review. |
Object |
|
Estimated completion date and time of the certification. |
String |
|
For completed certifications, date and time of completion. |
String |
|
Date and time of the most recent update. |
String |
|
List of updates to estimated completion time for the certification review. |
Array of objects |
|
Date and time of the original completion estimate. |
String |
|
Up-to-date estimate for certification completion. |
String |
|
Reason for update to the original estimate. |
String |
|
For status = |
Object |
|
Identifies where Amazon distributed the skill. |
Object |
|
Countries where Amazon published the skill. |
Array of string |
|
For status = |
Array of object |
|
Reason why Amazon didn't publish the skill in this country. |
String |
|
Countries where Amazon didn't publish the skill. |
Array of string |
HTTP status codes
Status | Description |
---|---|
|
Response body contains the details of the specified certification. |
|
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 number of requests per unit of time, exceeded. Retry the request by using exponential back-off. |
|
Error occurred on the server. Retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Get skill versions
Get a list of versions for the specified skill.
Request
To get skill versions, you make a GET
request to the versions
resource.
Request path and header example
GET /v1/skills/{skillId}/versions?maxResults={maxResults}&nextToken={nextToken}
Host: api.amazonalexa.com
Content-Type: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the skill. |
String |
Yes |
|
Query |
Maximum number of results to return in the response. |
Integer |
No |
|
Query |
Token from the previous response. |
String |
No |
|
Header |
String |
Yes |
Request body example
The request has no body.
Request body properties
The response has no body.
Response
A successful response returns HTTP 200 OK
, along with a list of versions for the specified skill. Depending on the stage of the skill, the list might include up to three versions: DEVELOPMENT
, CERTIFIED
, LIVE
.
On error, the response returns the appropriate HTTP status code and includes a response body with an error code and human readable message.
Response body example
{
"_links": {
"self": {
"href": "amzn1.ask.skill.1"
}
},
"isTruncated": false,
"skillVersions": [{
"version": "2",
"creationTime": "2019-01-07T21:54:09.730Z",
"message": "Updating the skill icon, and description message.",
"submissions": [{
"status": "LIVE",
"submissionTime": "2019-01-07T21:54:09.730Z"
}]
},
{
"version": "1",
"creationTime": "2019-01-06T21:54:09.730Z",
"message": "Initial submission, excited to try this new feature.",
"submissions": [{
"status": "CERTIFIED",
"submissionTime": "2019-01-06T21:54:09.730Z"
}]
}
]
}
Response body properties
Property | Description | Type |
---|---|---|
|
Links for item navigation. |
_links object |
|
Indicates whether there are more items to return. If set to |
Boolean |
|
(Optional) Included when the response is truncated. Use this value in a subsequent request. |
String |
|
List of versions. |
Array of objects |
|
Version number of the skill. |
String |
|
List of versions. |
String |
|
Custom message for this skill version. |
String |
|
List of submissions for the version. |
Array of objects |
|
List of versions. |
String |
|
Data and time of submission of this version. |
String |
HTTP status codes
Status | Description |
---|---|
|
Response body contains list of skill versions. |
|
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 number of requests per unit of time, exceeded. Retry the request by using exponential back-off. |
|
Error occurred on the server. Retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Submit for certification
Submit the specified skill for certification, or submit for certification and publishing.
Request
To submit for certification, you make a POST
request to the submit
resource.
Request path and header example
POST /v1/skills/{skillId}/submit
Host: api.amazonalexa.com
Content-Type: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the skill. |
String |
Yes |
|
Header |
String |
Yes |
Request body example
{
"publicationMethod": "MANUAL_PUBLISHING",
"versionMessage": "Version 1"
}
Request body properties
Property | Description | Type | Required |
---|---|---|---|
|
Indicates whether to submit the skill for certification only, or to submit for certification and publication. Default: |
String |
No |
|
Description of the skill version. |
String |
No |
Response
A successful response returns HTTP 202 Accepted
, along with a Location
in the header that contains a path to the certification.
On error, the response returns the appropriate HTTP status code and includes a response body with an error code and human readable message.
Response body example
The response has no body.
Response body properties
The response has no body.
HTTP status codes
Status | Description |
---|---|
|
Request to submitted the skill for certification 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 number of requests per unit of time, exceeded. Retry the request by using exponential back-off. |
|
Error occurred on the server. Retry the request by using exponential back-off. |
|
Server is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request. |
Withdraw certification
Withdraw the specified skill from certification.
Request
To withdraw a certification, you make a POST
request to the withdraw
resource.
Request path and header example
POST /v1/skills/{skillId}/withdraw
Host: api.amazonalexa.com
Content-Type: application/json
Authorization: Bearer {access token}
Request path and header parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
|
Path |
Identifies the skill. |
String |
Yes |
|
Header |
String |
Yes |
Request body example
{
"reason": "DISCOVERED_ISSUE",
"message": "Issue found in testing account linking"
}
Request body properties
Property | Description | Type | Required |
---|---|---|---|
|
Indicates why you want to withdraw the skill from certification. Default: |
String |
Yes |
|
Description of the reason that you want to withdraw the skill from certification. Required when reason set to |
String |
No |
Response
A successful response returns HTTP 202 Accepted
.
On error, the response returns the appropriate HTTP status code and includes a response body with an error code and human readable message.
Response body example
The response has no body.
Response body properties
The response has no body.
HTTP status codes
Status | Description |
---|---|
|
Request to withdraw the skill for certification 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 number of requests per unit of time, exceeded. Retry the request by using exponential back-off. |
|
Error occurred on the server. 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: Aug 01, 2024