> ## 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

> Update a workbench setup's metadata or repoint its active version.

> [!NOTE]
>
> This endpoint updates setup-level fields only. To edit attached agents, the pass threshold, or run mode, update the setup's draft version using the Update Workbench Setup Version endpoint.

### Headers

**authorization** `string` *required*

Your API key for authentication.

### Path Parameters

**setup\_id** `string` *required*

The ID of the workbench setup to update.

### Body Parameters

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

**name** `string`

Updated display name for the setup. Between 1 and 200 characters.

**description** `string | null`

Updated description, or `null` to clear it.

**active\_version\_id** `string | null`

Repoint the published version to a different archived version ID. Set to `null` to unpublish the setup.

**metadata** `object`

Key-value metadata to associate with the setup. Values must be strings.

### Response

**data** `object`

An object containing the updated setup and its current draft version.

**setup**

**data.setup.id** `string`

Unique identifier for the workbench setup.

**data.setup.org\_id** `string`

ID of the organization that owns this setup.

**data.setup.key** `string`

Stable slug key for the setup.

**data.setup.name** `string`

Display name of the setup.

**data.setup.description** `string | null`

Description of the setup, or `null` if not set.

**data.setup.current\_version\_id** `string`

ID of the current editable draft version.

**data.setup.active\_version\_id** `string | null`

ID of the published version, or `null` if unpublished.

**data.setup.metadata** `object`

Key-value metadata. Values are strings.

**data.setup.created\_at** `string`

ISO 8601 timestamp for when the setup was created.

**data.setup.updated\_at** `string`

ISO 8601 timestamp for when the setup was last updated.

**data.setup.deleted\_at** `string | null`

ISO 8601 timestamp for when the setup was deleted, or `null` if not deleted.

**current\_version**

**data.current\_version.id** `string`

Unique identifier for this version.

**data.current\_version.org\_id** `string`

ID of the organization that owns this version.

**data.current\_version.workbench\_setup\_id** `string`

ID of the parent workbench setup.

**data.current\_version.version\_number** `integer`

Monotonically increasing version number.

**data.current\_version.name** `string`

Display name of this version.

**data.current\_version.description** `string | null`

Description of this version, or `null` if not set.

**data.current\_version.state** `string`

`"editable"` for a draft, `"archived"` for a published snapshot.

**data.current\_version.attached\_agents** `array`

Eval agents attached to this version. Each item contains `eval_agent_id`, `eval_agent_version_id`, `weight` (0-100), and `target_level_keys` (array of strings).

**data.current\_version.pass\_threshold\_pct** `integer | null`

Percentage of calls that must pass for a run to be considered passing (0-100), or `null` if not set.

**data.current\_version.run\_mode** `string`

How calls are evaluated. One of `text`, `audio`, or `full`.

**data.current\_version.default\_test\_config\_id** `string | null`

ID of the default test configuration, or `null` if not set.

**data.current\_version.default\_call\_ids** `array of strings`

Default call IDs to evaluate against. Up to 5000 entries.

**data.current\_version.created\_from\_version\_id** `string | null`

ID of the version this was forked from, or `null` if it is the first version.

**data.current\_version.created\_by** `string | null`

Identifier of the user who created this version, or `null`.

**data.current\_version.created\_at** `string`

ISO 8601 timestamp for when this version was created.

**data.current\_version.updated\_at** `string`

ISO 8601 timestamp for when this version was last updated.

**errors** `null`

`null` on success.

```json Response theme={null}
{
  "errors": null,
  "data": {
    "setup": {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "org_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "key": "onboarding-quality-check",
      "name": "Onboarding Quality Check v2",
      "description": "Updated evaluation suite for Q2 onboarding calls.",
      "current_version_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "active_version_id": "d4e5f6a7-b8c9-0123-defa-234567890123",
      "metadata": {
        "team": "cx"
      },
      "created_at": "2026-03-15T08:00:00.000Z",
      "updated_at": "2026-05-27T11:30:00.000Z",
      "deleted_at": null
    },
    "current_version": {
      "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 v2",
      "description": "Updated evaluation suite for Q2 onboarding calls.",
      "state": "editable",
      "attached_agents": [
        {
          "eval_agent_id": "e5f6a7b8-c9d0-1234-efab-345678901234",
          "eval_agent_version_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
          "weight": 50,
          "target_level_keys": ["good", "excellent"]
        }
      ],
      "pass_threshold_pct": 80,
      "run_mode": "audio",
      "default_test_config_id": null,
      "default_call_ids": [],
      "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-27T11:30:00.000Z"
    }
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.