curl --request PATCH \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"runs_per_scenario": 3
}
'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id}"
payload = { "runs_per_scenario": 3 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({runs_per_scenario: 3})
};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"submission": {
"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": 3,
"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": 3,
"judge_counts": {
"pending": 0,
"in_progress": 0,
"done": 0,
"error": 0,
"error_final": 0,
"unusable": 0
}
}
}{
"error": "Agent type 'supervisor' is no longer supported",
"code": "AGENT_TYPE_NOT_SUPPORTED",
"agent_type": "supervisor"
}{
"error": "Invalid or revoked token"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "Eval submission not found"
}{
"error": "Can only edit paused submissions",
"status": "active"
}{
"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"
}Update a paused eval run
Changes a paused run’s name, description or run settings. A running run must be paused first. The suite, judge, tested version and simulated-caller settings cannot be changed.
curl --request PATCH \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"runs_per_scenario": 3
}
'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id}"
payload = { "runs_per_scenario": 3 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({runs_per_scenario: 3})
};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/agents/{agentId}/eval-submissions/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"submission": {
"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": 3,
"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": 3,
"judge_counts": {
"pending": 0,
"in_progress": 0,
"done": 0,
"error": 0,
"error_final": 0,
"unusable": 0
}
}
}{
"error": "Agent type 'supervisor' is no longer supported",
"code": "AGENT_TYPE_NOT_SUPPORTED",
"agent_type": "supervisor"
}{
"error": "Invalid or revoked token"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "Eval submission not found"
}{
"error": "Can only edit paused submissions",
"status": "active"
}{
"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.
Path Parameters
Project id
Agent id
Eval submission id
Body
Change a paused run's name or run settings. At least one field is required. The suite, judge, agent version and simulated-caller settings cannot change; create a new run instead. When you change the extra or excluded test cases, send both lists.
1 - 2561 <= x <= 101 <= x <= 500 <= x <= 101 <= x <= 10501501Response
The updated run
An eval run: one suite run against one agent version and graded by one judge, with the suite, judge, scenarios and test cases it uses and its progress so far.
Show child attributes
Show child attributes