> ## Documentation Index
> Fetch the complete documentation index at: https://docs.veridox.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limiting

> Understanding API usage limits and how to handle them

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

**10 requests per minute per IP address**

Unless otherwise specified in the endpoint documentation, this global limit applies to all requests.

## Specific Endpoint Limits

Some endpoints allow for higher throughput based on their intended use:

| Operation             | Limit         | Scope          |
| --------------------- | ------------- | -------------- |
| Create case           | 10 per minute | Per IP address |
| List cases            | 30 per minute | Per user       |
| Get case details      | 60 per minute | Per user       |
| Progress stream (SSE) | 10 concurrent | Per API key    |
| Progress polling      | 600 per hour  | Per API key    |

<Info>
  **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.
</Info>

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

```json theme={null}
{
  "error_code": "request.rate-limit",
  "error_message": "Too many requests. Please try again later."
}
```

### Best Practices for Throughput

<Check>
  **Implement Exponential Backoff**: When you receive a 429 error, wait before retrying, increasing the delay with each subsequent failure.
</Check>

<Check>
  **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.
</Check>

<Check>
  **Distribute Batch Operations**: If you need to create a large number of cases, spread the requests over time to stay within the per-minute limits.
</Check>

<Check>
  **Monitor Headers**: Although we keep limits simple, always check for standard `Retry-After` headers in 429 responses.
</Check>

## 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](mailto:support@veridox.ai) with your specific use case and volume requirements.

<Card title="Error Handling" icon="bug" href="/guides/error-handling">
  Learn more about how to handle different types of API errors gracefully.
</Card>
