Batch & async jobs
Generate at volume: produce many documents from one template, run resumable statement runs, and drive long-running work through an asynchronous job API with signed webhook callbacks.
Batch generation
Apply one template to many records in a single request — ideal for statement and mailing runs. Choose the packaging:
- Separate files returned as a zip archive, or
- a single merged PDF.
File names can be derived from data fields, and per-recipient language/formatting is applied. Partial failures are reported per record (record id + reason) so a bad row never fails the whole run.
High-volume statement runs
For very large runs (tens or hundreds of thousands of documents), statement-run mode is checkpointed and resumable — an interrupted run continues from the last completed record. Configurable concurrency and back-pressure protect the engine and the database, and live progress, throughput metrics and a per-record failure export are available.
Asynchronous job API
Submit long-running generation or signing as a job and poll for status or receive a callback:
- Submit — the endpoint returns a
jobIdimmediately; a background worker processes it. - Status — poll the job for state (
queued,running,succeeded,failed,partial) and progress. - Result — retrieve results by
jobId.
Use an idempotency key to avoid duplicate submissions, and set a retention policy for results.
Webhooks
Register a callback URL to be notified when a job completes. Callbacks are signed with an HMAC so your receiver can verify authenticity before acting. See the API reference for endpoints and payloads.
Need help? Contact us or try the live demo.
