Skip to main content
POST
Submits a batch of up to 10 case results for the CI run; each new result is judge-scored synchronously inside the request. This is the same endpoint as Submit Results - see that page for the full result-object reference. This page covers the CI angle.

CI-relevant behavior

  • Idempotency makes retries safe. Give every result an idempotencyKey ({runId}:{caseId}:run-{runNumber}); a retried or duplicated batch returns the stored scores instead of re-scoring, so a flaky network step never double-bills judge calls. On job restart, fetch the already-submitted keys from Get Missing Results and skip them.
  • Failures are results too. A case where your agent threw should be submitted with error: { "type", "message" } - it scores 0 and drags the average down honestly, instead of silently shrinking the run.
  • Watch the average as you go. Every batch response carries liveStatistics; a pipeline can log progress or bail out early when the average is already hopeless. There is no server-side fail-fast: stopping early is the client’s decision, and the gate computes over whatever was submitted.
  • Generous timeouts. Scoring is a judge LLM call per result; the Python SDK uses a long per-batch timeout and disables transport retries for exactly this call.

Errors