Skip to main content

Overview

To ensure system stability and fair usage across all clients, the Veridox API implements rate limiting on all endpoints. These limits are designed to prevent abuse while allowing high-performance integration for legitimate workflows.

Global Limits

By default, all API endpoints are limited to: 1,000 requests per 5-minute window, per IP address This is a fixed window rather than a smoothed per-minute rate, so pace sustained or batch traffic across the window instead of assuming an even 200/min is always available. Unless otherwise specified below, this global limit applies to all requests — including Create case, List cases, and Get case details, which do not currently have their own dedicated limit.
max_files on document requests is not a rate limit. It’s a per-request cap on how many files a recipient can upload to one document request, unrelated to API throttling. See Document Requests for its actual rate limits.

Specific Endpoint Limits

Some endpoints have a dedicated limit, tighter or looser than the global default, based on their sensitivity or cost. All windows below are fixed 5-minute windows, same as the global limit:
These sensitive/destructive operations are intentionally throttled more tightly than everyday reads and writes. If you’re hitting 429s on one of these in normal use, contact support rather than working around it — see Increasing Your Limits.
Progress Stream (SSE): Opening the Server-Sent Events progress stream is exempt from rate limiting — it won’t be blocked with a 429 for exceeding a request count. It can still fail for other reasons (auth, case ownership), so handle connection errors as you would for any endpoint. Prefer it over polling where your environment supports it.
Case Pagination: When listing cases, the API supports pagination with a maximum of 100 cases per request (via the limit parameter). Use offset to paginate through larger result sets.

Handling Rate Limits

When you exceed a rate limit, the API returns a 429 Too Many Requests error.

Identifying a Rate Limit Error

The response will include a descriptive error code and message:

Best Practices for Throughput

Implement Exponential Backoff: When you receive a 429 error, wait before retrying, increasing the delay with each subsequent failure.
Use SSE for Progress: Use the Server-Sent Events (SSE) progress stream instead of polling when possible. It provides real-time updates and is not subject to rate limits.
Distribute Batch Operations: If you need to create a large number of cases, spread the requests out across the 5-minute window rather than firing them all at once.
Monitor Headers: Although we keep limits simple, always check for standard Retry-After headers in 429 responses.

Scope of Limits

Rate limits are applied per IP address. This ensures that one client’s integration cannot inadvertently impact the performance of another client’s integration.

Increasing Your Limits

If your production workflow requires higher throughput than the default limits allow, please contact our support team at support@veridox.ai with your specific use case and volume requirements.

Error Handling

Learn more about how to handle different types of API errors gracefully.