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.
Request
The API version.
v3The app's id.
Possible values: Value must match regular expression ^prj_[A-Za-z0-9_-]+$
The build's id, from the response that started it.
Possible values: Value must match regular expression ^apk_[a-f0-9]{32}$
Current durable APK build state.
- application/json
- Schema
- Example (auto)
Schema
The build's id.
Possible values: Value must match regular expression ^apk_[a-f0-9]{32}$
The app's id.
Possible values: Value must match regular expression ^prj_[A-Za-z0-9_-]+$
The revision the APK is built from.
Possible values: >= 1
The app's name on the device.
Possible values: non-empty and <= 120 characters
Where the build is. Read it again until finished or failed.
queuedbuildingfinishedfailedShort-lived signed GCS URL for the archived APK. Expo artifact URLs are never exposed.
Possible values: Value must match regular expression ^https://
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.
When the build was requested.
When the build last changed state.
When the build finished or failed.
{
"id": "apk_3f1c0b9e2d4a6f8e0c1b3d5f7a9e2c4b",
"projectId": "prj_a7ca4adc-be67-40ff-ae79-4f5acf56ac67",
"revision": 4,
"appName": "Run Club",
"status": "building",
"artifactUrl": "https://storage.googleapis.com/apk-artifacts/prj_a7ca4adc/apk_3f1c0b9e.apk?X-Goog-Signature=abc",
"error": "The Android build failed. Try again, or contact support if it keeps failing.",
"createdAt": "2026-10-23T11:30:00.000Z",
"updatedAt": "2026-10-23T11:34:00.000Z",
"completedAt": "2026-10-23T11:42:00.000Z"
}