VocalDocscontracts 1.65.0

Read an experiment's results

GET /v1/agents/{agent_id}/experiments/{experiment_id}/results

PropertyValue
Operationget_experiment_results
GroupPrompt evaluations and experiments
Scopeagents:read
Route classread
IdempotencyNo Idempotency-Key
AuditNot audited: A configuration read; an experiment and its results hold no Call content.
Released in1.55.0
Phase 0 hostServed (the hosted api pins 1.65.0)

Answers per arm the Calls, Turns, ended reasons, transfer and Tool error rates with 95 percent intervals and sample sizes, Policy firings per 100 Turns, duration and voice-to-voice latency, computed over the Calls finalized so far (1.55.0), and from 1.63.0 the share that met the experiment's goal and the judged metrics of the sampled Calls under live_call_judging. Vocal 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 agents:read scope (Authentication and keys). Replace each placeholder, such as agt_... or <name>, with your own value.

curl "$VOCAL_API/v1/agents/agt_.../experiments/exp_.../results" \
  -H "Authorization: Bearer $VOCAL_API_KEY"

Parameters

NameInTypeRequiredDescription
agent_idpathAgentIdyesThe id of an Agent: agt_ and the row's UUIDv7 in 26 Crockford base32 characters. Opaque and safe to log.
experiment_idpathExperimentIdyesThe id of a traffic-split experiment: exp_ and the row's UUIDv7 in 26 Crockford base32 characters. Opaque and safe to log.

Responses

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

Fields of the 200 answer

The shape is ExperimentResults.

FieldTypeRequiredDescription
agent_idAgentIdyes
armsarray of ExperimentArmResultyes
computed_atTimestampyes
experiment_idExperimentIdyes
object"experiment_results"yes
statusExperimentStatusyes