Skip to main content
POST
Rate limit tier: submission (60 req/min) — see Rate limits. Runs — or re-runs — a document packet on the latest version of its workflow. The path is flat: the packet already knows which workflow it belongs to, so no workflow_id appears in the URL. Every call creates a new run. Re-running after editing the workflow is the intended flow — same document, another attempt — and earlier runs stay readable at GET /v3/runs/{run_id}/ with their own results. Re-runs are metered like fresh runs (see How credits work). The only exception is an Idempotency-Key replay: retrying with the same key returns the original run instead of triggering (and billing) a second extraction. See Idempotency. Unknown ids — including packets belonging to another organization — return 404. An organization without extraction credit receives 402 PAYMENT_REQUIRED.

Authorizations

Authorization
string
header
required

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

Headers

Idempotency-Key
string | null

Optional caller-supplied key (Stripe convention). Retrying the request with the same key returns the original run instead of triggering (and billing) a second extraction.

X-Anyformat-Priority
string | null

Path Parameters

document_packet_id
string
required

Response

Successful Response

202 response for both run triggers (upload/run/ and document-packets/{id}/run/).

run_id
string
required

Unique identifier of the new run (hyphenated UUID).

Example:

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

document_packet_id
string
required

The document packet the run executes on (hyphenated UUID).

Example:

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

workflow_id
string
required

The workflow being run (hyphenated UUID).

Example:

"0686bb97-8c30-70f0-8000-97669e000eb8"

status
enum<string>
required

Status at acceptance time — normally queued.

Available options:
queued,
in_progress,
processed,
error,
cancelled
Example:

"queued"