---
title: "GET /v2/list-test-case-definitions"
method: GET
path: "/v2/list-test-case-definitions"
---

# GET /v2/list-test-case-definitions

`GET /v2/list-test-case-definitions`

List test case definitions with pagination

## Query parameters

- `type` 'retell-llm' | 'conversation-flow', required
- `llm_id` string
- `conversation_flow_id` string
- `limit` integer
- `pagination_key` string

## Response `200`

Test case definitions retrieved successfully

- object
  - `pagination_key` string — Pagination key for the next page.
  - `has_more` boolean — Whether more results are available.
  - `items` TestCaseDefinition[]
    - `name` string, required — Name of the test case definition
    - `response_engine` union, required — Response engine for test cases. Custom LLM is not supported.
      - ResponseEngineRetellLm
        - `type` 'retell-llm', required — type of the Response Engine.
        - `llm_id` string, required — id of the Retell LLM Response Engine.
        - `version` number, nullable — Version of the Retell LLM Response Engine.
      - ResponseEngineConversationFlow
        - `type` 'conversation-flow', required — type of the Response Engine.
        - `conversation_flow_id` string, required — ID of the Conversation Flow Response Engine.
        - `version` number, nullable — Version of the Conversation Flow Response Engine.
    - `user_prompt` string, required — User prompt to simulate in the test case
    - `metrics` string[], required — Array of metric names to evaluate
    - `dynamic_variables` object, required — Dynamic variables to inject into the response engine
    - `tool_mocks` ToolMock[], required — Mock tool calls for testing
      - `tool_name` string, required — Name of the tool to mock
      - `input_match_rule` union, required
        - object
          - `type` 'any', required — Match any input of the tool
        - object
          - `type` 'partial_match', required — Match only calls with specific arguments
          - `args` object, required — Arguments to match. Only provided fields will be checked
      - `output` string, required — The output of the tool call that will be fed into the LLM. Should be a JSON string.
      - `result` boolean, nullable — For tool calls like transfer_call that require a boolean result. Optional for most tools.
    - `llm_model` 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-4.5-haiku' | 'gemini-2.5-flash-lite' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite', required — Available LLM models for agents.
    - `test_case_definition_id` string, required — Unique identifier for the test case definition
    - `type` 'simulation', required — Type of test case definition
    - `creation_timestamp` integer, required — Timestamp when the test case definition was created (milliseconds since epoch)
    - `user_modified_timestamp` integer, required — Timestamp when the test case definition was last modified (milliseconds since epoch)

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `429` — Too Many Requests
- `500` — Internal Server Error

---

[API](https://skmtc.net/retellai/apis/retell-sdk.md) · [All operations](https://skmtc.net/retellai/apis/retell-sdk/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/retellai/retell-sdk/versions/2a182bedbfc5/schema)
