Extract from many files in one call
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Request
The saved action every run in the batch uses, by id or slug. Required.
Inline schema and hints are deliberately not accepted here: a batch runs one reviewed, versionable shape over many files.
Whether to ground each extracted value in the source document. Off by default — grounding is an explicit add-on, so send citations: true to ask for it.
When on, output.citations maps every extracted field to where it came from — fileId plus page and bounding box for documents, or a timecode for audio. A field the documents simply do not contain comes back as an entry with notFound: true and no location.
Arbitrary JSON you attach to the run and get back on every read of it.
Use it to carry your own identifiers — an order number, a customer id — so a webhook or a polled run reconciles without a lookup table. Capped at 10 KB serialized.
Where to deliver this run’s events, given one of two ways.
{ "url": "…" }— a one-off https endpoint for this run only.{ "id": "whe_…" }— a saved endpoint fromPOST /v1/webhooks. Runs hold the reference, so pausing or re-pointing that endpoint applies to this run too.
Deliveries are at-least-once and signed — dedupe on eventId and verify against GET /v1/webhooks/jwks.json.
How long, in seconds, to keep this run and its files before purging them automatically.
Defaults to 24 hours; the maximum is 604800 (7 days). The deadline comes back as expiresAt on every read of the run. Call POST /v1/runs/{id}/keep before then to clear the TTL and move the results into a space permanently.
E-signature runs are exempt — an envelope waits for its signers however long that takes.
Response
Accepted — one run per file.