Async Workflows
The async API hands back a requestId without waiting for generation to finish, and you collect the result afterwards via webhook or polling. Because it sidesteps the 60-second timeout on the sync endpoints, it suits bulk generation and background processing. This guide covers three patterns — parallel, queue-based, and batch — plus retries and partial failures.
What the async API is
A subset of the Re:port Flow API endpoints support asynchronous processing:
| Operation | Sync | Async |
|---|---|---|
| Single PDF | /file/sync/single | /file/async/single |
| Multiple PDFs | /file/sync/multiple | /file/async/multiple |
How do I wait for completion?
When the async API returns 202 Accepted and a requestId, generation is still in progress. Find out when it finishes in one of two ways:
| Method | Good for |
|---|---|
Poll the status API (GET /v1/file/status/{requestId}) | You cannot expose a public URL to receive callbacks, or you want to wait inside a batch job |
Webhook notifications (file.completed; file.failed too, sent to the URL you pass as webhookUrl in the generation request) | Your server can receive requests and you don't want to waste time waiting |