Get Checks
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "a9803aa7-4185-42d8-91ed-6e20acaaf00c",
"agent_id": "73237018-be24-4b18-a511-15229010ed10",
"env_type": "production",
"enabled": true,
"scenario_ids": [
"96f9f8b4-8bef-4a6a-9678-1eb5f6b9d368",
"b1e42393-9f35-42b1-b60b-26910da451fc"
],
"scenario_names": [
"Reschedule an appointment",
"Caller asks for a human"
],
"simulations_count": 5,
"evals": [
{
"eval_agent_id": "61085de3-2ec3-404e-92f4-58b49a5c54b0",
"eval_agent_version_id": "88546c14-d434-4c41-b376-e35f123bd7c8",
"name": "Resolution quality",
"target_level_keys": ["good", "excellent"],
"required": true
},
{
"eval_agent_id": "0284f93e-1d87-46eb-8e4d-8a774b78fa1e",
"eval_agent_version_id": "242a6ae3-ae74-4088-b878-63aecdc50717",
"name": "No policy violations",
"target_level_keys": [],
"required": false
}
],
"created_at": "2026-09-08T16:20:11.402Z",
"updated_at": "2026-09-10T09:05:47.918Z"
},
"errors": null
}
{
"data": null,
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Checks
Get Checks
Retrieve an environment’s check config.
GET
/
v2
/
agents
/
{agent_id}
/
environments
/
{env}
/
checks
Get Checks
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/environments/{env}/checks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "a9803aa7-4185-42d8-91ed-6e20acaaf00c",
"agent_id": "73237018-be24-4b18-a511-15229010ed10",
"env_type": "production",
"enabled": true,
"scenario_ids": [
"96f9f8b4-8bef-4a6a-9678-1eb5f6b9d368",
"b1e42393-9f35-42b1-b60b-26910da451fc"
],
"scenario_names": [
"Reschedule an appointment",
"Caller asks for a human"
],
"simulations_count": 5,
"evals": [
{
"eval_agent_id": "61085de3-2ec3-404e-92f4-58b49a5c54b0",
"eval_agent_version_id": "88546c14-d434-4c41-b376-e35f123bd7c8",
"name": "Resolution quality",
"target_level_keys": ["good", "excellent"],
"required": true
},
{
"eval_agent_id": "0284f93e-1d87-46eb-8e4d-8a774b78fa1e",
"eval_agent_version_id": "242a6ae3-ae74-4088-b878-63aecdc50717",
"name": "No policy violations",
"target_level_keys": [],
"required": false
}
],
"created_at": "2026-09-08T16:20:11.402Z",
"updated_at": "2026-09-10T09:05:47.918Z"
},
"errors": null
}
{
"data": null,
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Overview
Returns the judges and test scenarios configured as pre-promotion checks for one environment, ornull when none are configured. Set the config with Set Checks and run it with Start Check Run.
Headers
string
required
Your API key for authentication.
Path Parameters
string
required
The agent’s unique identifier.
string
required
staging or production. Checks do not attach to dev. Any other value returns 400 BAD_REQUEST.Response
object | null
The environment’s check config, or
null when no checks are configured.Show check config object
Show check config object
string
Unique identifier for the check config.
string
The agent the config belongs to.
string
The environment the config gates:
staging or production.boolean
Whether check runs can be started for this environment. A disabled config is kept but cannot be run.
array
IDs of the agent’s test scenarios that each run drives conversations from.
array
Display names for
scenario_ids, in the same order. Falls back to the ID when a scenario’s name cannot be resolved.integer
Conversations generated per scenario on each run.
array
The judges attached to the config. See
data.evals below.string
ISO 8601 timestamp of creation.
string
ISO 8601 timestamp of the last update.
array
One entry per judge, in the order they were attached.
Show eval object
Show eval object
string
The judge’s unique identifier.
string
The judge version pinned when the config was saved.
string
The judge’s display name. Omitted when the name cannot be resolved.
array
The grade levels counted as passing. Empty for pass/fail judges.
boolean
true when a failing verdict from this judge fails the run. false makes the judge informational only.null | array
null on success, or a list of error objects if the request failed.{
"data": {
"id": "a9803aa7-4185-42d8-91ed-6e20acaaf00c",
"agent_id": "73237018-be24-4b18-a511-15229010ed10",
"env_type": "production",
"enabled": true,
"scenario_ids": [
"96f9f8b4-8bef-4a6a-9678-1eb5f6b9d368",
"b1e42393-9f35-42b1-b60b-26910da451fc"
],
"scenario_names": [
"Reschedule an appointment",
"Caller asks for a human"
],
"simulations_count": 5,
"evals": [
{
"eval_agent_id": "61085de3-2ec3-404e-92f4-58b49a5c54b0",
"eval_agent_version_id": "88546c14-d434-4c41-b376-e35f123bd7c8",
"name": "Resolution quality",
"target_level_keys": ["good", "excellent"],
"required": true
},
{
"eval_agent_id": "0284f93e-1d87-46eb-8e4d-8a774b78fa1e",
"eval_agent_version_id": "242a6ae3-ae74-4088-b878-63aecdc50717",
"name": "No policy violations",
"target_level_keys": [],
"required": false
}
],
"created_at": "2026-09-08T16:20:11.402Z",
"updated_at": "2026-09-10T09:05:47.918Z"
},
"errors": null
}
{
"data": null,
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Docs for agents: llms.txt
Was this page helpful?