Create eval suite

Create an eval suite (named test cases + graders) attached to one flow or agent, optionally with initial cases. Suites created here are dashboard/API-managed; config-as-code suites converge via POST /eval/ensure instead.

Authentication

AuthorizationBearer
API key or Clerk session token

Request

This endpoint expects an object.
namestringRequired>=1 character
agentIdstringOptional>=1 character
caseslist of objectsOptional
descriptionstringOptional
flowIdstringOptional>=1 character
graderslist of objectsOptionalDefaults to []

Ordered grader configs applied to every case (suite-level graders).

isDefaultbooleanOptional

Make this the default eval for its target (clears the flag on any other suite for the same target).

recordedToolModeenumOptional

How captured (saved_from_run) cases replay. “next_step” (default) captures the first tool intent and stops; “continue” serves recorded toolMocks and runs past the first action.

Allowed values:
recordedToolUnmatchedPolicyenumOptional

For “continue”-mode replays, what to do when a tool call has no matching mock: “fail” (default, divergence is the signal) or “stub” (canned success so the run keeps going). A replay never reaches the real tool.

Allowed values:

Response

Suite created
agentIdstring or null
baselineBatchExecutionIdstring or null
caseCountinteger
caseslist of objects
createdAtstring
descriptionstring or null
enabledCaseCountinteger
flowIdstring or null
graderslist of any

Ordered GraderConfig[] applied to every case.

idstring
isDefaultboolean
judgeAgreementobject or null

The judge-trust corpus (E6 calibration): how often the AI grader agrees with your reviews, surfaced as a plain fraction. Null until at least one verdict has been reviewed (POST /eval/scores/{scoreId}/review).

lastModifiedSourcestring or null

Provenance of the last Definition write. ‘sdk’ / ‘terraform’ mean the suite is managed in code (converged by ensure on deploy).

latestRunobject
namestring
recordedToolModeenum

How captured cases replay: “next_step” (default when null) or “continue”.

recordedToolUnmatchedPolicyenum

Unmatched-call policy for “continue”-mode replays: “fail” (default when null) or “stub”.

targetNamestring or null

Display name of the target flow/agent; null when the target row is gone.

targetTypeenum
updatedAtstring

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
500
Internal Server Error