> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bland.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Workbench Setup Version

> Edit a draft version's attached agents, threshold, run mode, or default calls.

<Note>
  Only versions in the `editable` state can be updated. To make changes to a published (`archived`) version, fork a new draft from it first using the Create Workbench Setup Version endpoint.
</Note>

### Headers

<ParamField header="authorization" type="string" required>
  Your API key for authentication.
</ParamField>

### Path Parameters

<ParamField path="setup_id" type="string" required>
  The ID of the workbench setup.
</ParamField>

<ParamField path="version_id" type="string" required>
  The ID of the draft version to update.
</ParamField>

### Body Parameters

All fields are optional. Only include fields you want to update.

<ParamField body="name" type="string">
  Updated display name for the version. Between 1 and 200 characters.
</ParamField>

<ParamField body="description" type="string | null">
  Updated description, or `null` to clear it.
</ParamField>

<ParamField body="attached_agents" type="array">
  Replaces the full list of attached eval agents. Up to 20 agents. Each item requires:

  * `eval_agent_id` (string, required) - ID of the eval agent to attach.
  * `eval_agent_version_id` (string, required) - Version of the eval agent to use.
  * `weight` (number, required) - Relative weight for this agent in scoring (0-100).
  * `target_level_keys` (array of strings, required) - One or more target level keys this agent evaluates against.
</ParamField>

<ParamField body="pass_threshold_pct" type="integer | null">
  Percentage of calls that must pass for a run to be considered passing. Between 0 and 100, or `null` to clear.
</ParamField>

<ParamField body="run_mode" type="string">
  How calls are evaluated. One of `text`, `audio`, or `full`.
</ParamField>

<ParamField body="default_test_config_id" type="string | null">
  ID of the default test configuration to use for runs, or `null` to clear.
</ParamField>

<ParamField body="default_call_ids" type="array of strings">
  Default call IDs to evaluate against when no explicit call list is provided at run time. Replaces the existing list. Up to 5000 entries.
</ParamField>

### Response

<ResponseField name="data" type="object">
  The full updated version object.

  <Expandable title="version fields">
    <ResponseField name="id" type="string">
      Unique identifier for this version.
    </ResponseField>

    <ResponseField name="org_id" type="string">
      ID of the organization that owns this version.
    </ResponseField>

    <ResponseField name="workbench_setup_id" type="string">
      ID of the parent workbench setup.
    </ResponseField>

    <ResponseField name="version_number" type="integer">
      Monotonically increasing version number.
    </ResponseField>

    <ResponseField name="name" type="string">
      Display name of this version.
    </ResponseField>

    <ResponseField name="description" type="string | null">
      Description of this version, or `null` if not set.
    </ResponseField>

    <ResponseField name="state" type="string">
      `"editable"` for a draft, `"archived"` for a published snapshot.
    </ResponseField>

    <ResponseField name="attached_agents" type="array">
      Updated list of eval agents. Each item contains `eval_agent_id`, `eval_agent_version_id`, `weight` (0-100), and `target_level_keys` (array of strings).
    </ResponseField>

    <ResponseField name="pass_threshold_pct" type="integer | null">
      Updated pass threshold percentage (0-100), or `null` if not set.
    </ResponseField>

    <ResponseField name="run_mode" type="string">
      Updated run mode. One of `text`, `audio`, or `full`.
    </ResponseField>

    <ResponseField name="default_test_config_id" type="string | null">
      Updated default test configuration ID, or `null` if not set.
    </ResponseField>

    <ResponseField name="default_call_ids" type="array of strings">
      Updated default call IDs. Up to 5000 entries.
    </ResponseField>

    <ResponseField name="created_from_version_id" type="string | null">
      ID of the version this was forked from, or `null` if it is the first version.
    </ResponseField>

    <ResponseField name="created_by" type="string | null">
      Identifier of the user who created this version, or `null`.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp for when this version was created.
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      ISO 8601 timestamp for when this version was last updated.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="errors" type="null">
  `null` on success.
</ResponseField>

<ResponseExample>
  ```json Response theme={null}
  {
    "errors": null,
    "data": {
      "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "org_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "workbench_setup_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "version_number": 4,
      "name": "Onboarding Quality Check",
      "description": "Updated to include empathy grading.",
      "state": "editable",
      "attached_agents": [
        {
          "eval_agent_id": "e5f6a7b8-c9d0-1234-efab-345678901234",
          "eval_agent_version_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
          "weight": 40,
          "target_level_keys": ["good", "excellent"]
        },
        {
          "eval_agent_id": "a0b1c2d3-e4f5-6789-abcd-ef0123456789",
          "eval_agent_version_id": "b1c2d3e4-f5a6-7890-bcde-f01234567890",
          "weight": 60,
          "target_level_keys": ["acceptable", "good"]
        }
      ],
      "pass_threshold_pct": 80,
      "run_mode": "full",
      "default_test_config_id": null,
      "default_call_ids": [
        "call_abc123",
        "call_def456",
        "call_ghi789"
      ],
      "created_from_version_id": "d4e5f6a7-b8c9-0123-defa-234567890123",
      "created_by": "9a8b7c6d-5e4f-3210-9876-543210fedcba",
      "created_at": "2026-05-20T14:00:00.000Z",
      "updated_at": "2026-05-27T12:00:00.000Z"
    }
  }
  ```
</ResponseExample>
