Skip to main content
GET
Python (SDK)

Authorizations

Authorization
string
header
required

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

X-On-Behalf-Of
string

Optional external end-user identifier forwarded by the API gateway.

Path Parameters

run_id
string
required

Query Parameters

after
string
limit
integer
default:100
Required range: 1 <= x <= 500
task_id
string
model
string
status
enum<string>
Available options:
queued,
generating,
ready_to_score,
scoring,
running,
completed,
failed
score_metric
string

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.

Maximum string length: 128
Pattern: ^[\w.-]+$
score_min
number

Inclusive lower bound for score_metric. Requires score_metric. A one-sided bound relies on jsonb numeric ordering, so keep the metric numeric.

Required range: -9007199254740991 <= x <= 9007199254740991
score_max
number

Inclusive upper bound for score_metric. Requires score_metric.

Required range: -9007199254740991 <= x <= 9007199254740991
include_dataset_row
boolean
default:true

Set 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.

include_reasoning
boolean
default:false

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.

sample_index
string

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.

Maximum string length: 6000
Pattern: ^\d+(,\d+)*$

Response

200 - application/json

OK

object
any
required
data
object[]
required
has_more
boolean
required
first_id
string
last_id
string