Builds
Get Application Builds
GET https://api.appelium.com/v1/applications/:applicationId/builds
The method will return a list of all builds for the provided applicationId.
Parameters
| NAME | PLACEMENT | TYPE | DESCRIPTION |
|---|---|---|---|
applicationIdRequired |
Path | int |
The ID of the application |
X-Appelium-TokenRequired |
Header | string |
API token generated in Dashboard |
distributionGroupName |
Query | string |
Filter only builds that are part of a specific distribution group |
200: OK
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
401: Unauthorized
{
"id": "388677B7-B016-4A6C-A8AE-887B3814114C",
"httpStatus": 401,
"title": "Unauthorized",
"detail": "Invalid or missing X-Appelium-Token header"
}
Get Build by ID
GET https://api.appelium.com/v1/builds/:buildId
The method will return a Build based on the provided buildId.
Parameters
| NAME | PLACEMENT | TYPE | DESCRIPTION |
|---|---|---|---|
buildIdRequired |
Path | int |
The ID of the Build to fetch |
X-Appelium-TokenRequired |
Header | string |
API token generated in Dashboard |
200: OK
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
401: Unauthorized
{
"id": "388677B7-B016-4A6C-A8AE-887B3814114C",
"httpStatus": 401,
"title": "Unauthorized",
"detail": "Invalid or missing X-Appelium-Token header"
}
404: Not Found
{
"id": "388677B7-B016-4A6C-A8AE-887B3814114C",
"httpStatus": 404,
"title": "Not found",
"detail": "Build with given ID doesn't exist"
}
Create Application Build
POST https://api.appelium.com/v2/builds
Use this method to automate builds upload from your CI/CD pipelines. The build will automatically be assigned to the correct app in your dashboard based on package or bundle identifier of the binary.
The build binary (.apk or .ipa) is sent as the raw request body. Metadata is provided through
X-Appelium-* request headers. The platform of the binary is inferred from the application referenced
by X-Appelium-Application-Alias, so a single endpoint is used for both Android and iOS uploads.
Release notes can no longer be set when creating a build. Use the update endpoint below to attach release notes after the build has been created.
Parameters
| NAME | PLACEMENT | TYPE | DESCRIPTION |
|---|---|---|---|
X-Appelium-TokenRequired |
Header | string |
API token generated in Dashboard. |
X-Appelium-Application-AliasRequired |
Header | string |
Application alias (visible in Application settings screen in Dashboard). |
Content-TypeRecommended |
Header | string |
application/vnd.android.package-archive for .apk, application/octet-stream for .ipa. |
| Request body Required |
Body | binary | Raw .apk or .ipa file content. |
Example (Android)
curl -X POST "https://api.appelium.com/v2/builds" \
-H "X-Appelium-Token: <your-token>" \
-H "X-Appelium-Application-Alias: <your-app-alias>" \
-H "Content-Type: application/vnd.android.package-archive" \
--data-binary @app-release.apk
Example (iOS)
curl -X POST "https://api.appelium.com/v2/builds" \
-H "X-Appelium-Token: <your-token>" \
-H "X-Appelium-Application-Alias: <your-app-alias>" \
-H "Content-Type: application/octet-stream" \
--data-binary @MyApp.ipa
201: Created
{
"id": 12345,
"shortVersion": "2.4.0",
"version": "42",
"bundleIdentifier": "com.appelium.demo",
"installUrl": "itms-services://?action=download-manifest&url=https://...",
"expirationDate": "2025-06-01T12:00:00.000Z"
}
404: Not Found
In case an application with the given X-Appelium-Application-Alias is not found in the workspace.
401: Unauthorized
{
"id": "388677B7-B016-4A6C-A8AE-887B3814114C",
"httpStatus": 401,
"title": "Unauthorized",
"detail": "Invalid or missing X-Appelium-Token header"
}
Update Application Build
PATCH https://api.appelium.com/v2/builds/:buildId
Updates an existing build. Currently used to attach (or clear) release notes after a build has been uploaded via the create endpoint above.
Parameters
| NAME | PLACEMENT | TYPE | DESCRIPTION |
|---|---|---|---|
X-Appelium-TokenRequired |
Header | string |
API token generated in Dashboard. |
buildIdRequired |
Path | int |
The ID of the Build to update. |
releaseNotes |
Body | string |
Release notes for the build. Pass null or omit to clear existing notes. |
Sample request payload:
{
"releaseNotes": "- Fixed crash on launch\n- Improved upload performance"
}
200: OK
The updated build is returned in the response body.
404: Not Found
In case a build with the given ID was not found.
401: Unauthorized
{
"id": "388677B7-B016-4A6C-A8AE-887B3814114C",
"httpStatus": 401,
"title": "Unauthorized",
"detail": "Invalid or missing X-Appelium-Token header"
}
Create Application Build (legacy)
POST https://api.appelium.com/v1/builds
Deprecated
This endpoint accepts multipart/form-data and is kept for backwards compatibility with existing
CI/CD integrations. New integrations should use the v2 endpoint above.
Use this method to automate builds upload from your CI/CD pipelines. The builds will automatically be assigned to the correct app in your dashboard based on package or bundle identifier.
Parameters
| NAME | PLACEMENT | TYPE | DESCRIPTION |
|---|---|---|---|
X-Appelium-TokenRequired |
Header | string |
API token generated in Dashboard |
applicationAliasRequired |
Form data | string |
Application alias (visible in Application settings screen in Dashboard). |
apk |
Form data | binary | .apk file content in case you are uploading an Android application |
ipa |
Form data | binary | .ipa file content in case you are uploading an iOS application |
releaseNotes |
Form data | string | Optional release note for the build |
201: Created
{
"id": 12345,
"shortVersion": "2.4.0",
"version": "42",
"bundleIdentifier": "com.appelium.demo",
"installUrl": "itms-services://?action=download-manifest&url=https://...",
"expirationDate": "2025-06-01T12:00:00.000Z"
}
404: Not Found
In case the an application with matching bundle identifier or package name is not found.
401: Unauthorized
{
"id": "388677B7-B016-4A6C-A8AE-887B3814114C",
"httpStatus": 401,
"title": "Unauthorized",
"detail": "Invalid or missing X-Appelium-Token header"
}
Distribute Application Build
POST https://api.appelium.com/v1/builds/:buildId/distribute
Use this method to distribute a builds to your testers.
Parameters
| NAME | PLACEMENT | TYPE | DESCRIPTION |
|---|---|---|---|
X-Appelium-TokenRequired |
Header | string |
API token generated in Dashboard |
buildIdRequired |
Path | string |
Id of a Build |
distributionGroupNames |
Body | string[] |
List of all distribution group names to which the build should be distributed* |
distributionGroupIds |
Body | int[] |
List of all distribution group IDs to which the build should be distributed* |
notifyTesters |
Body | boolean |
When set to true, the testers will be notified about a new build |
- Note that either
distributionGroupNamesordistributionGroupIdsmust be specified. If both specified, thendistributionGroupIdshas priority.
Sample request payload:
{
"distributionGroupNames": ["Internal testers", "Public group"],
"notifyTesters": true
}
201: Created
In case a build was successfully distributed.
404: Not Found
In case a build with given ID was not found.
401: Unauthorized
{
"id": "388677B7-B016-4A6C-A8AE-887B3814114C",
"httpStatus": 401,
"title": "Unauthorized",
"detail": "Invalid or missing X-Appelium-Token header"
}
Delete Application Build
DELETE https://api.appelium.com/v1/builds/:buildId
Use this method to delete a build.
Parameters
| NAME | PLACEMENT | TYPE | DESCRIPTION |
|---|---|---|---|
buildIdRequired |
Path | string |
The id of a build which should be deleted. |
X-Appelium-TokenRequired |
Header | string |
API token generated in Dashboard |
204: No Content
In case the build was successfully deleted.
401: Unauthorized
{
"id": "388677B7-B016-4A6C-A8AE-887B3814114C",
"httpStatus": 401,
"title": "Unauthorized",
"detail": "Invalid or missing X-Appelium-Token header"
}