The batch queue is an opt-in lane for async jobs that don’t need immediate turnaround. Jobs run when there’s spare capacity and are guaranteed to complete within a published SLA — in return, you get a discount on the credits they consume.Documentation Index
Fetch the complete documentation index at: https://docs.reducto.ai/llms.txt
Use this file to discover all available pages before exploring further.
When to use the batch queue
| Approach | Best for |
|---|---|
| Batch queue (this page) | Bulk uploads, backfills, overnight runs — anything where minutes-to-hours latency is acceptable |
| Async parse | Standard async — immediate processing, normal pricing |
| Sync parse | Small documents, interactive flows — get the result back in one request |
/job/{id} — you get the result pushed to you as soon as it’s ready instead of paying for the round-trips.
How to opt in
Setqueue_priority: "batch" on any /parse_async request. The flag is honoured on /parse_async only — synchronous /parse and the other async endpoints (/extract_async, /split_async, /edit_async) ignore it today.
/parse_async submission — you get back a job_id and poll /job/{id} for the result.
SLA
Batch jobs are guaranteed to complete within 12 hours of submission. The 12-hour window is the firm commitment.Pricing
Batch jobs receive a 20% credit discount on parsing. The credit usage returned in/job/{id} reflects the discounted amount directly — no separate invoicing step.
The discount applies on top of any existing per-organisation credit rate, so customers on legacy or volume pricing keep their existing rate and additionally get the 20% off when they use the batch queue.
Back-off and capacity limits
If the batch queue is saturated,/parse_async returns HTTP 503 with a Retry-After: 300 header. Well-behaved clients will pause for the suggested interval before retrying; SDKs handle this automatically. The cap is a safety valve — under normal operation you should never see it.
Out of scope today
queue_priority: "batch"is honoured on/parse_asynconly. The other async endpoints accept the field but currently do not apply the discount or the queue routing.- Per-customer batch-discount tiers are not available; the 20% is global.