> For the complete documentation index, see [llms.txt](https://www.docpartner.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.docpartner.dev/api/sms-partner/rate-limiting.md).

# Rate limiting

Afin de garantir la stabilité et la disponibilité de l'API pour l'ensemble de nos utilisateurs, chaque endpoint de l'API SMS Partner applique une limite de débit (*rate limiting*). Cette limite définit le nombre maximum de requêtes que vous pouvez effectuer sur un endpoint donné, sur une fenêtre de temps donnée.

## Comment ça fonctionne

La limite est appliquée **par endpoint** et **par adresse IP appelante**. Chaque endpoint dispose de son propre quota, indépendant des autres : consommer votre quota sur un endpoint n'affecte pas votre quota sur un autre.

Le quota est réinitialisé automatiquement à l'expiration de la fenêtre de temps associée à l'endpoint appelé — il n'y a rien à faire de votre côté pour le réinitialiser.

Les limites exactes (nombre de requêtes autorisées et durée de la fenêtre) varient selon les endpoints, en fonction de leur nature et de leur coût pour notre infrastructure. Si vous avez besoin d'un quota plus élevé pour un cas d'usage spécifique, contactez notre support.

## Dépassement de la limite

Lorsque le quota d'un endpoint est dépassé, l'API répond avec le code HTTP **`429 Too Many Requests`** et un corps de réponse JSON de la forme :

```json
{
  "success": false,
  "code": 429,
  "message": "Too many requests, please slow down.",
  "readableLimit": "30 request per 60 secondes"
}
```

Dans ce cas, aucune action n'est effectuée côté serveur : la requête est simplement rejetée, sans effet de bord.

## Headers de réponse

Sur une réponse `429`, l'API renvoie également les headers suivants, qui vous permettent de connaître précisément l'état de votre quota :

| Header                  | Description                                                                 |
| ----------------------- | --------------------------------------------------------------------------- |
| `X-RateLimit-Limit`     | Nombre maximum de requêtes autorisées sur la fenêtre de temps de l'endpoint |
| `X-RateLimit-Remaining` | Nombre de requêtes restantes sur la fenêtre en cours                        |
| `X-RateLimit-Timeleft`  | Nombre de secondes avant la réinitialisation du quota                       |

Exemple de réponse complète :

```http
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
X-RateLimit-Timeleft: 42
Content-Type: application/json

{
  "success": false,
  "code": 429,
  "message": "Too many requests, please slow down.",
  "readableLimit": "30 request per 60 secondes"
}
```

{% hint style="info" %}
Ces headers ne sont garantis que sur les réponses `429`. Ne vous basez pas sur leur présence systématique sur les réponses de succès pour anticiper votre quota restant.
{% endhint %}

## Bonnes pratiques

* **Respectez `X-RateLimit-Timeleft`** avant de retenter votre requête plutôt que de retenter immédiatement en boucle.
* **Mettez en place un backoff** (délai croissant entre les tentatives) en cas de réponses `429` répétées.
* **Évitez le polling agressif** : privilégiez, quand c'est possible, les webhooks plutôt que l'interrogation régulière d'un endpoint de statut.
* **Regroupez vos appels** lorsque l'endpoint le permet (ex : envoi en masse plutôt que plusieurs appels unitaires), afin de limiter le nombre de requêtes nécessaires.

## Besoin d'un quota plus élevé ?

Si les limites par défaut ne conviennent pas à votre volume d'utilisation, contactez notre [support](mailto:contact@smspartner.fr) en précisant l'endpoint concerné et votre besoin : nous étudierons la possibilité d'ajuster votre quota.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://www.docpartner.dev/api/sms-partner/rate-limiting.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
