Skip to main content
POST
/
apps
/
{id}
/
builds
Create Build
curl --request POST \
  --url https://api.docketqa.com/apps/{id}/builds \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --data '
{
  "name": "<string>",
  "s3_key": "<string>",
  "file_size": 123,
  "original_filename": "<string>",
  "set_as_current": true
}
'
Add a new build to an existing app. By default the new build is promoted to active; pass set_as_current: false to leave the active build unchanged. Call POST /apps/upload-url first to obtain an s3_key.

Path parameters

id
integer
required
App ID.

Request body

The build name field is name on this endpoint. (When creating an app’s first build via POST /apps/create the equivalent field is build_name.)
name
string
required
Unique within the app. Max 255 chars.
s3_key
string
required
From POST /apps/upload-url. Must belong to your company.
file_size
integer
required
Bytes uploaded.
original_filename
string
Used to preserve the file extension.
set_as_current
boolean
Default true. Set false to upload a build without affecting running tests; promote it later with Set Active Build.
{
  "name": "v1.2.0",
  "s3_key": "files/2/9c2e7f5a-..._acme.apk",
  "file_size": 92012544,
  "original_filename": "acme.apk"
}

Response

Returns { message, build, app }. app.current_build reflects the new active build when set_as_current is true. build.arch is "arm64" / "x86_64" / "universal" for Android (auto-detected from the binary) and null for iOS.

Errors

StatusCause
400Missing/invalid field, bad extension, or 32-bit-only Android binary.
403No mobile concurrency on plan, or s3_key not owned by your company.
404App not found in your account.
409A build named name already exists for this app.