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
string
required
Your API key for authentication.
Path Parameters
string
required
The ID of the eval run.
Query Parameters
boolean
default:"false"
Embed each call’s per-agent verdicts inline in the
agent_results field. When false, agent_results is an empty array.integer
default:"25"
Number of results to return. Between 1 and 100.
string
Cursor: return results after this object ID.
string
Cursor: return results before this object ID. Cannot be combined with
starting_after.Response
string
Always
"list".array of objects
The list of call result objects.
Show EvalRunCallResult fields
Show EvalRunCallResult fields
string
Unique identifier for this call result.
string
The organization that owns this result.
string
The eval run this result belongs to.
string
The ID of the call that was scored.
string or null
Display name of the call, if available.
string or null
ISO 8601 timestamp when the call started.
number or null
Duration of the call in seconds.
string or null
Which party ended the call.
string or null
Reference to the transcript snapshot used for scoring.
string or null
ISO 8601 timestamp when the transcript snapshot expires.
string
Status of this call’s evaluation. One of
PENDING, QUEUED, RUNNING, COMPLETE, FAILED, INSUFFICIENT_EVIDENCE.string or null
ISO 8601 timestamp when scoring started for this call.
string or null
ISO 8601 timestamp when scoring completed for this call.
number or null
Overall weighted score for this call, normalized 0-100.
number or null
Text-modality score for this call, normalized 0-100.
number or null
Audio-modality score for this call, normalized 0-100.
integer
Number of agent evaluations that failed for this call.
integer
Number of agent evaluations that returned insufficient evidence for this call.
array of objects
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.string
ISO 8601 timestamp when this call result was created.
boolean
Whether more results exist beyond this page.
string or null
Cursor to use in
starting_after to retrieve the next page, or null if there are no more results.string
The eval run’s current status.
integer
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