Skip to main content
POST
Rate limit tier: submission (60 req/min) — see Rate limits. Uploads 1–10 files as a single document packet — the unit that runs later address. All files are grouped into one packet; creation is all-or-nothing, so any rejected file (unsupported type, disguised bytes) fails the whole request and nothing is stored. This endpoint uploads without processing. Trigger extraction afterwards via POST /v3/document-packets/{document_packet_id}/run/ — or do both in one call with Upload and Run. Send the files as multipart form data under the files field (repeat the field for a multi-file packet). Files above the per-file size cap are rejected at slot mint (before any bytes reach S3); see Files for the cap and supported formats. Bundle multiple files only when they belong together as one document (a contract and its annexes) — unrelated documents should be separate packets.
Retries are safe with Idempotency-Key. Pass any unique string; retrying the request with the same key replays the original upload, so no duplicate packet is created. See Idempotency.

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 replays the original upload slots so no duplicate packet is created.

Path Parameters

workflow_id
string
required

Body

multipart/form-data
files
string[]
required

1..10 files forming one document packet.

metadata
string | null

Optional JSON-encoded object of free-form metadata attached to the packet. The extract operator may source datapoints from a top-level key whose name matches a schema field.

Response

Successful Response

Response for the packet-creating uploads (multipart and from-url).

document_packet_id
string
required

Unique identifier of the newly created document packet (hyphenated UUID).

Example:

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

workflow_id
string
required

The workflow the packet was created under (hyphenated UUID).

Example:

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

files
DocumentPacketFileV3 · object[]
required

Files in the packet, in the order they were provided.