---
title: "Set Latest Build"
method: POST
path: "/v2/builds/{build_id}/set-latest"
tags: ["builds"]
---

# Set Latest Build

`POST /v2/builds/{build_id}/set-latest`

## Request

- Base URL: `https://api.hud.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.hud.ai/v2/builds/{build_id}/set-latest`
- Auth: none declared

Pin a successful build as its registry's latest build.

## Path parameters

- `build_id` string, uuid, required

## Response `200`

Successful Response

- BuildResponse
  - `id` string, uuid, required
  - `registry_id` string, uuid, required
  - `status` string, required
  - `sdk_generation` string, required
  - `version` integer, nullable
  - `uri` string, nullable
  - `image_name` string, nullable
  - `digest` string, nullable
  - `content_digest` string, nullable
  - `lock` McpLock
    - `tools` Tool[]
      - `name` string, required
      - `title` string, nullable
      - `description` string, nullable
      - `inputSchema` object, required
      - `outputSchema` object, nullable
      - `icons` Icon[], nullable
        - `src` string, required
        - `mimeType` string, nullable
        - `sizes` string[], nullable
      - `annotations` ToolAnnotations: Additional properties describing a Tool to clients. NOTE: all properties in ToolAnnotations are **hints**. They are not guaranteed to provide a faithful description of tool behavior (including descriptive properties like `title`). Clients should never make tool use decisions based on ToolAnnotations received from untrusted servers.
        - `title` string, nullable
        - `readOnlyHint` boolean, nullable
        - `destructiveHint` boolean, nullable
        - `idempotentHint` boolean, nullable
        - `openWorldHint` boolean, nullable
      - `_meta` object, nullable
      - `execution` ToolExecution: Execution-related properties for a tool.
        - `taskSupport` 'forbidden' | 'optional' | 'required', nullable
    - `prompts` Prompt[]
      - `name` string, required
      - `title` string, nullable
      - `description` string, nullable
      - `arguments` PromptArgument[], nullable
        - `name` string, required
        - `description` string, nullable
        - `required` boolean, nullable
      - `icons` Icon[], nullable
        - `src` string, required
        - `mimeType` string, nullable
        - `sizes` string[], nullable
      - `_meta` object, nullable
    - `resources` Resource[]
      - `name` string, required
      - `title` string, nullable
      - `uri` string, uri, required
      - `description` string, nullable
      - `mimeType` string, nullable
      - `size` integer, nullable
      - `icons` Icon[], nullable
        - `src` string, required
        - `mimeType` string, nullable
        - `sizes` string[], nullable
      - `annotations` Annotations
        - `audience` string[], nullable
        - `priority` number, nullable
      - `_meta` object, nullable
    - `transport` 'http' | 'stdio' | 'channel'
  - `manifest` EnvManifest: What build introspection captured from a v6 image's control channel.
    - `env` ManifestEnv, required: Env identity from the control channel's `hello` reply.
      - `name` string, required
      - `version` string
    - `capabilities` ManifestCapability[]
      - `name` string, required
      - `protocol` string, required
    - `tasks` ManifestTask[]
      - `id` string, required
      - `description` string, nullable
      - `args` object, nullable
      - `input` object, nullable
      - `returns` object, nullable
  - `duration_seconds` integer, nullable
  - `error_message` string, nullable
  - `runtime_config` object, nullable
  - `source_index_status` 'pending' | 'indexing' | 'ready' | 'failed' | 'unavailable', required
  - `source_index_error` string, nullable
  - `source_index_started_at` string, date-time, nullable
  - `source_indexed_at` string, date-time, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, nullable
  - `branch` string, nullable
  - `github_url` string, nullable
  - `user_name` string, nullable
  - `scenario_count` integer, nullable

## Other responses

- `400`: Invalid or malformed request
- `401`: Missing or invalid credentials
- `403`: Caller may not access this resource
- `404`: Referenced entity does not exist
- `409`: Resource already exists
- `422`: Validation Error
- `429`: Rate limit exceeded; wait at least Retry-After seconds
- `503`: The server is at capacity; retry after Retry-After seconds

## Changes

- **2026-10-09** `76e7e99cfcd1`: 2 info
  - added the non-success response with the status `429`
  - added the non-success response with the status `503`
- **2026-10-05** `bfbeea10c39b`: 1 info
  - added the optional property `content_digest` to the response with the `200` status
- **2026-09-21** `74fedf0c50ba`: 2 warning
  - removed the optional property `errors/items/ctx` from the response with the `422` status
  - removed the optional property `errors/items/input` from the response with the `422` status
- **2026-09-16** `05b868460954`: 1 breaking, 9 info
  - the `detail` response's property type changed from `array` to `string` for status `422`
  - the response property `detail` became required for the status `422`
  - added the required property `error` to the response with the `422` status
  - added the required property `errors` to the response with the `422` status
  - …6 more

[Operation history](https://skmtc.dev/hud/apis/hud-platform/changes/v2/builds/:build_id/set-latest/post.md)

---

[API](https://skmtc.dev/hud/apis/hud-platform.md) - [All operations](https://skmtc.dev/hud/apis/hud-platform/llms.txt) - [OpenAPI document](https://skmtc.dev/hud/apis/hud-platform/revisions/d642039f5fa6?raw)
