VocalDocscontracts 1.65.0

Read an evaluation run

GET /v1/prompt-eval-suites/{prompt_eval_suite_id}/runs/{run_id}

PropertyValue
Operationget_prompt_eval_run
GroupPrompt evaluations and experiments
Scopeprompts:read
Route classread
IdempotencyNo Idempotency-Key
AuditNot audited: A metadata read; a run holds ids, counts and rates only.
Released in1.55.0
Phase 0 hostServed (the hosted api pins 1.65.0)

Answers one run with its status, the per-arm pass rates with intervals and sample sizes, the deterministic facts and the cost lines marked evaluation (1.55.0); never a rationale or a transcript. Vocal reports intervals and never declares a winner.

Request

Set VOCAL_API to the base URL of your API and VOCAL_API_KEY to an API key with the prompts:read scope (Authentication and keys). Replace each placeholder, such as agt_... or <name>, with your own value.

curl "$VOCAL_API/v1/prompt-eval-suites/pes_.../runs/per_..." \
  -H "Authorization: Bearer $VOCAL_API_KEY"

Parameters

NameInTypeRequiredDescription
prompt_eval_suite_idpathPromptEvalSuiteIdyesThe id of an evaluation suite: pes_ and the row's UUIDv7 in 26 Crockford base32 characters. Opaque and safe to log.
run_idpathPromptEvalRunIdyesThe id of an evaluation run or a conversation test run: per_ and the row's UUIDv7 in 26 Crockford base32 characters. Opaque and safe to log.

Responses

StatusContent typeShapeError codes
200application/jsonPromptEvalRun
400application/jsonErrorEnvelopeinvalid_request
401application/jsonErrorEnvelopeunauthenticated
403application/jsonErrorEnvelopeforbidden
404application/jsonErrorEnvelopenot_found
429application/jsonErrorEnveloperate_limited
500application/jsonErrorEnvelopeinternal_error

Fields of the 200 answer

The shape is PromptEvalRun.

FieldTypeRequiredDescription
advisorybooleanyesTrue when the judged results gate nothing, because the judge is not checked against human labels (section 9.1 rule 5); true for every run of 1.55.0. From 1.63.0 false only when the suite's latest calibration met its target with the run's judge (promptEvalJudgeAdvisory), and false for a run that judged nothing.
agent_idAgentIdyes
baselinePromptEvalRunTarget or nullyes
by_familyarray or nullnoOne entry per evaluated family and arm (1.63.0), once completed; null before. Absent from an api before 1.63.0.
by_itemarray or nullnoOne entry per scenario, rubric item and arm (1.63.0), once completed; null before. Absent from an api before 1.63.0.
candidatePromptEvalRunTargetyes
cost_linesarray of PromptEvalCostLineyes
created_atTimestampyes
created_byActorRefyes
error_codestring or nullyes
finished_atTimestamp or nullyes
gatePromptEvalGateOutcome or nullnoHow the run fares against its suite's publish gate (1.63.0), once completed; null for a suite with no gate and before completion. Absent from an api before 1.63.0.
idPromptEvalRunIdyes
job_idJobIdyesThe prompt.evaluation job that runs it.
judgeStageRef or nullyesThe judge the run used; null with none.
model_familiesarray of ModelFamilynoThe model families the run evaluated (1.63.0): the request's model_families, or the family of the chain's primary. Absent from an api before 1.63.0.
object"prompt_eval_run"yes
repetitionsintegeryes
scenario_countintegeryes
started_atTimestamp or nullyes
statusPromptEvalRunStatusyes
suite_idPromptEvalSuiteIdyes
suite_revisionintegeryes
summaryarray or nullyesOne entry per arm, the candidate first, once completed; null before.