Skip to main content
GET
Retrieve an LLM Judge evaluation

What it does

Returns the current state of one LLM Judge run, using the evaluation_id from Execute LLM Judge. The response shape is identical in every state — the same six fields are always present — so a client reads status and never has to branch on the body’s shape.
This returns HTTP 200 while the judge is still running. Branch on the status field, not on the status code.

Statuses

A GET immediately after a POST returns pending. That is expected, not an error.
Failure detection: verdict !== null && verdict.overall_score === null is the failure marker. reasoning on such a verdict is the customer-safe sentence that used to be surfaced as a top-level reason field — that field was removed to keep the shape uniform.
Unlike Get Agent Judge Evaluation, this endpoint does not currently return excluded. The LLM Judge has no exclusion pre-filter — the same status enum is exposed for consistency, but only pending / completed / failed are produced today.

Polling

Poll no more than once every 10 seconds. Typical runs settle in a few minutes; a sensible client gives up after around 30 minutes and treats the run as failed.

Response

verdict uses one shape on every non-null run — four dimensions on a 1–5 scale, plus reasoning and a server-computed overall_score. completed populates all three; failed uses the same shape with scores / overall_score set to null and the customer-safe reason on reasoning. Every successful LLM Judge run therefore returns scores directly comparable across callers and time, and a caller reads one field to tell success from failure.

completed

failed

The response fields

On a clean run the two are equal.When they differ (verified_reference_count < input_reference_count), a chunk of the verifier failed and only the surviving verdicts reached the judge — the verdict is still valid, but partly graded on incomplete verification. Downstream you may want to weigh those runs differently or resubmit.On non-completed statuses both are null.
Submitting references: [] is a valid request; the verifier is skipped and the judge grades on prompt / query / answer only. In this case input_reference_count and verified_reference_count are both 0, not null.
Per-reference verification verdicts, the evidence behind them, and internal cost/latency accounting are used to produce the verdict but are not part of this response.

Isolation

Judge runs are scoped to the organization that submitted them. An evaluation_id belonging to another organization returns 404, exactly as an id that does not exist — the two are indistinguishable by design. The two endpoints — this one and Get Agent Judge Evaluation — read from disjoint id spaces. An id from POST /v2/judge/agent returns 404 here, and vice versa. Idempotency keys are scoped the same way, so the same key on the two endpoints yields two separate evaluations. A malformed evaluation_id is rejected with 400 before any lookup.

Authorizations

X-API-KEY
string
header
required

Path Parameters

evaluation_id
string<uuid>
required

The id returned by POST /v2/judge/llm. Ids from POST /v2/judge/agent return 404 here — the two endpoints read from disjoint id spaces.

Response

The evaluation's current state. Same shape in every status.

error
unknown
payload
object