Skip to main content
Client App BuilderVersion: v3

Get an APK build's status and download link.

GET/ai-builder-api/projects/{projectId}/app-config/apk-builds/{apkBuildId}

Read it again until status is finished, when artifactUrl is a short-lived download link, or failed, when error says why.

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>, where <token> is your access token.

Scope:clientportal-ai.readonly
Auth methods:OAuthPrivate Integration
Token type:Sub-Account Token

Request​

Headers

Versionstringrequired

The API version.

Available optionsv3
Example:v3

Path Parameters

projectIdstringrequired

The app's id.

Possible values: Value must match regular expression ^prj_[A-Za-z0-9_-]+$

Example:prj_a7ca4adc-be67-40ff-ae79-4f5acf56ac67
apkBuildIdstringrequired

The build's id, from the response that started it.

Possible values: Value must match regular expression ^apk_[a-f0-9]{32}$

Example:apk_3f1c0b9e2d4a6f8e0c1b3d5f7a9e2c4b

Response

Current durable APK build state.

idstringrequired

The build's id.

Possible values: Value must match regular expression ^apk_[a-f0-9]{32}$

Example:apk_3f1c0b9e2d4a6f8e0c1b3d5f7a9e2c4b
projectIdstringrequired

The app's id.

Possible values: Value must match regular expression ^prj_[A-Za-z0-9_-]+$

Example:prj_a7ca4adc-be67-40ff-ae79-4f5acf56ac67
revisionintegerrequired

The revision the APK is built from.

Possible values: >= 1

Example:4
appNamestringrequired

The app's name on the device.

Possible values: non-empty and <= 120 characters

Example:Run Club
statusstringrequired

Where the build is. Read it again until finished or failed.

Available optionsqueuedbuildingfinishedfailed
Example:building
artifactUrlstring<uri>

Short-lived signed GCS URL for the archived APK. Expo artifact URLs are never exposed.

Possible values: Value must match regular expression ^https://

Example:https://storage.googleapis.com/apk-artifacts/prj_a7ca4adc/apk_3f1c0b9e.apk?X-Goog-Signature=abc
errorstring

Creator-facing summary of why the build failed, safe to render as-is. Raw EAS, npm, or Gradle console output is never returned here; it stays in the build worker log.

Example:The Android build failed. Try again, or contact support if it keeps failing.
createdAtstring<date-time>required

When the build was requested.

Example:2026-10-23T11:30:00.000Z
updatedAtstring<date-time>required

When the build last changed state.

Example:2026-10-23T11:34:00.000Z
completedAtstring<date-time>

When the build finished or failed.

Example:2026-10-23T11:42:00.000Z