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

# Rate limits

> Limites de requetes et headers de reponse

L'API utilise des rate limits par seconde. Les limites sont appliquees par API key.

## Limites par defaut

| Operation                                      | Limite              |
| ---------------------------------------------- | ------------------- |
| Requetes de lecture (GET)                      | 20 requetes/seconde |
| Requetes d'ecriture (POST, PUT, PATCH, DELETE) | 5 requetes/seconde  |

## Headers de rate limit

Chaque reponse inclut des informations de rate limit :

| Header                  | Description                                         |
| ----------------------- | --------------------------------------------------- |
| `X-RateLimit-Limit`     | Nombre maximum de requetes autorisees par seconde   |
| `X-RateLimit-Remaining` | Requetes restantes dans la fenetre actuelle         |
| `X-RateLimit-Reset`     | Timestamp Unix de la reinitialisation de la fenetre |

## Depassement de la limite

Lorsque vous depassez le rate limit, l'API retourne `429 Too Many Requests` :

```json theme={null}
{
  "error": {
    "type": "rate_limit_error",
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "You have exceeded the rate limit of 20 requests per second.",
    "retryable": true,
    "request_id": "req_a1b2c3d4e5f6",
    "retry_after_seconds": 1
  }
}
```

La reponse inclut egalement un header `Retry-After` avec le nombre de secondes a attendre.

## Bonnes pratiques

1. **Respectez `Retry-After`** — attendez le temps indique avant de reessayer
2. **Utilisez le backoff exponentiel** — si les tentatives echouent toujours, augmentez le temps d'attente
3. **Mettez en cache les reponses** — stockez les resultats localement pour eviter les requetes redondantes
4. **Utilisez `last_activity_since`** — pour les workflows de synchronisation, ne recuperez que les conversations avec une nouvelle activite au lieu de tout re-telecharger
5. **Utilisez `total_count`** — pour repondre aux questions "combien ?" sans parcourir toutes les pages de resultats
