List an eval run's calls
curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id}/call-results \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id}/call-results"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id}/call-results', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"call_results": [
{
"call_id": "call_01",
"submission_id": "sub_01J9",
"conversation_id": "conv_01",
"scenario_id": "scn_01",
"scenario_name": "Caller books for tomorrow",
"silence_mode": "off",
"run_index": 0,
"call_status": "completed",
"hangup_reason": null,
"call_answered_at": "2026-10-22T14:05:01.000Z",
"call_ended_at": "2026-10-22T14:07:40.000Z",
"judge_state": "done",
"judge_error": null,
"judged_at": "2026-10-22T14:09:12.000Z",
"num_turns": 9,
"total_duration_ms": 159000,
"llm_avg_ttft_ms": 420,
"tts_avg_ttfb_ms": 210,
"latency_rating": "good",
"interruption_count": 1,
"tool_calls_made": [
"book_appointment"
],
"acoustic_median_ms": 1180,
"acoustic_max_ms": 2400,
"acoustic_mean_ms": 1250,
"acoustic_count": 8,
"stage_stt_ms": 160,
"stage_eou_ms": 380,
"stage_llm_ttfst_ms": 430,
"stage_tts_ttfb_ms": 200,
"stage_tool_ms": 650,
"agent_side_median_ms": 1010,
"stage_turns_measured": 8,
"call_end_reason": "agent_end_call"
}
]
}{
"error": "Invalid or revoked token"
}{
"error": "Eval submission not found"
}{
"error": "agent type assist cannot take calls: an assist agent listens to a human-operated call and never speaks",
"code": "AGENT_TYPE_NOT_DISPATCHABLE",
"agent_type": "assist",
"agent_id": "agent_456"
}Runs
List an eval run's calls
Returns each finished call of the run with its scenario, outcome, grading state and latency measurements. Use conversation_id to fetch the call’s transcript and recording.
GET
/
v1
/
projects
/
{projectId}
/
agents
/
{agentId}
/
eval-submissions
/
{id}
/
call-results
List an eval run's calls
curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id}/call-results \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id}/call-results"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id}/call-results', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"call_results": [
{
"call_id": "call_01",
"submission_id": "sub_01J9",
"conversation_id": "conv_01",
"scenario_id": "scn_01",
"scenario_name": "Caller books for tomorrow",
"silence_mode": "off",
"run_index": 0,
"call_status": "completed",
"hangup_reason": null,
"call_answered_at": "2026-10-22T14:05:01.000Z",
"call_ended_at": "2026-10-22T14:07:40.000Z",
"judge_state": "done",
"judge_error": null,
"judged_at": "2026-10-22T14:09:12.000Z",
"num_turns": 9,
"total_duration_ms": 159000,
"llm_avg_ttft_ms": 420,
"tts_avg_ttfb_ms": 210,
"latency_rating": "good",
"interruption_count": 1,
"tool_calls_made": [
"book_appointment"
],
"acoustic_median_ms": 1180,
"acoustic_max_ms": 2400,
"acoustic_mean_ms": 1250,
"acoustic_count": 8,
"stage_stt_ms": 160,
"stage_eou_ms": 380,
"stage_llm_ttfst_ms": 430,
"stage_tts_ttfb_ms": 200,
"stage_tool_ms": 650,
"agent_side_median_ms": 1010,
"stage_turns_measured": 8,
"call_end_reason": "agent_end_call"
}
]
}{
"error": "Invalid or revoked token"
}{
"error": "Eval submission not found"
}{
"error": "agent type assist cannot take calls: an assist agent listens to a human-operated call and never speaks",
"code": "AGENT_TYPE_NOT_DISPATCHABLE",
"agent_type": "assist",
"agent_id": "agent_456"
}Authorizations
Your organization API key (it starts with anek_org_). The same key works on the Voice API and the Support API. See Authentication.