Skip to main content
This page summarizes practical limits and constraints when integrating with the Resistant Documents API.
Some limits may vary by contract, tenant configuration, or deployment cell. If you need a higher tier, contact your Resistant AI representative.

API rate limits

Rate limits apply per tenant and are enforced separately for:
  • Create submission requests (POST /v2/submission)
  • Other requests (e.g., polling result endpoints, delete, etc.)
TierCreate submission (POST /v2/submission)Other requests
Default4 req/s (6 burst)10 req/s (15 burst)
If you exceed your quota you may receive HTTP 429 responses. Your client must handle this with backoff and retries.
  • Back off and retry using exponential backoff + jitter
  • Avoid synchronized retries across many workers
  • Reuse access tokens (don’t request a token per API call)

Timeouts

Hard analysis timeout (15 minutes)

Processing has a hard upper bound of 15 minutes.
If results are not available within 15 minutes, treat it as a terminal failure in your workflow and surface it for investigation.

Polling guidance

Use exponential backoff, cap your interval at 45 seconds, and stop polling after 15 minutes.

Retention and deletion

Retention depends on the contract. By default, retention is 90 days. If you need earlier deletion, use:
  • DELETE /v2/submission/{submission_id}

File processing constraints

There is no single hard “maximum file size” limit. Whether a file can be processed depends on:
  • document complexity (structure, embedded objects)
  • document length (e.g., number of pages)
  • file format and encoding
  • overall parsing complexity
  • Be prepared for non-success terminal statuses (e.g., INVALID_INPUT / FAILED).
  • Log identifiers and context (environment, region/cell, submission_id) to support debugging.
  • Follow Document intake best practices to preserve original file bytes and avoid re-encoding.

Supported formats

See: Supported file formats.