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

# Get Test Run

> Retrieve detailed results for a specific test run including chat history, assertion results, and scores.

### Headers

**authorization** `string` *required*

Your API key for authentication.

### Path Parameters

**id** `string` *required*

The unique identifier of the test run.

### Response

**id** `string`

The unique identifier for the test run.

**scenario\_id** `string`

The ID of the scenario that was executed.

**status** `string`

The current status of the run. One of: `PENDING`, `RUNNING`, `PASSED`, `FAILED`, `ERROR`, `CANCELLED`.

**chat\_history** `array of objects`

The full conversation history between the simulated persona and the agent. Each entry contains:

* `role` - Either `user` (the persona) or `assistant` (the agent).
* `content` - The text spoken in that turn.

**variables\_extracted** `object`

Variables that were extracted or set during the test run. Keys are variable names, values are the extracted values.

**nodes\_visited** `array of strings`

An ordered list of pathway node IDs that were visited during the test run.

**current\_node\_id** `string`

The node ID where the conversation ended.

**turn\_count** `integer`

The total number of conversational turns in the test run.

**duration\_ms** `integer`

The total duration of the test run in milliseconds.

**overall\_score** `number`

A score between 0 and 1 representing how well the agent performed across all assertions and evaluations.

**bland\_tone\_score** `object`

A detailed tone analysis of the agent's responses. Contains:

* `naturalness` - Score (0-1) for how natural the agent sounded.
* `conciseness` - Score (0-1) for response brevity and clarity.
* `empathy` - Score (0-1) for empathetic responses.
* `flow_preservation` - Score (0-1) for maintaining conversation flow.
* `back_channeling` - Score (0-1) for appropriate use of acknowledgments.
* `topic_transitions` - Score (0-1) for smooth topic changes.
* `overall_tone_score` - Aggregate tone score (0-1).
* `issues` - Array of identified tone issues.
* `examples` - Array of specific examples from the conversation.

**assertion\_results** `array of objects`

Results for each assertion defined in the scenario. Each entry includes the assertion configuration and whether it passed or failed.

**error\_message** `string`

If the run status is `ERROR`, this contains a description of what went wrong. Otherwise `null`.

**created\_at** `string`

ISO 8601 timestamp for when the run was created.

```json Response theme={null}
{
  "id": "a3f1b2c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
  "scenario_id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
  "pathway_id": "b1693602-c05e-4b5c-b187-d0189a42aebf",
  "persona_id": "c2d3e4f5-6a7b-8c9d-0e1f-2a3b4c5d6e7f",
  "batch_id": null,
  "status": "PASSED",
  "chat_history": [
    {
      "role": "assistant",
      "content": "Hello! Thanks for calling Acme Dental. How can I help you today?"
    },
    {
      "role": "user",
      "content": "Hi, I'd like to book a cleaning appointment for next week."
    },
    {
      "role": "assistant",
      "content": "I'd be happy to help you schedule a cleaning. Let me check our availability. Do you have a preferred day next week?"
    },
    {
      "role": "user",
      "content": "Tuesday or Wednesday would work best for me."
    },
    {
      "role": "assistant",
      "content": "We have openings on Tuesday at 10 AM and Wednesday at 2 PM. Which works better for you?"
    },
    {
      "role": "user",
      "content": "Tuesday at 10 AM sounds perfect."
    },
    {
      "role": "assistant",
      "content": "Great, I've booked your cleaning appointment for Tuesday at 10 AM. You'll receive a confirmation text shortly. Is there anything else I can help with?"
    },
    {
      "role": "user",
      "content": "No, that's all. Thank you!"
    },
    {
      "role": "assistant",
      "content": "You're welcome! We'll see you Tuesday. Have a great day!"
    }
  ],
  "variables_extracted": {
    "appointment_date": "2026-04-21",
    "appointment_time": "10:00",
    "service_type": "cleaning"
  },
  "nodes_visited": [
    "greeting",
    "identify_intent",
    "check_availability",
    "offer_slots",
    "confirm_booking",
    "closing"
  ],
  "current_node_id": "closing",
  "turn_count": 9,
  "duration_ms": 14320,
  "overall_score": 0.92,
  "bland_tone_score": {
    "naturalness": 0.95,
    "conciseness": 0.88,
    "empathy": 0.91,
    "flow_preservation": 0.93,
    "back_channeling": 0.85,
    "topic_transitions": 0.90,
    "overall_tone_score": 0.91,
    "issues": [],
    "examples": [
      {
        "turn": 3,
        "category": "empathy",
        "text": "I'd be happy to help you schedule a cleaning.",
        "sentiment": "positive"
      }
    ]
  },
  "assertion_results": [
    {
      "assertion_id": "d4e5f6a7-8b9c-0d1e-2f3a-4b5c6d7e8f9a",
      "type": "contains",
      "target": "transcript",
      "expected": "appointment",
      "passed": true
    },
    {
      "assertion_id": "e5f6a7b8-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
      "type": "node_visited",
      "target": "nodes_visited",
      "expected": "confirm_booking",
      "passed": true
    },
    {
      "assertion_id": "f6a7b8c9-0d1e-2f3a-4b5c-6d7e8f9a0b1c",
      "type": "variable_equals",
      "target": "variables_extracted",
      "field": "service_type",
      "expected": "cleaning",
      "passed": true
    }
  ],
  "error_message": null,
  "created_at": "2026-04-14T10:30:00.000Z"
}
```

***

Docs for agents: [llms.txt](https://docs.bland.ai/llms.txt)


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