List eval samples
Returns prompt, target, model output, extraction, score, and judge details for an eval run.
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
Query Parameters
1 <= x <= 500queued, generating, ready_to_score, scoring, running, completed, failed Numeric metric key inside the scores jsonb to filter on (e.g. wer, cer, accuracy). Required when score_min/score_max are set. Only samples whose metric is a number match — unscored samples (queued/failed, scores = {}) are excluded. The key is matched as a single top-level jsonb key, so wer.avg looks up the literal key "wer.avg" rather than a nested path.
128^[\w.-]+$Inclusive lower bound for score_metric. Requires score_metric. A one-sided bound relies on jsonb numeric ordering, so keep the metric numeric.
-9007199254740991 <= x <= 9007199254740991Inclusive upper bound for score_metric. Requires score_metric.
-9007199254740991 <= x <= 9007199254740991Set to false to skip the (potentially large, e.g. inlined ASR audio) dataset_row column — the column is not read from Postgres at all, and each sample comes back with dataset_row: null (indistinguishable from a sample that genuinely has none). Callers that only need scores/output (model comparison) avoid the TOAST read + JSON parse. Defaults to true.
Set to true to include the model's reasoning column. Off by default: reasoning routinely runs several times longer than the answer, and each sample's is capped at 64 KB. Because of that, limit must be <= 100 when this is true — a larger page is rejected with 400 rather than allowed to reach tens of megabytes. When false the column is not read from Postgres at all and each sample comes back with reasoning: null — indistinguishable from a sample that genuinely has none, so do not treat a null here as evidence the model did not reason.
Comma-separated sample indices to restrict to (deduped, max 500). Lets a caller fetch just the rows currently on screen (e.g. hydrate audio for one page of comparison pairs). Note a single index can return multiple rows since indices are unique per (task, model), and 500 indices can span more than one page since limit also caps at 500.
6000^\d+(,\d+)*$