External accounts are links to app stores from which sales and other data is imported. The /external_accounts resource provides complete control and allows retrieving, updating, adding, and deleting external_accounts.
For a complete list of supported stores check out the integrations page.
Contents
Listing existing accounts
Request
GET /external_accounts
Scope: This resource requires the account:read scope.
Example Response
// GET /external_accounts
{
"50956": {
"id": 50956,
"account_id": 100101,
"nickname": "Main iTunes",
"username": "johnny@me.com",
"auto_import": true,
"store_id": 1,
"store": "apple",
"metadata": {
"vendor_id": 85261205
}
},
"31174": {
"id": 31174,
"account_id": 100101,
"nickname": "Android apps",
"username": "coolapps@gmail.com",
"auto_import": true,
"store_id": 2,
"store": "google_play",
"metadata": {
}
},
...
}
Looking up one account
Request
GET /external_accounts/{external_account_id}
Scope: This resource requires the account:read scope.
Example Response
// GET /external_accounts/31174
{
"id": 31174,
"account_id": 100101,
"nickname": "Android apps",
"username": "coolapps@gmail.com",
"auto_import": true,
"store_id": 2,
"store": "google_play".
"metadata": {
}
}
Creating a new external account
Request
POST /external_accounts/
Scope: This resource requires the account:write scope.
Arguments
Arguments should be passed in as a JSON object in the body of your request.
| Argument | Type | Description |
|---|---|---|
| nickname | String | A friendly name for this account |
| username | String | The username to the app store’s account |
| password | String | The password to the app store account |
| auto_import | Bool | true or false to import report for this account automatically |
| store | String | The type of account being linked. Possible options: apple, google_play, amazon. More types will be available in the future |
| metadata | JSON | Additional information related to this account. Currently, the only supported value is `vendor_id` for App Store Connect accounts. All other account types will have an empty object. |
Example Request
// POST /external_accounts/31174
{
"nickname": "A new account",
"username": "myusername",
"password": "p455w0rd!"
"auto_import": true,
"store": "apple"
}
Example Response
// POST /external_accounts/31174
{
"id": 31175,
"account_id": 100101,
"nickname": "A new account",
"username": "myusername",
"auto_import": true,
"store_id": 1,
"store": "apple"
}
Updating an external account
Request
PUT /external_accounts/{accountId}
Scope: This resource requires the account:write scope.
Arguments
Arguments should be passed in as a JSON object in the body of your request.
| Argument | Type | Description |
|---|---|---|
| nickname | String | A friendly name for this account |
| username | String | The username to the app store’s account |
| password | String | The password to the app store account |
| auto_import | String | true or false to import report for this account automatically |
Example Request
// GET /external_accounts/31175
{
"id": 31175,
"nickname": "Games Account",
"username": "awesomegames@me.com",
"auto_import": true,
"store": "apple"
}
// PUT /external_accounts/31175
{
"nickname": "A new Nickname(Games Account)",
"username": "awesomegames+edited@me.com",
"password": "ipl4yallth3timexx",
"auto_import": false,
"store": "apple"
}
Example Response
// PUT /external_accounts/31175 with above request body
{
"id": 31175,
"nickname": "A new Nickname(Games Account)",
"username": "awesomegames+edited@me.com",
"auto_import": false,
"store": "apple"
}
Deleting an external account
Request
DELETE /external_account/{id}
Scope: This resource requires the account:write scope.
Arguments
Example Response
// DELETE /external_accounts/90438 // HTTP 204
Note: Deleting an external account will not remove products or data associated with it.