List Call Results
curl --request GET \
--url https://api.bland.ai/v1/evals/runs/{run_id}/call-results \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/evals/runs/{run_id}/call-results"
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/evals/runs/{run_id}/call-results', 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/evals/runs/{run_id}/call-results",
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/evals/runs/{run_id}/call-results"
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/evals/runs/{run_id}/call-results")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/evals/runs/{run_id}/call-results")
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": {
"object": "list",
"data": [
{
"id": "b1c2d3e4-f5a6-7890-bcde-f12345678901",
"org_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
"eval_run_id": "e5f6a7b8-c9d0-1234-efab-345678901234",
"call_id": "a1b2c3d4-0000-0000-0000-000000000001",
"call_display_name": "Inbound - Account Inquiry",
"call_started_at": "2026-05-20T13:45:00.000Z",
"call_duration_seconds": 187.4,
"call_ended_by": "agent",
"transcript_snapshot_ref": "snapshots/a1b2c3d4-0000-0000-0000-000000000001/v1",
"transcript_snapshot_expires_at": "2026-06-20T13:45:00.000Z",
"status": "COMPLETE",
"started_at": "2026-05-27T10:00:06.000Z",
"completed_at": "2026-05-27T10:00:48.000Z",
"overall_score_normalized_0_100": 88.0,
"text_score_normalized_0_100": 88.0,
"audio_score_normalized_0_100": null,
"failed_agent_count": 0,
"insufficient_evidence_agent_count": 0,
"agent_results": [],
"created_at": "2026-05-27T10:00:05.000Z"
}
],
"has_more": true,
"next_cursor": "b1c2d3e4-f5a6-7890-bcde-f12345678901"
},
"errors": null,
"run_status": "COMPLETE",
"run_resolved_call_count": 50
}
Results
List Call Results
List the per-call results for an eval run.
GET
/
v1
/
evals
/
runs
/
{run_id}
/
call-results
List Call Results
curl --request GET \
--url https://api.bland.ai/v1/evals/runs/{run_id}/call-results \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/evals/runs/{run_id}/call-results"
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/evals/runs/{run_id}/call-results', 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/evals/runs/{run_id}/call-results",
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/evals/runs/{run_id}/call-results"
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/evals/runs/{run_id}/call-results")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/evals/runs/{run_id}/call-results")
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": {
"object": "list",
"data": [
{
"id": "b1c2d3e4-f5a6-7890-bcde-f12345678901",
"org_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
"eval_run_id": "e5f6a7b8-c9d0-1234-efab-345678901234",
"call_id": "a1b2c3d4-0000-0000-0000-000000000001",
"call_display_name": "Inbound - Account Inquiry",
"call_started_at": "2026-05-20T13:45:00.000Z",
"call_duration_seconds": 187.4,
"call_ended_by": "agent",
"transcript_snapshot_ref": "snapshots/a1b2c3d4-0000-0000-0000-000000000001/v1",
"transcript_snapshot_expires_at": "2026-06-20T13:45:00.000Z",
"status": "COMPLETE",
"started_at": "2026-05-27T10:00:06.000Z",
"completed_at": "2026-05-27T10:00:48.000Z",
"overall_score_normalized_0_100": 88.0,
"text_score_normalized_0_100": 88.0,
"audio_score_normalized_0_100": null,
"failed_agent_count": 0,
"insufficient_evidence_agent_count": 0,
"agent_results": [],
"created_at": "2026-05-27T10:00:05.000Z"
}
],
"has_more": true,
"next_cursor": "b1c2d3e4-f5a6-7890-bcde-f12345678901"
},
"errors": null,
"run_status": "COMPLETE",
"run_resolved_call_count": 50
}
Headers
Your API key for authentication.
Path Parameters
The ID of the eval run.
Query Parameters
Embed each call’s per-agent verdicts inline in the
agent_results field. When false, agent_results is an empty array.Number of results to return. Between 1 and 100.
Cursor: return results after this object ID.
Cursor: return results before this object ID. Cannot be combined with
starting_after.Response
Always
"list".The list of call result objects.
Show EvalRunCallResult fields
Show EvalRunCallResult fields
Unique identifier for this call result.
The organization that owns this result.
The eval run this result belongs to.
The ID of the call that was scored.
Display name of the call, if available.
ISO 8601 timestamp when the call started.
Duration of the call in seconds.
Which party ended the call.
Reference to the transcript snapshot used for scoring.
ISO 8601 timestamp when the transcript snapshot expires.
Status of this call’s evaluation. One of
PENDING, QUEUED, RUNNING, COMPLETE, FAILED, INSUFFICIENT_EVIDENCE.ISO 8601 timestamp when scoring started for this call.
ISO 8601 timestamp when scoring completed for this call.
Overall weighted score for this call, normalized 0-100.
Text-modality score for this call, normalized 0-100.
Audio-modality score for this call, normalized 0-100.
Number of agent evaluations that failed for this call.
Number of agent evaluations that returned insufficient evidence for this call.
Per-agent verdicts for this call. Populated only when
include_agent_results=true; otherwise an empty array. See List Agent Results for the full field reference.ISO 8601 timestamp when this call result was created.
Whether more results exist beyond this page.
Cursor to use in
starting_after to retrieve the next page, or null if there are no more results.The eval run’s current status.
Total number of calls resolved for the run.
{
"data": {
"object": "list",
"data": [
{
"id": "b1c2d3e4-f5a6-7890-bcde-f12345678901",
"org_id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
"eval_run_id": "e5f6a7b8-c9d0-1234-efab-345678901234",
"call_id": "a1b2c3d4-0000-0000-0000-000000000001",
"call_display_name": "Inbound - Account Inquiry",
"call_started_at": "2026-05-20T13:45:00.000Z",
"call_duration_seconds": 187.4,
"call_ended_by": "agent",
"transcript_snapshot_ref": "snapshots/a1b2c3d4-0000-0000-0000-000000000001/v1",
"transcript_snapshot_expires_at": "2026-06-20T13:45:00.000Z",
"status": "COMPLETE",
"started_at": "2026-05-27T10:00:06.000Z",
"completed_at": "2026-05-27T10:00:48.000Z",
"overall_score_normalized_0_100": 88.0,
"text_score_normalized_0_100": 88.0,
"audio_score_normalized_0_100": null,
"failed_agent_count": 0,
"insufficient_evidence_agent_count": 0,
"agent_results": [],
"created_at": "2026-05-27T10:00:05.000Z"
}
],
"has_more": true,
"next_cursor": "b1c2d3e4-f5a6-7890-bcde-f12345678901"
},
"errors": null,
"run_status": "COMPLETE",
"run_resolved_call_count": 50
}
Was this page helpful?
⌘I