Get an eval sample trajectory
Returns one coding-agent trial’s session — the steps the agent took, verbatim in the harness’s interchange format (see schema_version, e.g. ATIF-v1.7). Deliberately not part of the samples list: a trajectory averages ~92 KB and that list pages up to 500 rows. Sample indices are unique per (task, model), not per run, so pass task_id and/or model when the run covers more than one; an index that matches several trials returns 400 rather than guessing, and never falls back to another trial’s session. Returns 404 when the sample does not exist or recorded no trajectory.
Authorizations
Gateway auth: send Authorization: Bearer <mka1-api-key>. For multi-user server-side integrations, you can also send X-On-Behalf-Of: <external-user-id>.
Headers
Optional external end-user identifier forwarded by the API gateway.
Path Parameters
0 <= x <= 2147483647Query Parameters
Disambiguate the sample index, which is unique per (task, model) and not per run. Required when the index matches trials from more than one task.
Disambiguate the sample index when the run covers more than one model.
Response
OK
-9007199254740991 <= x <= 9007199254740991Interchange format of steps, e.g. ATIF-v1.7. Read it before assuming a step shape.
-9007199254740991 <= x <= 9007199254740991-9007199254740991 <= x <= 9007199254740991Steps exactly as the harness wrote them — reasoning_content, tool_calls[{ function_name, arguments }], observation.results[{ source_call_id, content }]. Passed through unvalidated so a harness upgrade does not need a gateway release.
Bounded tails of the trial's log files, keyed by their path in the trial dir (trial.log, verifier/test-stdout.txt, ...). Null for trials recorded before logs were captured.