Retrieves full details for a single Foundation OS build by its unique Foundry build ID.
Use this endpoint to inspect a specific build's metadata — including its architecture, Foundation version numbers, Android SDK level, approval status, and lifecycle state — before approving it or locking it to a device model for auto-update.
About Get Foundry Build
Foundry builds are the individual compiled OS images that make up the Foundation update catalog. Each build is identified by a UUID (build_id) and carries detailed metadata about the OS it contains: Foundation major/minor/build version numbers, Android version, CPU architecture, build hash, and whether it has been approved for OTA deployment. This endpoint returns the full Build_V1 object for a single build, providing the complete picture needed for approval or deployment decisions.
Key Fields / Query Parameters
build_id (path, required) — UUID of the Foundry build to retrieve
foundation_major_number / foundation_minor_number / foundation_build_number — Foundation version components of the build
android_major_version / android_sdk_level — Android version metadata
build_arch — CPU architecture (arm, arm64, x86, x86_64)
approved — Whether the build has been approved for OTA deployment
build_state — Lifecycle status: released, to_be_deprecated, or unavailable
deprecated_on — Date the build was or will be deprecated
release_notes — JSON-formatted release notes for the build
Common Use Cases
Confirming a build's approval status and lifecycle state before using its build_id in a device model auto-update configuration
Reviewing release notes and version metadata for a specific build ahead of a planned deployment
Retrieving build details to display in internal tooling or audit records
Best Practices
Always check approved and build_state before proceeding with deployment — only approved: true builds in released state are safe to deploy
Store the build_fingerprint_hash if you need to identify this build later via the list endpoint's locked filter
Review deprecated_on to understand the support window remaining for this build
Workflow
Obtain a build_id from GET /v1/foundry/builds/ filtered by device model and architecture
Call GET /v1/foundry/builds/{build_id}/ to confirm approval status, version details, and release notes
Proceed to PUT /v1/foundry/builds/{build_id}/ to approve the build, or PUT /v1/foundry/device-models/{device_model_id}/ to lock it for auto-update
- Mock serverhttps://api.esper.io/_mock/openapi/v1/foundry/builds/{build_id}/
- https://develop-api.esper.cloud/apihttps://develop-api.esper.cloud/api/v1/foundry/builds/{build_id}/
curl -i -X PUT \
'https://api.esper.io/_mock/openapi/v1/foundry/builds/{build_id}/' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"approve": true,
"user_remarks": "string"
}'{ "data": { "build_id": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "deprecated_on": "2019-08-24T14:15:22Z", "created_by": "string", "updated_by": "string", "ab_update": true, "android_major_version": 0, "android_minimum_sdk_level": 0, "android_minor_version": "string", "android_sdk_level": 0, "build_arch": "string", "build_flavor": "string", "build_hash": "string", "build_ota_hash": "string", "build_job_url": "string", "build_job_id": 0, "build_fingerprint_hash": "string", "build_type": "string", "build_url": "string", "build_update_meta_data": "string", "build_update_url": "string", "file_size_kb": 0, "foundation_build_number": 0, "foundation_major_number": 0, "foundation_minor_number": 0, "foundation_name": "string", "model_display_name": "string", "build_job_params": "string", "prebuilt_app_info": "string", "release_notes": "string", "release_rating": "string", "source_build_id": "string", "build_state": "released", "device_model_id": "string", "approved": true } }