---
title: "Promote a version to current [write]"
method: POST
path: "/harnesses/{id}/versions/{v}/current"
tags: ["harnesses"]
---

# Promote a version to current \[write\]

`POST /harnesses/{id}/versions/{v}/current`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/harnesses/{id}/versions/{v}/current`
- Auth: HTTP bearer

Marks this version as the current one for the harness. The previous current version moves back to ready. New agents created against this harness will pin this version. The version must be in ready or current status; a revoked version cannot be promoted. Returns 404 when the WORKSPACE_HARNESSES feature switch is off for this workspace. Returns 503 not_migrated when the backing tables are not yet present.

## Path parameters

- `id` string, required
- `v` string, required

## Response `200`

OK

- object
  - `version` HarnessVersion, required
    - `id` string, required: hrnv_… — internal version row id
    - `harness_id` string, required: hrn_… — the parent harness
    - `version` string, required: Version string, e.g. v1-4096m
    - `status` 'pending' | 'building' | 'ready' | 'current' | 'revoked', required: pending: registered, build not started. building: E2B template build in progress. ready: build succeeded; can be promoted. current: the version agents are created against; at most one per harness. revoked: explicitly withdrawn; cannot be promoted or used for new sessions.
    - `profile` HarnessProfile, required: The runtime description of a workspace harness: the distribution spec (npx, uvx or binary), optional auth command, bundled MCP servers, tools, features and other catalog fields the installer reads when it builds the template image.
      - `id` string, required
      - `name` string, required
      - `version` string, required
      - `distribution` union
        - object
        - object
          - `oci` object, required
            - `image` string, required
      - `auth_command` string[]
      - `bundled_mcp_servers` object[]
      - `configuration_files` object[]
      - `credential_args` object
      - `graceful_exit_timeout_seconds` number
      - `home_directories` string[]
      - `managed_model_id_template` string
      - `native_provider_setup` object
      - `pipeline` string
      - `prerequisites` object
      - `request_timeout_seconds` number
      - `requirements` string[]
      - `session_close_before_exit` boolean
      - `session_config_options` object
      - `session_load_supported` boolean
      - `session_parameters` object
      - `subscription_files` boolean
      - `docker_target` string
      - `tools` object[]
        - `id` string, required
        - `kind` string, required
        - `title` string
        - `requires` object
      - `features` string[]
      - `placement` 'in_sandbox' | 'remote'
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `default`: Error — { error: { code, message } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/harnesses/:id/versions/:v/current/post.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/0d435187cd55?raw)
