Skip to main content
GET
Returns results from every configured workflow node (parse, extraction, classification, splitter, edit) in a flat dictionary keyed by node category.
The collection_id in the URL is the id returned by POST /v2/workflows/{workflow_id}/files/ or POST /v2/workflows/{workflow_id}/run/.
The endpoint returns:
  • 200 OK with results when processing has completed successfully
  • 412 Precondition Failed while processing is in progress (retryable)
  • 422 Unprocessable Entity when the extraction is in a terminal state (failed or cancelled) — distinguish via error_code
Prefer webhooks over polling for production integrations. Webhooks deliver results immediately without consuming your rate limit.

Polling Example with Backoff

Validation Verdicts (extractions[].validations[])

Workflows with a Validate node return its verdicts inside each extractions[] entry, beside the fields the rules judged: one entry per rule with rule_id, severity, status (pass / fail / inconclusive), detail, and the compared_values the rule looked at. In a split workflow every subdocument carries its own verdicts. The key is always present: it is [] when the workflow has no validate node. Field-by-field documentation lives in Response Formats.

Filled Forms (edits[])

Workflows with an Edit node also return edits[]: one entry per file the node processed, carrying every form field detected in the document, the value written into it, and a link to the filled PDF. The key is always present: it is [] when the workflow has no edit node. A multi-file collection returns one entry per file. Field-by-field documentation lives in Response Formats.
download_url is a presigned link, valid for 15 minutes from the moment the response was built, and a fresh one is minted every time you read this endpoint. Download the PDF on receipt, or re-read the endpoint for a new link. Do not store the URL.
fields[].confidence is a raw, uncalibrated 0-100 match score for pairing a filling instruction with a field. It grades how surely the instruction addresses that field, not whether the written value is correct, and it is not a probability. Fields with state: "prefilled" are never overwritten, so they always read back with value: null and confidence: null.
The extraction and parse keys are always present in the success response — they are explicitly null when the corresponding node didn’t run. See Response Formats for the canonical shape with field-by-field documentation.

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
collection_id
string
required

Response

Successful Response

Canonical response shape for the file-collection results endpoint.

Returned with HTTP 200 once processing completes. Returns 412 while processing is in progress; poll until 200, or use webhooks.

collection_id
string
required

The file collection's UUID. Same value as the id returned by POST /v2/workflows/{wid}/run/. Also emitted as document_packet_id — same value, v3 canonical name.

document_packet_id
string
default:""
required

The document packet's UUID — v3 canonical name for collection_id. Same value; both fields are always present.

verification_url
string | null

Link to the AnyFormat dashboard for human review of this collection's results. null if the dashboard URL cannot be constructed (e.g. no files in the collection, or the deployment has no frontend URL configured).

parse
ParseResult · object | null

Parse-node output (rendered markdown). null when the workflow has no parse node. Always present in the response.

classifications
ClassificationResult · object[]

Per-classifier-node verdicts. Empty when the workflow has no classifier.

splits
SplitResult · object[]

Splitter output: category-level geometry with optional partitions. Empty when the workflow has no splitter.

extractions
Extraction · object[]

Flat list of extraction datapoints. Linear workflows produce one entry with split_name=null and partition=null. Split workflows produce one entry per (split, partition). Empty when no extraction has run yet.

edits
Edit · object[]

Filled-form output, one entry per file an edit node processed. Empty when the workflow has no edit node.

extraction
Extraction · object | null
deprecated

Deprecated — use extractions instead. Extracted fields keyed by field name, populated only for linear workflows (single extract node, no splitter). null for split workflows; read extractions[] instead.