API reference

API reference · API

Run a suite against models

POST/v1/evals/{id}/runsAPI key

Chat scope. Every case on every model (at most 12), cheapest model first, each a real dispatch billed to the account as the key that started it (the session's runs are billed to the personal account), with fallback, presets, aliases and the cache off. Each case holds its worst case against budget_micros before it runs, so the run never spends past it; a case that does not fit is skipped. One run of a suite at a time (409). Work starts after the answer; read the run to follow it.

Parameters

Path and query parameters
FieldTypeWhat it is
id (path)requiredstringThe suite id (ev_...).

Request body

application/json, required

Request body fields
FieldTypeWhat it is
modelsarray of string
max_price_per_1mnumber
limitinteger
budget_microsrequiredintegerThe most the run may spend, at most 50000000. Each case holds its worst case against it before it runs and is skipped when that does not fit.

Example

{
  "models": [
    "string"
  ],
  "max_price_per_1m": 0,
  "limit": 0,
  "budget_micros": 0
}

Answer 201

The run, queued.

Fields of the 201 answer
FieldTypeWhat it is
idstring
object"eval.run"
suite_idstring
statusstringOne of "queued", "running", "completed", "budget_exhausted", "cancelled".
triggerstringOne of "manual", "scheduled".
revisioninteger
modelsarray of string
case_countinteger
budget_microsinteger
spent_microsinteger
reserved_microsintegerWorst cases held for cases in flight.
progressobject
progress.doneinteger
progress.totalinteger
created_atinteger
started_atinteger or null
finished_atinteger or null
thresholdnumber
cheapest_passingstring or nullThe cheapest model graded on every case at or over the threshold.
summaryarray of object
summary[].modelstring
summary[].pass_ratenumber or nullWeighted share of graded cases passed.
summary[].passedinteger
summary[].failedinteger
summary[].errorsinteger
summary[].skippedinteger
summary[].pendinginteger
summary[].gradedinteger
summary[].casesinteger
summary[].completeboolean
summary[].cost_microsinteger
summary[].cost_per_case_microsinteger or null
summary[].median_latency_msinteger or null
summary[].on_frontierbooleanNo other model is as cheap or cheaper and passes as much or more.
failuresarray of objectAt most 200, each with the model's output clipped to 4000 characters.
failure_countinteger

Errors

  • 400OpenAI shaped error.
  • 401OpenAI shaped error.
  • 403OpenAI shaped error.
  • 404OpenAI shaped error.
  • 409OpenAI shaped error.
  • 503OpenAI shaped error.

Every error answers in one shape, with its type, code and the field it names. The whole list is in the docs' Errors section.

Antimatter