Skip to content

Update Foundry build

Request

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

Security
foundation_AuthToken
Path
build_idstringrequired

A build UUID specifying the Foundry Build

Bodyapplication/jsonrequired
approveboolean
user_remarksstring
cURL
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"
  }'

Responses

Updated

Bodyapplication/json
dataobject(foundation_Build_V1)
Response
{ "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 } }