Skip to main content
First run an eval and keep its run ID. Results describe the suite version, model, inputs, and graders used for that run.

Inspect samples

List samples when you need per-row debugging. You can filter by task_id, model, or status.
You can also:
  • Filter by a numeric score band using score_metric + score_min/score_max.
  • Skip large rows (like inlined audio) by setting include_dataset_row=false (samples will return dataset_row: null).
  • Fetch only specific sample indices using sample_index (comma-separated indices).
Each sample includes the source row, rendered prompt, target, stored Responses response_id, raw model output, extracted output, scores, judge details, and error details.

Fetch sample audio (transcription tasks)

For transcription evals, sample lists may redact inline data: audio blobs in dataset_row. To fetch a single sample’s clip reference, call: GET /api/v1/llm/evals/runs/{run_id}/samples/{sample_index}/audio sample_index is unique per task (and model), not per run. If a run includes more than one transcription task and the same sample_index could match multiple tasks, pass task_id or the API returns 400. Optionally pass model to choose which model row to read the clip from (the clip is identical across models within a task, so this does not change the audio).
The response includes { object, audio, sample_index, task_id, model } where audio is a base64 data: URI or a URL.

Fetch artifacts

Completed runs create result files with purpose=evals. Use the artifacts endpoint to find the result and sample artifact file IDs.
Then download the files through the Files API:
Bash
The result artifact summarizes run metadata and final metrics. The samples artifact preserves per-sample details for offline analysis.

Pagination and filtering

List endpoints use cursor pagination. Example: