Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get started
Connect with Matter
Alexa Connect Kit
Add-ons
Certify
Resources
Skip to main content
Use the Account Linking Management REST API to manage your skills information related to linking Alexa user accounts to other OAuth identity providers. For more details about account linking, see Account Linking Concepts. You can also use the Alexa Skills Kit Command Line Interface (ASK CLI) to manage account linking information.

API endpoint

The endpoint of the Account Linking Management 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 Account Linking Management API includes the following operations.
OperationHTTP method and URI
Delete account linking informationDELETE /v1/skills/{skillId}/stages/{stage}/accountLinkingClient
Get account linking informationGET /v1/skills/{skillId}/stages/{stage}/accountLinkingClient
Update account linking informationPUT /v1/skills/{skillId}/stages/{stage}/accountLinkingClient

Delete account linking information

Remove account linking information from the specified skill in the specified skill stage.

Request

To remove account linking information, you make a DELETE request to the accountLinkingClient resource.

Request path and header example

Request path and header parameters

ParameterLocated inDescriptionTypeRequired
skillIdPathIdentifies the skill.
Valid values: 1–255 characters.
StringYes
stagePathIndicates stage of the skill.
Valid values: development, live.
StringYes
access tokenHeaderLWA token.StringYes

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 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

StatusDescription
204 No ContentAccount linking information deleted successfully.
400 Bad RequestIndicates that one or more properties in the request body aren’t valid.
The following example shows the response body with the error code and message.
401 UnauthorizedRequest didn’t include the authorization token, or the included token expired or isn’t valid. Or, you don’t have access to the resource.
403 ForbiddenIndicates that the authorization token is valid, but the requested operation isn’t allowed.
404 Not FoundRequested resource not found.
429 Too Many RequestsPermitted rate limit, specified as number of requests per unit of time, exceeded. Retry the request by using exponential back-off.
500 Server ErrorError occurred on the server. Retry the request by using exponential back-off.
503 Service UnavailableServer is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request.
Get the account linking information associated with the specified skill. To get account linking information, you make a GET request to the accountLinkingClient resource.
ParameterLocated inDescriptionTypeRequired
skillIdPathIdentifies the skill.
Valid values: 1–255 characters.
StringYes
stagePathIndicates stage of the skill.
Valid values: development, live.
StringYes
access tokenHeaderLWA token.StringYes
The request has no body. The request has no body.

Response

A successful response returns HTTP 200 OK, along with the account linking information. For more details, see Account Linking Schemas. On error, the response returns the appropriate HTTP status code and includes a response body with an error code and human readable message.
PropertyDescriptionType
typeIdentifies the OAuth 2.0 grant type. For more details, see Grant types. Valid values: AUTH_CODE, IMPLICIT.String
authorizationUrlURL of your authorization server to which the Alexa app redirects the customer to enter login credentials for your system.String
domainsList of additional domains from which the authorization URL fetches content.Array of string
clientIdUnique public string that identifies the customer.String
scopesList of permissions that your skill requests from the customer.
For more details, see permissions.
Array of string
accessTokenUrlURL of your token server that can receive access and refresh token requests.String
accessTokenSchemeType of client authentication scheme.
Valid values: HTTP_BASIC, REQUEST_BODY_CREDENTIALS.
String
defaultTokenExpirationInSecondsNumber of seconds that the access token is valid.Integer
redirectUrlsList of URLs to redirect back to when the OAuth system initiates the linking process. Your authorization server calls this URI to take the user back to the Alexa app after the customer logs into your system.Array of string
authorizationUrlsByPlatformList of URLs by mobile platform used to start account linking.Array of objects
authorizationUrlsByPlatform[].platformTypeType of mobile platform that the customer uses to perform account linking.
Valid values: iOS, Android.
String
authorizationUrlsByPlatform[].platformAuthorizationUrlOAuth 2.0 authorization URL to open the app to authenticate the customer.
Valid values: iOS, Android.
String
voiceForwardAccountLinkingSpecifies whether the skill supports voice-forward account linking.
Valid values: ENABLED, DISABLED.
String
accountLinkingRequest.pkceConfigurationIndicates whether the authorization server supports Proof Key for Code Exchange (PKCE) with SHA-256 security measures.Object
accountLinkingRequest.pkceConfiguration.statusAuthorization server PKCE status.
Valid values: ENABLED, DISABLED.
String
accountLinkingRequest.pkceConfiguration.codeChallengeMethodMethod used to create a code challenge. Account linking supports the SHA-256 code challenge method only.
Valid value: S256.
String
StatusDescription
200 OKResponse body contains the account linking information. The response header contains an ETag that identifies the current version of the account linking information for the specified skill.
400 Bad RequestIndicates that one or more properties in the request body aren’t valid.
The following example shows the response body with the error code and message.
401 UnauthorizedRequest didn’t include the authorization token, or the included token expired or isn’t valid. Or, you don’t have access to the resource.
403 ForbiddenIndicates that the authorization token is valid, but the requested operation isn’t allowed.
404 Not FoundRequested resource not found.
429 Too Many RequestsPermitted rate limit, specified as number of requests per unit of time, exceeded. Retry the request by using exponential back-off.
500 Server ErrorError occurred on the server. Retry the request by using exponential back-off.
503 Service UnavailableServer is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request.
Update account linking information for the specified skill. To update account linking information, you make a PUT request to the accountLinkingClient resource.
ParameterLocated inDescriptionTypeRequired
skillIdPathIdentifies the skill.
Valid values: 1–255 characters.
StringYes
stagePathIndicates stage of the skill.
Valid values: development, live.
StringYes
etagHeaderCurrent version of the account linking information. Use Get account linking information to get the current version.StringYes
access tokenHeaderLWA token.StringYes
PropertyDescriptionTypeRequired
accountLinkingRequestDefines the updates to the account linking information.ObjectYes
accountLinkingRequest.typeIdentifies the OAuth 2.0 grant type. For more details, see Grant types. For smart home and video skills, you must set to AUTH_CODE.
Valid values: AUTH_CODE, IMPLICIT.
StringNo
accountLinkingRequest.authorizationUrlURL of your authorization server to which the Alexa app redirects the customer to enter login credentials for your system.StringNo
accountLinkingRequest.domainsList of additional domains from which the authorization URL fetches content. You can specify up to 15 domains.Array of stringNo
accountLinkingRequest.clientIdUnique public string that identifies the customer.StringNo
accountLinkingRequest.scopesList of permissions that your skill requests from the customer.
For more details, see permissions. Required for smart home and video skills.
Array of stringNo
accountLinkingRequest.accessTokenUrlURL of your token server that can receive access and refresh token requests. Required when type is AUTH_CODE.StringNo
accountLinkingRequest.accessTokenSchemeType of client authentication scheme. Required when type is AUTH_CODE.
Valid values: HTTP_BASIC, REQUEST_BODY_CREDENTIALS.
StringNo
accountLinkingRequest.defaultTokenExpirationInSecondsNumber of seconds that the access token is valid. Required when type is AUTH_CODE.IntegerNo
accountLinkingRequest.redirectUrlsList of URLs to redirect back to when the OAuth system initiates the linking process. Your authorization server calls this URI to take the user back to the Alexa app after the customer logs into your system.Array of stringNo
accountLinkingRequest.authorizationUrlsByPlatformList of URLs by mobile platform used to start account linking.Array of objectsNo
accountLinkingRequest.authorizationUrlsByPlatform[].platformTypeType of mobile platform that the customer uses to perform account linking.
Valid values: iOS, Android.
StringYes
accountLinkingRequest.authorizationUrlsByPlatform[].platformAuthorizationUrlOAuth 2.0 authorization URL to open the app to authenticate the customer.
Valid values: iOS, Android.
StringYes
accountLinkingRequest.skipOnEnablementIndicates whether to start account link when the customer enables the skill.
Set to true to let users enable the skill without starting the account linking flow. Set to false to require the normal account linking flow when users enable the skill.
BooleanNo
accountLinkingRequest.voiceForwardAccountLinkingSpecifies whether the skill supports voice-forward account linking.
Valid values: ENABLED, DISABLED. Default: DISABLED.
StringNo
accountLinkingRequest.pkceConfigurationIndicates whether the authorization server supports Proof Key for Code Exchange (PKCE) with SHA-256 security measures.ObjectNo
accountLinkingRequest.pkceConfiguration.statusAuthorization server PKCE status.
Valid values: ENABLED, DISABLED.
StringYes
accountLinkingRequest.pkceConfiguration.codeChallengeMethodMethod used to create a code challenge. Account linking supports the SHA-256 code challenge method only.
Valid value: S256.
StringYes
A successful response returns HTTP 204 No Content. On error, the response returns the appropriate HTTP status code and includes a response body with an error code and human readable message. The response has no body. The response has no body.
StatusDescription
200 OKAccount linking information updated successfully. The response header contains an ETag that identifies the current version of the account linking information for the specified skill.
400 Bad RequestIndicates that one or more properties in the request body aren’t valid.
The following example shows the response body with the error code and message.
401 UnauthorizedRequest didn’t include the authorization token, or the included token expired or isn’t valid. Or, you don’t have access to the resource.
403 ForbiddenIndicates that the authorization token is valid, but the requested operation isn’t allowed.
404 Not FoundRequested resource not found.
429 Too Many RequestsPermitted rate limit, specified as number of requests per unit of time, exceeded. Retry the request by using exponential back-off.
500 Server ErrorError occurred on the server. Retry the request by using exponential back-off.
503 Service UnavailableServer is down for maintenance, overloaded, or otherwise unavailable to handle the incoming request.
Last modified on July 14, 2026