Skip to content

Limits & retention

LimitValue
Max size per file200 MB
Max size per request815 MB
Max files per request1000
Accepted typePDF 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.

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: 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.