App Submission API for Testing
The App Submission API for Testing is a REST API that lets you programmatically register your app for Appstore DevTest and add testers.
Before using the API, you must set up access and obtain an OAuth session token, which you'll include in the HTTP header of each API request.
- Base URL
- Authentication
- Operations
- Register your app
- Add testers to DevTest for IAP
- Object definitions
Base URL
The base URL of the App Submission API for Testing is developer.amazon.com/api/appstore
.
Authentication
To configure access to the API, follow the steps in API Authentication in the App Submission API documentation.
Operations
The App Submission API for Testing includes the following operations.
Operation | HTTP method and URI |
---|---|
Register your app | POST /{apiVersion}/applications/{appId}/devtest/register |
Add testers | POST /{apiVersion}/applications/{appId}/tracks/{trackId}/testers |
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 a POST
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
POST /{apiVersion}/applications/{appId}/devtest/register
Host: developer.amazon.com/api/appstore
Content-Type: application/json
Authorization: Bearer {access token}
Request parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
apiVersion |
Path | Version of the API, currently v1 . |
String | Yes |
appId |
Path | Identifier for the app. Example: amzn1.devportal.mobileapp.dde7ec787b031584aa5f04606184041a . |
String | Yes |
access token |
Header | LWA token | String | Yes |
Request body example
{
"packageName": String,
"certificate": String
}
Request body properties
Parameter | Description | Type | Required |
---|---|---|---|
packageName |
The package name of your app. | String | Yes |
certificate |
The certificate you will use to sign your app. | String | Yes |
Response
A successful response returns HTTP 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
{
"trackId": "devtest"
}
Response body properties
Parameter | Description | Type |
---|---|---|
trackId |
Identifies the track for an app. For DevTest, the value is devtest . |
String |
HTTP status codes
Status | Description |
---|---|
200 OK |
App successfully registered for DevTest. |
404 Not Found |
Requested resource not found. |
400 Bad Request |
Indicates that one or more properties in the request body aren't valid or are absent. |
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 a POST
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
POST /{apiVersion}/applications/{appId}/tracks/{trackId}/testers
Host: developer.amazon.com/api/appstore
Content-Type: application/json
Authorization: Bearer {access token}
Request parameters
Parameter | Located in | Description | Type | Required |
---|---|---|---|---|
apiVersion |
Path | Version of the API, currently v1 . |
String | Yes |
appId |
Path | Identifier for the app. Example: amzn1.devportal.mobileapp.dde7ec787b031584aa5f04606184041a . |
String | Yes |
access token |
Header | LWA token | String | Yes |
Request body example
{
"groups": [{
"name": String,
"testers": [{
"firstName": String,
"lastName": String,
"email": String
}]
}]
}
Request body properties
Parameter | Description | Type | Required |
---|---|---|---|
groups |
List of tester groups. | List<TesterGroup> | Yes |
name |
Name of the tester group. | String | Yes |
testers |
List of testers. | List<Tester> | Yes |
firstName |
Tester's first name. | String | No |
lastName |
Tester's last name. | String | No |
email |
Tester's email address. | String | Yes |
Response
A successful response returns HTTP 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
{
"groups": List<String>,
"uniqueTesterCount" : Integer
}
Response body properties
Parameter | Description | Type |
---|---|---|
groups |
List of tester group names added to the DevTest registration for this app. | List<String> |
uniqueTesterCount |
The number of unique testers added across tester groups. | Integer |
HTTP status codes
Status | Description |
---|---|
200 OK |
Testers successfully added to DevTest for the app. |
404 Not Found |
Requested resource not found. |
400 Bad Request |
Indicates that one or more properties in the request body aren't valid or are absent. |
Object definitions
The App Submission API for Testing uses the following objects.
TesterGroup object
The TesterGroup
object contains the name of the tester group and a list of testers.
{
"name": String,
"testers": [{
"firstName": String,
"lastName": String,
"email": String
}]
}
Parameter | Description | Type |
---|---|---|
name |
Name of the tester group. | String |
testers |
List of testers. | List<Tester> |
Tester object
The Tester
object contains the tester details.
{
"firstName": String,
"lastName": String,
"email": String
}
Parameter | Description | Type |
---|---|---|
firstName |
Tester's first name. | String |
lastName |
Tester's last name. | String |
email |
Tester's email address. | String |
Last updated: May 22, 2025