API reference
Eval Suites
One tag: method, path, summary, auth, and scopes. Request and response fields ship in this page — expand a row to read the contract.
Endpoints
6
GET
/api/v1/eval_suites
Agent Token
List eval suites
eval_suites:read
/api/v1/eval_suites
Agent Token
List eval suites
Description
Returns all eval suites for the authenticated workspace, including their eval cases and associated workflow targets.
Auth
Agent TokenRequired Scopes
Responses
200
List of eval suites
Returns: EvalSuiteList
List of eval suites
Returns: EvalSuiteList
Example
{
"eval_suites": [
{
"description": "Evals for payment processing correctness",
"id": "9e1f1538-ff37-48f0-a2f9-65066d7d6699",
"inserted_at": "2026-02-10T08:00:00Z",
"name": "Payment accuracy suite",
"updated_at": "2026-03-20T14:00:00Z",
"workspace_id": "4ce4d170-e6d5-4118-8f4d-fac69dc099ea"
}
]
}
POST
/api/v1/eval_suites
Agent Token
Create an eval suite
eval_suites:write
/api/v1/eval_suites
Agent Token
Create an eval suite
Description
Creates a new eval suite linked to a workflow target. The suite stores rubrics and scheduling. Eval cases and workflow versions have no API create/update/archive/baseline routes — operators manage them on /app/evals/suites/:id and /app/evals/targets/:id. This request does not accept a cases payload.
Auth
Agent TokenRequired Scopes
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| eval_suite | object | Yes | Eval suite attributes |
| eval_suite.name | string | Yes | Suite name |
| eval_suite.description | string | No | Suite description |
| eval_suite.slug | string | No | URL-safe slug (auto-generated from name if omitted) |
| eval_suite.workflow_target_id | string | Yes | Workflow target UUID to evaluate |
| eval_suite.canary_enabled | boolean | No | Enable canary gate (default: false) |
| eval_suite.canary_max_regression | number | No | Max regression percentage for canary (required if canary_enabled is true) |
| eval_suite.pass_threshold | number | No | Pass threshold percentage (default: 80.0) |
| eval_suite.rubric_type | string (composite, exact_match, status_code, llm_judge) | No | Evaluation rubric type |
| eval_suite.schedule_enabled | boolean | No | Enable scheduled runs (default: false) |
| eval_suite.schedule_interval_minutes | integer | No | Schedule interval in minutes (required if schedule_enabled is true) |
Responses
201
Eval suite created
Returns: EvalSuite
Eval suite created
Returns: EvalSuite
Example
{
"description": "Evals for payment processing correctness",
"id": "9e1f1538-ff37-48f0-a2f9-65066d7d6699",
"inserted_at": "2026-02-10T08:00:00Z",
"name": "Payment accuracy suite",
"updated_at": "2026-03-20T14:00:00Z",
"workspace_id": "4ce4d170-e6d5-4118-8f4d-fac69dc099ea"
}
422
Validation error
Validation error
GET
/api/v1/eval_suites/:id
Agent Token
Get eval suite details
eval_suites:read
/api/v1/eval_suites/:id
Agent Token
Get eval suite details
Description
Returns details of a specific eval suite including all eval cases and workflow target association.
Auth
Agent TokenRequired Scopes
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Eval suite UUID |
Responses
200
Eval suite details
Returns: EvalSuite
Eval suite details
Returns: EvalSuite
Example
{
"description": "Evals for payment processing correctness",
"id": "9e1f1538-ff37-48f0-a2f9-65066d7d6699",
"inserted_at": "2026-02-10T08:00:00Z",
"name": "Payment accuracy suite",
"updated_at": "2026-03-20T14:00:00Z",
"workspace_id": "4ce4d170-e6d5-4118-8f4d-fac69dc099ea"
}
404
Eval suite not found
Eval suite not found
PATCH
/api/v1/eval_suites/:id
Agent Token
Update an eval suite
eval_suites:write
/api/v1/eval_suites/:id
Agent Token
Update an eval suite
Description
Updates attributes of an existing eval suite.
Auth
Agent TokenRequired Scopes
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| eval_suite | object | Yes | Eval suite attributes to update |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Eval suite UUID |
Responses
200
Eval suite updated
Returns: EvalSuite
Eval suite updated
Returns: EvalSuite
Example
{
"description": "Evals for payment processing correctness",
"id": "9e1f1538-ff37-48f0-a2f9-65066d7d6699",
"inserted_at": "2026-02-10T08:00:00Z",
"name": "Payment accuracy suite",
"updated_at": "2026-03-20T14:00:00Z",
"workspace_id": "4ce4d170-e6d5-4118-8f4d-fac69dc099ea"
}
404
Eval suite not found
Eval suite not found
DELETE
/api/v1/eval_suites/:id
Agent Token
Delete an eval suite
eval_suites:write
/api/v1/eval_suites/:id
Agent Token
Delete an eval suite
Description
Deletes an eval suite and cascades to its eval cases, eval runs, and related review history.
Auth
Agent TokenRequired Scopes
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Eval suite UUID |
Responses
204
Eval suite deleted
Eval suite deleted
404
Eval suite not found
Eval suite not found
POST
/api/v1/eval_suites/:id/clone
Agent Token
Clone an eval suite
eval_suites:write
/api/v1/eval_suites/:id/clone
Agent Token
Clone an eval suite
Description
Creates a copy of an existing eval suite from suite fields only. Eval cases are not copied. Optionally override the name under the eval_suite wrapper. Scheduling and canary settings are reset to defaults.
Auth
Agent TokenRequired Scopes
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| eval_suite | object | No | Override attributes for the cloned suite |
| eval_suite.name | string | No | Custom name (default: 'Copy of <original>') |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Eval suite UUID to clone |
Responses
201
Eval suite cloned
Returns: EvalSuite
Eval suite cloned
Returns: EvalSuite
Example
{
"description": "Evals for payment processing correctness",
"id": "9e1f1538-ff37-48f0-a2f9-65066d7d6699",
"inserted_at": "2026-02-10T08:00:00Z",
"name": "Payment accuracy suite",
"updated_at": "2026-03-20T14:00:00Z",
"workspace_id": "4ce4d170-e6d5-4118-8f4d-fac69dc099ea"
}
404
Source eval suite not found
Source eval suite not found