Base URL
The base URL of the App Submission API for Testing isdeveloper.amazon.com/api/appstore.
Authentication
To configure access to the App Submission API for Testing, you must first create a security profile and associate it with the API in the Developer Console. Then, request an access token using the Login With Amazon API and add the token to the HTTP header in each API request.Create a security profile
Before you can use the API, you must create a security profile. A security profile generates access tokens, which you use to access the API. To create a security profile- Sign in to your Amazon Developer Console account.
- From the top navigation, select Tools & Services > API Access.
-
Select the App Submission API.

This example shows the App Submission API
- Click Create a new security profile.
- Enter a security profile name and security profile description for your new profile, then click Save.
-
From the Web Settings tab, save your client ID and client secret as you need this information to access the API.
Associate the security profile with the API
After you create the security profile, you must associate it with the API in the Developer Console. To associate the security profile with the API- Navigate to the API Access page by selecting Tools & Services > API Access.
- Click the API name to expand the panel.
- Select the security profile that you created in the previous section from the drop-down list.
-
Select Attach to associate the security profile with this API.
The API name and attached security profile is added to the Security Profile(s) in use panel.
Request an LWA access token
With your client ID and client secret, use the Login With Amazon API to request a Login with Amazon access token by following these steps.Send a token request
Send aPOST request to https://api.amazon.com/auth/o2/token with the following header and content:
- Header:
Content-Type: application/x-www-form-urlencoded - Content:
client_id: The client ID you saved in the final step of Create a Security Profile.client_secret: The client secret you saved in the final step of Create a Security Profile.grant_type: Set toclient_credentials.scope: Set the value toappstore::apps:readwrite.
Save the response
The following is an example response.access_token: The access token.expires_in: The number of seconds until the access token expires.scope: Alwaysappstore::apps:readwrite.
token_type: Alwaysbearer.
Handle any error responses
If your token request results in an error, the response message body includes one of the following error messages:How to use the access token
Save your access token, which is theaccess_token field in the response from Request an LWA Access Token.
When you send requests to the API, set the Authorization header with a value of . The access token is a long string of characters beginning with “Atc|”.
Sample cURL request:
Operations
The App Submission API for Testing includes the following operations.Register your app
Registers your app for Appstore DevTest for In-App Purchasing (IAP).Request
To register your app for Appstore DevTest for IAP, you make aPOST request to the /{apiVersion}/applications/{appId}/devtest/register endpoint. In the request body, provide your app’s package name and the certificate you will use to sign the app.
Request example
Request parameters
Request body example
Request body properties
Response
A successful response returnsHTTP 200 OK, along with the trackId, which you’ll use in the add testers request. 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
Response body properties
HTTP status codes
Add testers to DevTest for IAP
Adds testers to the DevTest environment for IAP testing.Request
To add testers to DevTest for IAP, you make aPOST request to the /{apiVersion}/applications/{appId}/tracks/{trackId}/testers endpoint. In the request, you must use the trackId returned in the registration response. You must also specify the tester group names that you want to add your testers to, and provide the tester details.
Request example
Request parameters
Request body example
Request body properties
Response
A successful response returnsHTTP 200 OK and includes a list of the tester groups added and the number of unique testers across the groups. 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
Response body properties
HTTP status codes
Object definitions
The App Submission API for Testing uses the following objects.TesterGroup object
TheTesterGroup object contains the name of the tester group and a list of testers.
Tester object
TheTester object contains the tester details.

