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

# Rate limits

> API rate limiting for public endpoints.

## Overview

Rate limits vary by endpoint and account. When a limit is exceeded, the API returns HTTP **429** with a `Retry-After` header (seconds).

Meum may apply different limits to authentication, checkout, invoice creation, integrations, and dashboard operations. Exact thresholds are not published as a fixed contract while limits are being calibrated on some routes.

## Rate limit response

When a limit is enforced:

```http theme={null}
HTTP/1.1 429 Too Many Requests
Retry-After: 60
Content-Type: application/json
```

```json theme={null}
{
  "error": "too_many_requests",
  "message": "Too many requests. Please try again later.",
  "retry_after_seconds": 60
}
```

Some routes may still be in observe-only mode during calibration and will not return 429 until limits are finalized.

## Integration guidance

* Retry idempotent reads with exponential backoff when you receive 429.
* Use `Idempotency-Key` on dashboard payment link creation where supported.
* WooCommerce invoice creation is deduplicated by `external_order_id` per store. Retries with the same order ID return the existing invoice when possible.
* If multiple integrations share one egress IP, coordinate request volume; per-API-key accounting may apply on some routes.

## Related pages

* [Common API errors](/troubleshooting/common-api-errors)
* [Idempotency](/api-reference/idempotency) (if documented)
