Skip to main content
GET
Rate limit tier: general (600 req/min) — see Rate limits. Fetches one eval by its eval_id — the poll target for a run launched with POST /v3/workflows/{workflow_id}/evals/. The id in the response is the same identifier the launch returned as eval_id. The response is the eval’s frozen headline: grading status, the accuracy fraction, its matched / mismatched / ungraded field tallies, the cohort’s file_count, and failed_count (documents that failed to enqueue). It carries counts, never internal ids.

Status model

The endpoint always returns 200 while the eval exists — there are no precondition errors while grading is in flight. Poll until status is terminal. On a processed eval, accuracy is the matched / (matched + mismatched) fraction — but it stays null when the graded denominator is 0 (nothing gradable, e.g. every field was ungraded for lack of ground truth). For production integrations, prefer webhooks over polling. Unknown ids — including an eval on another workflow or organization — return 404 (existence never leaks). A caller who is not a member of the workflow’s organization gets 403.

Authorizations

Authorization
string
header
required

API key issued from app.anyformat.ai/api-key. Send as Authorization: Bearer <key>.

Path Parameters

workflow_id
string
required
eval_id
string
required

Response

Successful Response

One eval's frozen headline — the poll target for a launched run.

id here is the same identifier the launch returned as eval_id. The headline fields (accuracy, matched, mismatched, ungraded) are null while status is in_progress; accuracy stays null on a processed eval whose graded denominator is 0.

id
string
required

Unique identifier of the eval (hyphenated UUID); equals the launch's eval_id.

Example:

"069dcc2c-e14c-7606-8000-2ee4fb17b4f9"

run_number
integer
required

Per-workflow run counter (#1, #2, …) for this eval.

Example:

3

version_id
string
required

Workflow version the eval scored.

Example:

"abcdef1234"

status
enum<string>
required

Grading status. Non-terminal: in_progress. Terminal: processed, error.

Available options:
in_progress,
processed,
error
Example:

"processed"

file_count
integer
required

Number of dataset documents in the eval's realized cohort.

Example:

42

failed_count
integer
required

Number of dataset documents that failed to enqueue for this run.

Example:

0

accuracy
number | null

Headline accuracy in [0, 1]; null while in_progress and on a processed eval with a 0 graded denominator.

Example:

0.94

matched
integer | null

Fields that matched ground truth; null while in_progress.

mismatched
integer | null

Fields that mismatched ground truth; null while in_progress.

ungraded
integer | null

Fields with no ground truth to grade against; null while in_progress.

created_at
string<date-time> | null

Timestamp when the eval was created (ISO 8601).