Get Test Scenario
curl --request GET \
--url https://api.bland.ai/v1/agent-testing/scenarios/{id} \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/agent-testing/scenarios/{id}"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v1/agent-testing/scenarios/{id}', 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/v1/agent-testing/scenarios/{id}",
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/v1/agent-testing/scenarios/{id}"
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/v1/agent-testing/scenarios/{id}")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/agent-testing/scenarios/{id}")
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{
"id": "a1b2c3d4-5678-9abc-def0-1234567890ab",
"org_id": "b2c3d4e5-6789-abcd-ef01-234567890abc",
"pathway_id": "c3d4e5f6-789a-bcde-f012-34567890abcd",
"persona_id": null,
"name": "Angry Caller Test",
"description": "Tests the agent's ability to de-escalate an angry caller",
"category": "ANGRY_CALLER",
"scenario_type": "AGENT",
"tester_persona_prompt": "You are a frustrated customer who has been waiting on hold for 30 minutes. You are upset about a billing error on your account.",
"tester_persona_name": "Frustrated Customer",
"max_turns": 15,
"request_data": null,
"start_node_id": null,
"bland_tone_enabled": true,
"is_required_for_promotion": false,
"enabled": true,
"input_messages": null,
"advanced_instructions": null,
"metadata": null,
"assertions": [
{
"id": "d4e5f6a7-89ab-cdef-0123-4567890abcde",
"type": "LLM_JUDGE",
"name": "De-escalation",
"config": {
"prompt": "Did the agent successfully de-escalate the situation and address the customer's concerns?",
"output_type": "score",
"threshold": 0.7
},
"is_required": true,
"weight": 1.5,
"order": 0
}
],
"created_at": "2026-04-10T12:00:00.000Z",
"updated_at": "2026-04-13T18:30:00.000Z"
}
Agent Testing
Get Test Scenario
Retrieve a specific test scenario with its assertions.
GET
/
v1
/
agent-testing
/
scenarios
/
{id}
Get Test Scenario
curl --request GET \
--url https://api.bland.ai/v1/agent-testing/scenarios/{id} \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/agent-testing/scenarios/{id}"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v1/agent-testing/scenarios/{id}', 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/v1/agent-testing/scenarios/{id}",
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/v1/agent-testing/scenarios/{id}"
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/v1/agent-testing/scenarios/{id}")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/agent-testing/scenarios/{id}")
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{
"id": "a1b2c3d4-5678-9abc-def0-1234567890ab",
"org_id": "b2c3d4e5-6789-abcd-ef01-234567890abc",
"pathway_id": "c3d4e5f6-789a-bcde-f012-34567890abcd",
"persona_id": null,
"name": "Angry Caller Test",
"description": "Tests the agent's ability to de-escalate an angry caller",
"category": "ANGRY_CALLER",
"scenario_type": "AGENT",
"tester_persona_prompt": "You are a frustrated customer who has been waiting on hold for 30 minutes. You are upset about a billing error on your account.",
"tester_persona_name": "Frustrated Customer",
"max_turns": 15,
"request_data": null,
"start_node_id": null,
"bland_tone_enabled": true,
"is_required_for_promotion": false,
"enabled": true,
"input_messages": null,
"advanced_instructions": null,
"metadata": null,
"assertions": [
{
"id": "d4e5f6a7-89ab-cdef-0123-4567890abcde",
"type": "LLM_JUDGE",
"name": "De-escalation",
"config": {
"prompt": "Did the agent successfully de-escalate the situation and address the customer's concerns?",
"output_type": "score",
"threshold": 0.7
},
"is_required": true,
"weight": 1.5,
"order": 0
}
],
"created_at": "2026-04-10T12:00:00.000Z",
"updated_at": "2026-04-13T18:30:00.000Z"
}
Headers
string
required
Your API key for authentication.
Path Parameters
string
required
The scenario ID.
Response
string
Unique identifier for the scenario.
string
Organization ID that owns this scenario.
string
The pathway ID being tested (null if testing a persona).
string
The persona ID being tested (null if testing a pathway).
string
Name of the scenario.
string
Description of the scenario.
string
Scenario category.
string
Type of scenario.
string
Prompt for the simulated caller.
string
Display name for the tester persona.
integer
Maximum conversation turns.
object
Custom request data.
string
Starting node ID.
boolean
Whether Bland Tone scoring is enabled.
boolean
Whether this scenario is required for promotion.
boolean
Whether the scenario is enabled.
array
Pre-seeded messages for replay scenarios.
string
Additional instructions for test execution.
object
Arbitrary metadata.
array
Array of assertion objects.
string
ISO 8601 timestamp of when the scenario was created.
string
ISO 8601 timestamp of when the scenario was last updated.
{
"id": "a1b2c3d4-5678-9abc-def0-1234567890ab",
"org_id": "b2c3d4e5-6789-abcd-ef01-234567890abc",
"pathway_id": "c3d4e5f6-789a-bcde-f012-34567890abcd",
"persona_id": null,
"name": "Angry Caller Test",
"description": "Tests the agent's ability to de-escalate an angry caller",
"category": "ANGRY_CALLER",
"scenario_type": "AGENT",
"tester_persona_prompt": "You are a frustrated customer who has been waiting on hold for 30 minutes. You are upset about a billing error on your account.",
"tester_persona_name": "Frustrated Customer",
"max_turns": 15,
"request_data": null,
"start_node_id": null,
"bland_tone_enabled": true,
"is_required_for_promotion": false,
"enabled": true,
"input_messages": null,
"advanced_instructions": null,
"metadata": null,
"assertions": [
{
"id": "d4e5f6a7-89ab-cdef-0123-4567890abcde",
"type": "LLM_JUDGE",
"name": "De-escalation",
"config": {
"prompt": "Did the agent successfully de-escalate the situation and address the customer's concerns?",
"output_type": "score",
"threshold": 0.7
},
"is_required": true,
"weight": 1.5,
"order": 0
}
],
"created_at": "2026-04-10T12:00:00.000Z",
"updated_at": "2026-04-13T18:30:00.000Z"
}
Docs for agents: llms.txt
Was this page helpful?
⌘I