curl --request PATCH \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/eval-suites/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "Happy paths, a reschedule and a cancellation",
"field_overrides": {
"restaurant_name": "Test Bistro"
}
}
'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/eval-suites/{id}"
payload = {
"description": "Happy paths, a reschedule and a cancellation",
"field_overrides": { "restaurant_name": "Test Bistro" }
}
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({
description: 'Happy paths, a reschedule and a cancellation',
field_overrides: {restaurant_name: 'Test Bistro'}
})
};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/eval-suites/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"suite": {
"id": "7d1c2f8e-3b0a-4c55-9a1e-2f4b6c8d0e11",
"project_id": "4f3a9b2c-1d2e-4f5a-8b6c-7d8e9f0a1b2c",
"name": "Booking golden path",
"description": "Happy paths, a reschedule and a cancellation",
"scenario_ids": [
"b2a4c6e8-0f1d-4e3b-9c5a-7e9f1b3d5c7a"
],
"common_test_case_ids": [],
"sheet_refs": {},
"field_overrides": {
"restaurant_name": "Test Bistro"
},
"scenarios": [],
"common_test_cases": [],
"submissions_count": 3,
"created_by": "org-token:42",
"created_at": "2026-10-01T09:30:00.000Z",
"updated_at": "2026-10-22T10:05:00.000Z",
"deleted_at": null
}
}{
"error": "Invalid or revoked token"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "Eval suite not found"
}{
"error": "An eval suite named \"Booking golden path\" already exists in this project"
}{
"error": "name: String must contain at least 1 character(s)",
"issues": [
{
"path": "name",
"code": "too_small",
"message": "String must contain at least 1 character(s)",
"minimum": 1
}
]
}Update an eval suite
Changes the fields you send. A scenarios or common_test_cases list replaces the suite’s whole list, with the same reference-or-new entries as on create. Changing a suite does not change submissions that already ran it.
curl --request PATCH \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/eval-suites/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "Happy paths, a reschedule and a cancellation",
"field_overrides": {
"restaurant_name": "Test Bistro"
}
}
'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/eval-suites/{id}"
payload = {
"description": "Happy paths, a reschedule and a cancellation",
"field_overrides": { "restaurant_name": "Test Bistro" }
}
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({
description: 'Happy paths, a reschedule and a cancellation',
field_overrides: {restaurant_name: 'Test Bistro'}
})
};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/eval-suites/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"suite": {
"id": "7d1c2f8e-3b0a-4c55-9a1e-2f4b6c8d0e11",
"project_id": "4f3a9b2c-1d2e-4f5a-8b6c-7d8e9f0a1b2c",
"name": "Booking golden path",
"description": "Happy paths, a reschedule and a cancellation",
"scenario_ids": [
"b2a4c6e8-0f1d-4e3b-9c5a-7e9f1b3d5c7a"
],
"common_test_case_ids": [],
"sheet_refs": {},
"field_overrides": {
"restaurant_name": "Test Bistro"
},
"scenarios": [],
"common_test_cases": [],
"submissions_count": 3,
"created_by": "org-token:42",
"created_at": "2026-10-01T09:30:00.000Z",
"updated_at": "2026-10-22T10:05:00.000Z",
"deleted_at": null
}
}{
"error": "Invalid or revoked token"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "Eval suite not found"
}{
"error": "An eval suite named \"Booking golden path\" already exists in this project"
}{
"error": "name: String must contain at least 1 character(s)",
"issues": [
{
"path": "name",
"code": "too_small",
"message": "String must contain at least 1 character(s)",
"minimum": 1
}
]
}Authorizations
Your organization API key (it starts with anek_org_). The same key works on the Voice API and the Support API. See Authentication.
Body
Send only the fields to change. scenarios and common_test_cases replace the whole list; sheet_refs and field_overrides replace the whole map (send {} to clear).
1 - 2561 - 20 elementsEither a reference to an existing scenario or a new scenario.
- Option 1
- Option 2
Show child attributes
Show child attributes
50Either a reference to an existing test case or a new test case.
- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
The updated suite
A named, reusable set of scenarios plus test cases that apply to every scenario. An eval submission runs one suite against one agent.
Show child attributes
Show child attributes