Skip to main content
A Criterion Run is the result of running a single Criterion against a Task Run. The verification engine creates one Criterion Run per criterion when a task run completes. Criterion Runs replace the legacy Eval Runs resource.

Endpoints

MethodEndpointDescription
GET/criterion-runs?task_run_id={task_run_id}List criterion runs for a task run
GET/criterion-runs/{id}Get criterion run details
Criterion Runs are read-only. They are created automatically when you complete a task run (see the Task Runs page and the v1 completion flow).

Criterion Run Object

FieldTypeDescription
idstringUnique identifier
task_run_idstringParent Task Run
criterion_idstringSource Criterion
passedbooleantrue if the criterion passed
scorenumberScore (0.0 to 1.0)
detailsstring | nullHuman-readable explanation of the result
evidenceobject | nullStructured evidence payload (field-level results, matched messages, transcript snippets). Shape depends on the criterion’s check type
started_atdatetimeWhen verification started
completed_atdatetime | nullWhen verification finished

HTTP Example

curl "https://api.verial.ai/criterion-runs?task_run_id=tr_abc123" \
  -H "Authorization: Bearer $VERIAL_API_KEY"
{
  "data": [
    {
      "id": "crun_01H...",
      "task_run_id": "tr_abc123",
      "criterion_id": "crit_01H...",
      "passed": true,
      "score": 1.0,
      "details": "Appointment resource matched; all 2 field assertions passed.",
      "evidence": {
        "field_results": [
          {
            "path": "participant.0.actor.display",
            "expected": "Dr. Rivera",
            "actual": "Dr. Rivera",
            "passed": true
          }
        ]
      },
      "started_at": "2026-04-20T17:10:02.000Z",
      "completed_at": "2026-04-20T17:10:04.000Z"
    }
  ],
  "next_cursor": null
}

SDK Example

// List criterion runs for a task run
const runs = await verial.criterionRuns.list({ taskRunId: "tr_abc123" });

for (const run of runs.data) {
  console.log(`${run.criterionId}: ${run.passed ? "PASS" : "FAIL"} (${run.score})`);
  if (!run.passed) console.log(run.details);
}

// Fetch one criterion run with full evidence
const detail = await verial.criterionRuns.get({ id: "crun_01H..." });