Overview
General
The Apps Management API enables publishers to create and update multiple apps via Start.io (Formerly StartApp) Publisher Portal.
Base URL
The API URL is: https://api.start.io/pub/app?partner=[PARTNER_ID]&token=[TOKEN]
In order to receive the partner id and token, please contact us here. As the API is accessible only from allowed IPs, please also provide your IP white list.
Add Apps
General
Adding new apps is as simple as providing the apps' URLs! The relevant information for each app (like the name and platform) will be retrieved automatically from the app store.
Adding apps is done by sending an HTTP POST request to the base URL.
The request's Content-Type should be "application/json".
Request
The request body should contain an array of apps objects. Each app object contains the following attributes:
Name | Type | Mandatory | Description |
marketUrl | String | yes, for published apps | App URL (Google Play / iTunes) |
notPublished | Boolean | Indicates that the app is not published yet. Default: false | |
title | String | yes, for non published apps | The name of the app |
platform | String | yes, for non published apps | Accepts "android" or "ios". Can't be set for published apps. |
categoryCode | String | yes, for non published apps | The app's category. See list of accepted values. Can't be set for published apps. |
MaturityCode | String | yes, for non published apps | The app's maturity code. See list of accepted values. Can't be set for published apps. |
coppaCompliant | Boolean |
Whether the app is COPPA compliant or not. Default: false |
Response
The response body is a JSON object which contains:
Name | Type | Description |
data | Array | Array of app result objects (see below) |
hasErrors | Boolean | Whether there are errors inside the results |
errorId | String | Unique ID. Used for support purposes. Appears only in case there are errors. |
App result object is built as follows:
Name | Type | Appears on | Description |
success | Boolean | Always | Whether the request succeeded |
appId | Number | Success | Id of the new created app |
message | String | Error | Error message |
Add Apps - Examples
All Succeeded
Request:
URL: https://api.start.io/pub/app?partner=123456789&token=73732ca840cb90fe9c44a1117a3ceb6a
[
{
"marketUrl": "https://itunes.apple.com/il/app/my-talking-tom/id657500465"
}
]
Response:
{
"data": [
{
"success": true,
"appId": 123456789
}
],
"hasErrors": false
}
Some failed
Request:
URL: https://api.start.io/pub/app?partner=123456789&token=73732ca840cb90fe9c44a1117a3ceb6a
[
{
"marketUrl": "https://itunes.apple.com/il/app/my-talking-tom/id657500465"
},
{
"title": "My invalid app"
},
{
"notPublished": true,
"title": "My unpublished app",
"platform": "android",
"categoryCode": "A33",
"maturityCode": "0"
}
]
Response:
{
"data": [
{
"success": true,
"appId": 123456789
},
{
"success": false,
"message": "Invalid or missing fields: marketUrl"
},
{
"success": true,
"appId": 209081157
}
],
"hasErrors": true,
"errorId": "5cf3a928-3d46-471d-9396-b7ecdbe12f19"
}
Update Apps
General
When updating the market Url of an existing published app, the information on the new app is retrieved automatically from the app store.
Edit apps is done by sending an HTTP PUT request to the base URL.
The request's Content-Type should be "application/json".
Request
The request body should contain an array of apps objects. Each app object contains the following attributes:
Name | Type | Mandatory | Description |
appId | Number | yes | The ID of the app |
marketUrl | String | App URL (Google Play / iTunes). Published apps must have marketUrl. |
|
notPublished | Boolean | Indicates that the app is not published yet. Published apps cannot be unpublished. |
|
title | String | The name of the app | |
categoryCode | String | The app's category. See list of accepted values. Can't be set for published apps. |
|
MaturityCode | String | The app's maturity code. See list of accepted values. Can't be set for published apps. |
|
coppaCompliant | Boolean |
Whether the app is COPPA compliant or not |
Response
The response body is a JSON object which contains:
Name | Type | Description |
data | Array | Array of app result objects (see below) |
hasErrors | Boolean | Whether there are errors inside the results |
errorId | String | Unique ID. Used for support purposes. Appears only in case there are errors. |
App result object is built as follows:
Name | Type | Appears on | Description |
success | Boolean | Always | Whether the request succeeded |
appId | Number | Success | Id of the new created app |
message | String | Error | Error message |
Update Apps - Examples
All succeeded
Request:
URL: https://api.start.io/pub/app?partner=123456789&token=73732ca840cb90fe9c44a1117a3ceb6a
[
{
"appId": 123456789,
"coppaCompliant": true
}
]
Response:
{
"data": [
{
"success": true,
"appId": 123456789
}
],
"hasErrors": false
}
Some failed
Request:
URL: https://api.start.io/pub/app?partner=123456789&token=73732ca840cb90fe9c44a1117a3ceb6a
[
{
"appId": 123456789,
"title": "My new title"
},
{
"appId": 111111111,
"title": "Missing App"
},
{
"title": "I forgot the id"
},
{
"appId": 987654321,
"title": "Try to unpublish a published app",
"notPublished": true
}
]
Response:
{
"data": [
{
"success": true,
"appId": 123456789
},
{
"success": false,
"message": "Application not found"
},
{
"success": false,
"message": "Invalid or missing fields: appId"
},
{
"success": false,
"message": "Can't set published app as not published"
}
],
"hasErrors": true,
"errorId": "67261df2-dfa7-497b-9de4-a39ec3ce8db7"
}
Categories Codes List
iOS App categories
Code | Category |
I1 | Books |
I2 | Business |
I3 | Catalogs |
I4 | Education |
I5 | Entertainment |
I6 | Finance |
I7 | Food & Drink |
I8 | Games |
I9 | Health & Fitness |
I10 | Lifestyle |
I11 | Medical |
I12 | Music |
I13 | Navigation |
I14 | News |
I15 | Newsstand |
I16 | Photo & Video |
I17 | Productivity |
I18 | Reference |
I19 | Social Networking |
I20 | Sports |
I21 | Travel |
I22 | Utilities |
I23 | Weather |
Android App categories
Code | Category |
A1 | Books & Reference |
A2 | Business |
A3 | Comics |
A4 | Communication |
A5 | Education |
A6 | Entertainment |
A7 | Finance |
A8 | Health & Fitness |
A9 | Libraries & Demo |
A10 | Lifestyle |
A11 | Live Wallpaper |
A12 | Media & Video |
A13 | Medical |
A14 | Music & Audio |
A15 | News & Magazines |
A16 | Personalization |
A17 | Photography |
A18 | Productivity |
A19 | Shopping |
A20 | Social |
A21 | Sports |
A22 | A22 Tools |
A23 | Transportation |
A24 | Travel & Local |
A25 | Weather |
A26 | Widgets |
A27 | GAME_ACTION |
A28 | GAME_ADVENTURE |
A29 | GAME_ARCADE |
A30 | GAME_BOARD |
A31 | GAME_CARD |
A32 | GAME_CASINO |
A33 | GAME_CASUAL |
A34 | GAME_EDUCATIONAL |
A35 | GAME_FAMILY |
A36 | GAME_WALLPAPER |
A37 | GAME_MUSIC |
A38 | GAME_PUZZLE |
A39 | GAME_RACING |
A40 | GAME_ROLE_PLAYING |
A41 | GAME_SIMULATION |
A42 | GAME_SPORTS |
A43 | GAME_STRATEGY |
A44 | GAME_TRIVIA |
A45 | GAME_WIDGETS |
A46 | GAME_WORD |
A47 | Family Ages 5 & Under |
A48 | Family Ages 6-8 |
A49 | Family Ages 9 & up |
A50 | Family Action & Adventure |
A51 | Family Brain Games |
A52 | Family Creativity |
A53 | Family Education |
A54 | Family Music & Video |
A55 | Family Pretend Play |
A56 | Android Wear |
A57 | Art & Design |
A58 | Auto & Vehicles |
A59 | Beauty |
A60 | Dating |
A61 | Events |
A62 | House & Home |
A63 | Maps & Navigation |
A64 | Parenting |
A65 | Video Players & Editors |
A66 | Food & Drink |
Maturity Codes List
Value | Android APP | iOS APP |
0 | Everyone, PEGI 3 | 4+ |
1 | Low maturity, Everyone 10+ | 9+ |
2 | Medium maturity, Teen | 12+ |
3 | High maturity, Mature | 17+ |
4 | Adults only, Adults only 18+ | - |