Limits & retention
Upload limits
Section titled “Upload limits”| Limit | Value |
|---|---|
| Max size per file | 200 MB |
| Max size per request | 815 MB |
| Max files per request | 1000 |
| Accepted type | PDF only (application/pdf) |
Exceeding a size limit returns 413; a non-PDF file is rejected with 400.
There is no hard limit on page count — large documents simply take longer to process.
Rate limits & concurrency
Section titled “Rate limits & concurrency”There is no fixed public request-rate limit, and no synchronous rejection on upload. Throughput is governed by your contract upload quota, which is checked asynchronously after the upload is accepted.
An upload is accepted immediately (200, or 202 for upload-by-url) and returns a caseId.
If your quota is exhausted, that job does not process: its status moves to quota_pending and
then the terminal quota_exceeded (and a case.quota_exceeded webhook
fires if you registered one). There is no 429 to catch — watch the job status instead.
A quota_exceeded result means you’ve reached your contracted volume; talk to us about a
higher quota.
Parallelism: there is no per-account concurrency cap — you may submit and process multiple PDFs in parallel, bounded only by your quota. Jobs run from a shared processing queue, so end-to-end time depends on overall load as well as document size.
Retention & deletion
Section titled “Retention & deletion”- Retention: cases and their files are kept until you delete them. There is no automatic expiry — nothing is purged on a timer.
- Deletion is permanent.
DELETE /api/v1/upload-service/delete/{caseId}removes the case, all its iterations, and the stored files irreversibly. There is no soft-delete and no recovery.