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

> Retrieve a check run and its verdicts.

### Overview

Returns one check run with its per-judge verdicts. Poll this after [Start Check Run](https://docs.bland.ai/api-v2/post/agents-id-environments-env-check-runs.md) until `status` is `PASSED`, `FAILED`, `ERROR`, or `CANCELLED`; only then are `overall_passed` and `verdicts` final. The run is a report only: it never changes which version an environment runs.

### Headers

**authorization** `string` *required*

Your API key for authentication.

### Path Parameters

**agent\_id** `string` *required*

The agent's unique identifier.

**run\_id** `string` *required*

The check run's unique identifier, from the `id` returned by [Start Check Run](https://docs.bland.ai/api-v2/post/agents-id-environments-env-check-runs.md).

### Response

**data** `object`

The check run.

**check run object**

**id** `string`

Unique identifier for the check run.

**agent\_id** `string`

The agent the run belongs to.

**env\_type** `string`

The environment whose checks were run: `staging` or `production`.

**agent\_version\_id** `string`

The candidate version the run scored.

**semver** `string | null`

The candidate's published version number. `null` when the candidate has never been published, which is the normal case for a `staging` run.

**version\_name** `string | null`

The candidate's saved name, or `null` if it has none.

**status** `string`

`PENDING` (created, scoring not yet started), `RUNNING` (generating and scoring conversations), then one of the terminal states `PASSED`, `FAILED`, `ERROR`, or `CANCELLED`. A run that stays `PENDING` or `RUNNING` for 45 minutes is marked `ERROR` with the message `Check run timed out`.

**judge\_names** `array`

Display names of the judges frozen into the run when it started. Present while the run is in flight, before any verdicts exist.

**scenario\_count** `integer`

Number of scenarios the run drove conversations from.

**simulations\_count** `integer`

Conversations generated per scenario.

**overall\_passed** `boolean | null`

`true` when the run `PASSED`, meaning every judge with `required: true` passed. `false` when it `FAILED`. `null` while in flight, or when the run ended in `ERROR` or `CANCELLED` without a verdict. Informational judges (`required: false`) never affect this value.

**verdicts** `array | null`

Per-judge results, or `null` until the run completes. See `data.verdicts` below.

**simulation\_set\_id** `string | null`

ID of the generated conversation set. `null` until generation starts.

**eval\_run\_id** `string | null`

ID of the scoring run. `null` until scoring starts.

**error\_message** `string | null`

Why the run ended in `ERROR`, or `null`.

**triggered\_by** `string | null`

ID of the user who started the run, or `null` when started with an org-level key.

**created\_at** `string`

ISO 8601 timestamp the run was created.

**started\_at** `string | null`

When scoring began. `null` while `PENDING`.

**completed\_at** `string | null`

When the run reached a terminal status. `null` while in flight.

**data.verdicts** `array | null`

One entry per judge, in config order. `null` until the run completes.

**verdict object**

**eval\_agent\_id** `string`

The judge's unique identifier.

**eval\_agent\_version\_id** `string`

The judge version the run used.

**name** `string`

The judge's display name.

**required** `boolean`

Whether a failing verdict from this judge fails the run.

**target\_level\_keys** `array`

The grade levels counted as passing. Empty for pass/fail judges.

**match\_rate** `number | null`

Fraction of scored conversations, `0` to `1`, that landed on a passing level. `null` when no conversation produced a determinable result.

**score** `number | null`

Mean judge score across scored conversations on a `0` to `100` scale, rounded to one decimal. `null` when none were scored.

**passed** `boolean | null`

`true` when `match_rate` is at least `0.5`, `false` when it is lower, `null` when `match_rate` is `null`.

**errors** `null | array`

`null` on success, or a list of error objects if the request failed.

```json Response theme={null}
{
  "data": {
    "id": "fb12d904-efbe-4bb2-b167-04a5d8446fad",
    "agent_id": "3a5dff19-707a-4776-943e-809520a3592a",
    "env_type": "production",
    "agent_version_id": "20752a9f-c33c-49b1-914c-ba468ea4ad5f",
    "semver": "2.1.0",
    "version_name": "Insurance intake v2",
    "status": "PASSED",
    "judge_names": ["Resolution quality", "No policy violations"],
    "scenario_count": 2,
    "simulations_count": 5,
    "overall_passed": true,
    "verdicts": [
      {
        "eval_agent_id": "30dd62b6-13b2-4279-ac57-fdee065880a5",
        "eval_agent_version_id": "2ea22a1c-380f-4d94-90ce-0c30b003fbfc",
        "name": "Resolution quality",
        "required": true,
        "target_level_keys": ["good", "excellent"],
        "match_rate": 0.8,
        "score": 81.3,
        "passed": true
      },
      {
        "eval_agent_id": "0497636a-27e3-4b06-b05a-3f49a6610f4f",
        "eval_agent_version_id": "aed97f7b-4535-49d3-b125-c4692ab44d87",
        "name": "No policy violations",
        "required": false,
        "target_level_keys": [],
        "match_rate": 0.4,
        "score": 40.0,
        "passed": false
      }
    ],
    "simulation_set_id": "92e38d39-f377-4075-9ddc-724096d72d22",
    "eval_run_id": "4f96db0e-2456-4b70-81e9-155b3c29a9b5",
    "error_message": null,
    "triggered_by": "0ce6e187-38fa-40f7-95df-465368d7c104",
    "created_at": "2026-09-10T14:03:22.901Z",
    "started_at": "2026-09-10T14:03:25.144Z",
    "completed_at": "2026-09-10T14:16:58.377Z"
  },
  "errors": null
}
```

```json Not Found theme={null}
{
  "data": null,
  "errors": [
    {
      "error": "NOT_FOUND",
      "message": "Check run not found"
    }
  ]
}
```

***

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.