# List what a test can reference on a version (/docs/api/voice-agents/agent-tests/getAgentTestOptions)

> For the complete documentation index, see [llms.txt](https://docs.tandemcx.ai/llms.txt). Any page on this site can be fetched as Markdown by appending `.md` to its URL.

`GET /v1/agent-media/agents/{agentId}/test-options`

List what a test can reference on a version

The tools a test can stub or check, and the dispositions a check can name, for one version. When `openToolNames` is true the version uses MCP tools, whose names are known only during a conversation, so any tool name is accepted.

## Request

**Base URL:** `https://api.tandemcx.ai`

**Authentication:** `Authorization: Bearer <token>` — A Tandem bearer token. Requests are scoped to the organization the token belongs to; no organization header is required.

### Path parameters

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `agentId` | string | Yes | The agent's unique ID. |

### Query parameters

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `version` | string | Yes | — |

## Responses

### 200 — The version's tools and dispositions.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `tools` | array of object | Yes | — |
| `tools[].name` | string | Yes | — |
| `tools[].source` | enum: `builtin` \| `agent_runtime` \| `integration` \| `workflow` \| `workflowHandoff` \| `agent` \| `node` \| `zendesk` \| `meridian` | Yes | — |
| `tools[].stubbable` | boolean | Yes | False for tools that always run for real in a test. |
| `tools[].readOnly` | boolean | Yes | True when a real call changes nothing outside the conversation. |
| `tools[].handoff` | boolean | Yes | A successful call ends the test case as a handoff. |
| `dispositions` | array of string | Yes | — |
| `openToolNames` | boolean | Yes | — |
| `workflowVariableNames` | array of string | Yes | Variables a `workflow_variable_set` check may name. |

### 400 — `error` is `invalid_request` when the `version` query parameter is missing; `version_incomplete`, with a `message`, when the version is missing required settings; or `invalid_agentId` for a malformed path.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | string | No | A stable machine-readable code. |
| `message` | string | No | A human-readable explanation, safe to show to an end user. Present on errors an operator can act on; browser clients display this field in preference to a generic fallback. |
| `limit` | integer | No | Present on some errors (e.g. `prompt_too_long`) that reject a value against a fixed bound: the bound itself. |
| `length` | integer | No | Present on some errors (e.g. `prompt_too_long`) that reject a value against a fixed bound: the measured size of the rejected value. |
| `reason` | string | No | Present on some errors (e.g. `invalid_avatar_image`) that have more than one cause: which one applied. |

### 401 — Missing, malformed, or expired bearer token.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | string | No | A stable machine-readable code. |
| `message` | string | No | A human-readable explanation, safe to show to an end user. Present on errors an operator can act on; browser clients display this field in preference to a generic fallback. |
| `limit` | integer | No | Present on some errors (e.g. `prompt_too_long`) that reject a value against a fixed bound: the bound itself. |
| `length` | integer | No | Present on some errors (e.g. `prompt_too_long`) that reject a value against a fixed bound: the measured size of the rejected value. |
| `reason` | string | No | Present on some errors (e.g. `invalid_avatar_image`) that have more than one cause: which one applied. |

### 404 — `error` is `not_found`: the resource does not exist.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | string | No | A stable machine-readable code. |
| `message` | string | No | A human-readable explanation, safe to show to an end user. Present on errors an operator can act on; browser clients display this field in preference to a generic fallback. |
| `limit` | integer | No | Present on some errors (e.g. `prompt_too_long`) that reject a value against a fixed bound: the bound itself. |
| `length` | integer | No | Present on some errors (e.g. `prompt_too_long`) that reject a value against a fixed bound: the measured size of the rejected value. |
| `reason` | string | No | Present on some errors (e.g. `invalid_avatar_image`) that have more than one cause: which one applied. |
