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

# List Workbench Setup Versions

> List all versions of a workbench setup.

### 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 whose versions you want to list.
</ParamField>

### Query Parameters

<ParamField query="limit" type="integer" default="25">
  Number of results to return. Between 1 and 100.
</ParamField>

<ParamField query="starting_after" type="string">
  Cursor: return results after this object ID.
</ParamField>

<ParamField query="ending_before" type="string">
  Cursor: return results before this object ID. Cannot be combined with `starting_after`.
</ParamField>

### Response

<ResponseField name="object" type="string">
  Always `"list"`.
</ResponseField>

<ResponseField name="data" type="array of objects">
  The list of versions. Each item contains the fields below.
</ResponseField>

<ResponseField name="data[].id" type="string">
  Unique identifier for this version.
</ResponseField>

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

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

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

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

<ResponseField name="data[].attached_agent_count" type="integer">
  Number of eval agents attached to this version.
</ResponseField>

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

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

<ResponseField name="data[].latest_run" type="object | null">
  Summary of the most recent run against this version, or `null` if none exist.

  * `id` - Run ID.
  * `status` - Status of the run.
  * `created_at` - ISO 8601 timestamp.
</ResponseField>

<ResponseField name="has_more" type="boolean">
  Whether more results exist beyond this page.
</ResponseField>

<ResponseField name="next_cursor" type="string | null">
  Cursor to pass as `starting_after` to fetch the next page, or `null` if there are no more results.
</ResponseField>

<ResponseExample>
  ```json Response theme={null}
  {
    "errors": null,
    "data": {
      "object": "list",
      "data": [
        {
          "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
          "workbench_setup_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "version_number": 4,
          "name": "Onboarding Quality Check",
          "state": "editable",
          "attached_agent_count": 4,
          "created_by": "9a8b7c6d-5e4f-3210-9876-543210fedcba",
          "created_at": "2026-05-20T14:00:00.000Z",
          "latest_run": null
        },
        {
          "id": "d4e5f6a7-b8c9-0123-defa-234567890123",
          "workbench_setup_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "version_number": 3,
          "name": "Onboarding Quality Check",
          "state": "archived",
          "attached_agent_count": 4,
          "created_by": "9a8b7c6d-5e4f-3210-9876-543210fedcba",
          "created_at": "2026-04-10T09:00:00.000Z",
          "latest_run": {
            "id": "e5f6a7b8-c9d0-1234-efab-345678901234",
            "status": "completed",
            "created_at": "2026-05-15T16:00:00.000Z"
          }
        }
      ],
      "has_more": false,
      "next_cursor": null
    }
  }
  ```
</ResponseExample>
