Developer Console

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

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