Read an experiment
GET /v1/agents/{agent_id}/experiments/{experiment_id}
Property Value Operation get_experimentGroup Prompt evaluations and experiments Scope agents:readRoute class readIdempotency No Idempotency-Key Audit Not audited: A configuration read; an experiment and its results hold no Call content. Released in 1.55.0 Phase 0 host Served (the hosted api pins 1.65.0)
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 Node.js Python
curl "$VOCAL_API/v1/agents/agt_.../experiments/exp_..." \
-H "Authorization: Bearer $VOCAL_API_KEY"const response = await fetch(`${process.env.VOCAL_API}/v1/agents/agt_.../experiments/exp_...`, {
headers: {
Authorization: `Bearer ${process.env.VOCAL_API_KEY}`,
},
});
console.log(response.status, await response.text());import os
import requests
response = requests.get(
f"{os.environ['VOCAL_API']}/v1/agents/agt_.../experiments/exp_...",
headers={
"Authorization": f"Bearer {os.environ['VOCAL_API_KEY']}",
},
)
print(response.status_code, response.text)
Parameters
Name In Type Required Description agent_idpath AgentId yes The id of an Agent: agt_ and the row's UUIDv7 in 26 Crockford base32 characters. Opaque and safe to log. experiment_idpath ExperimentId yes The id of a traffic-split experiment: exp_ and the row's UUIDv7 in 26 Crockford base32 characters. Opaque and safe to log.
Responses
Fields of the 200 answer
The shape is Experiment .
Field Type Required Description agent_idAgentId yes armsarray of ExperimentArm yes The control first, then the candidates in the order they were named. created_atTimestamp yes created_byActorRef yes descriptionstring or null yes For reviewers. goalExperimentGoal or nullno The goal the results report per arm (1.63.0): a slot value at Call end or an Outcome field value. Fixed at create. Null for none; absent from an api before 1.63.0, which a reader treats as null. idExperimentId yes namestring yes A display name. object"experiment"yes promoted_armExperimentCandidateArmKey or nullyes started_atTimestamp or nullyes started_byActorRef or nullyes statusExperimentStatus yes stop_reasonExperimentStopReason or nullyes stop_ruleExperimentStopRule or nullyes Set with stop_rule only. stop_rulesExperimentStopRules yes stopped_atTimestamp or nullyes stopped_byActorRef or nullyes Who stopped or promoted it; null when a stop rule or a version change did. suite_idPromptEvalSuiteId or nullyes A suite whose rubric judges a sample of live Calls, only with live_call_judging; refused with capability_not_available and live_call_judging_not_available until the Compliance profile carries it, and from 1.63.0 while the profile has it off. unitExperimentUnit yes updated_atTimestamp yes