List an agent's eval runs
curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions"
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', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"submissions": [
{
"id": "sub_01J9",
"project_id": "proj_123",
"created_by": null,
"agent_id": "agent_456",
"judge_id": "judge_01",
"suite_id": "suite_01",
"name": "Booking regression 2026-10-22 14:00",
"description": null,
"runs_per_scenario": 2,
"judge_concurrency": 5,
"judge_max_retries": 3,
"max_parallel_calls": 2,
"status": "paused",
"use_isolated_data": false,
"simulator_audio_stack": "hamsa",
"simulator_llm": "gemini",
"simulator_silence_mode": "off",
"simulator_model_config": null,
"agent_version_id": "ver_789",
"agent_version_number": 12,
"error_message": null,
"created_at": "2026-10-22T14:00:00.000Z",
"updated_at": "2026-10-22T14:00:00.000Z",
"judge": {
"id": "judge_01",
"name": "Default judge",
"description": null,
"model": "gemini-3.5-flash",
"prompt_template": "…",
"temperature": 0
},
"suite": {
"id": "suite_01",
"name": "Booking flows",
"description": null,
"scenario_ids": [
"scn_01"
],
"common_test_case_ids": [
"tc_7f3a"
]
},
"scenarios": [
{
"id": "scn_01",
"name": "Caller books for tomorrow",
"description": null,
"simulator_config": {
"prompt": "You want to book a cleaning for tomorrow morning.",
"max_turns": 20
},
"test_case_ids": [],
"test_cases": []
}
],
"common_test_cases": [
{
"id": "tc_7f3a",
"project_id": "proj_123",
"name": "Confirms the booking",
"description": null,
"when_relevant": "The caller asked to book an appointment.",
"success_criteria": "The agent repeats the date and time back and the caller confirms.",
"failure_criteria": "The agent ends the call without confirming the date and time.",
"created_by": null,
"created_at": "2026-10-01T09:00:00.000Z",
"updated_at": "2026-10-01T09:00:00.000Z"
}
],
"runs_completed": 0,
"runs_total": 2,
"judge_counts": {
"pending": 0,
"in_progress": 0,
"done": 0,
"error": 0,
"error_final": 0,
"unusable": 0
}
}
]
}{
"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"
}Eval submissions
List an agent's eval runs
Returns every eval run (submission) of this agent, newest first, each with its suite, judge, scenarios, test cases and progress counters.
GET
/
v1
/
projects
/
{projectId}
/
agents
/
{agentId}
/
eval-submissions
List an agent's eval runs
curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions"
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', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"submissions": [
{
"id": "sub_01J9",
"project_id": "proj_123",
"created_by": null,
"agent_id": "agent_456",
"judge_id": "judge_01",
"suite_id": "suite_01",
"name": "Booking regression 2026-10-22 14:00",
"description": null,
"runs_per_scenario": 2,
"judge_concurrency": 5,
"judge_max_retries": 3,
"max_parallel_calls": 2,
"status": "paused",
"use_isolated_data": false,
"simulator_audio_stack": "hamsa",
"simulator_llm": "gemini",
"simulator_silence_mode": "off",
"simulator_model_config": null,
"agent_version_id": "ver_789",
"agent_version_number": 12,
"error_message": null,
"created_at": "2026-10-22T14:00:00.000Z",
"updated_at": "2026-10-22T14:00:00.000Z",
"judge": {
"id": "judge_01",
"name": "Default judge",
"description": null,
"model": "gemini-3.5-flash",
"prompt_template": "…",
"temperature": 0
},
"suite": {
"id": "suite_01",
"name": "Booking flows",
"description": null,
"scenario_ids": [
"scn_01"
],
"common_test_case_ids": [
"tc_7f3a"
]
},
"scenarios": [
{
"id": "scn_01",
"name": "Caller books for tomorrow",
"description": null,
"simulator_config": {
"prompt": "You want to book a cleaning for tomorrow morning.",
"max_turns": 20
},
"test_case_ids": [],
"test_cases": []
}
],
"common_test_cases": [
{
"id": "tc_7f3a",
"project_id": "proj_123",
"name": "Confirms the booking",
"description": null,
"when_relevant": "The caller asked to book an appointment.",
"success_criteria": "The agent repeats the date and time back and the caller confirms.",
"failure_criteria": "The agent ends the call without confirming the date and time.",
"created_by": null,
"created_at": "2026-10-01T09:00:00.000Z",
"updated_at": "2026-10-01T09:00:00.000Z"
}
],
"runs_completed": 0,
"runs_total": 2,
"judge_counts": {
"pending": 0,
"in_progress": 0,
"done": 0,
"error": 0,
"error_final": 0,
"unusable": 0
}
}
]
}{
"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.
Response
The agent's eval runs
Show child attributes
Show child attributes