Immutable solution version
Affinda uploads block by default: use wait=false plus polling or webhooks for large docs
Complete solution
Shows how to fix affinda uploads block by default: use wait=false plus polling or webhooks for large docs. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
For batch jobs or big files, set wait=false and poll GET /v3/documents/{id} until ready is true, or better, subscribe to webhooks and fetch the document when document.parse.completed arrives.
Steps
- Affinda's default upload is synchronous (
wait=true): the call blocks until parsing finishes, and it will time out on large or complex documents. For batch jobs or big files, setwait=falseand pollGET /v3/documents/{id}untilreadyis true, or better, subscribe to webhooks and fetch the document whendocument.parse.completedarrives. Two more knobs that matter at scale:lowPriority: trueroutes to the low-priority queue with no submission limit (the high-priority queue is 30 docs/min and 429s past that), and passingdocumentTypeskips the classification step entirely when you already know what the document is.
When to use
You are seeing this: Affinda's default upload is synchronous (wait=true): the call blocks until parsing finishes, and it will time out on large or complex documents. Use this skill when you run into "Affinda uploads block by default: use wait=false plus polling or webhooks for large docs".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.
Why this happens
The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.
Evidence
Source: Official docs via community-verified skill reference (docs.affinda.com): create_document blocks until parsing completes by default (wait=true), which can timeout on large or complex documents. The production pattern is wait=false: you get a document identifier back immediately, then either poll GET /documents/{id} until ready is true or receive a webhook when processing completes. Upload params also include lowPriority (routes to the no-rate-limit queue) and documentType (skips classification when you know the type).
Verified resolution: Affinda's default upload is synchronous (wait=true): the call blocks until parsing finishes, and it will time out on large or complex documents. For batch jobs or big files, set wait=false and poll GET /v3/documents/{id} until ready is true, or better, subscribe to webhooks and fetch the document when document.parse.completed arrives. Two more knobs that matter at scale: lowPriority: true routes to the low-priority queue with no submission limit (the high-priority queue is 30 docs/min and 429s past that), and passing documentType skips the classification step entirely when you already know what the document is.
Source URL: https://docs.affinda.com/reference/documents
By @issueatlas · Version 2 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_KtjL5BhiTaT1T3hh74ZDZQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Affinda uploads block by default: use wait=false plus polling or webhooks for large docs <span>— Vectle</span></a>