Skip to main content

Submit predictions for scoring

POST /v1/evals

Queues an eval job. Inline predictions are capped at 5 MB of JSON. Poll GET /v1/jobs/{id} for the result.

Credential. An API key (jean_live_…) or a dashboard session token.

curl --fail-with-body -X POST "https://api-833252724876.us-central1.run.app/v1/evals" \
-H "Authorization: Bearer $JEAN_API_KEY" \
-H "Idempotency-Key: YOUR-UNIQUE-REQUEST-KEY" \
-H "Content-Type: application/json" \
-d '{
"label": "nightly",
"predictions": [
{
"item_id": "item_4211",
"prediction": [
"item_88",
"item_12",
"item_5"
]
},
{
"item_id": "item_4212",
"prediction": [
"item_31",
"item_7",
"item_99"
]
}
],
"suite_id": "suite:smoke-v1"
}'

Body

FieldTypeRequiredNotes
suite_idstringyes
predictionsobject[] or nullnoInline predictions. Capped at 5 MB of JSON.
input_refstring or nullnoAn upload ref from POST /v1/uploads (kind predictions) instead of inline.
labelstring or nullno

Response · 202

{
"id": "job_q1w2e3r4t5y6u7i8o9p0",
"org_id": "org_k3j2h4g5f6d7s8a9q0w1",
"type": "eval",
"status": "queued",
"request_id": "req_z9x8c7v6b5n4m3l2",
"label": "nightly",
"versions": {
"hfm_sha": "9f2c1ab4d7e0",
"suite_id": "suite:smoke-v1"
},
"attempts": 0,
"created_at": "2026-01-15T09:30:00Z",
"started_at": null,
"finished_at": null
}

Errors

StatusMeaning
401Unauthenticated, invalid token or revoked key.
403Forbidden, session required or org required.
413Inline predictions exceed the 5 MB cap.
422Validation failed.
429Quota or rate limit exceeded; error.details says which, and when.
500Internal error; quote error.request_id when reporting it.

Every one carries the same envelope.

API overview · Full contract