Aller au contenu principal

Rate limiting

L'API Cocolis applique une limite de débit pour protéger l'infrastructure. Cette limite s'applique à toutes les routes de l'API, y compris can_match et la création d'annonces.

Limite en vigueur

Nous avons mis en place différentes limites d'utilisation de l'API.

  • signing in: 10 requêtes par périodes glissantes de 10 secondes (en moyenne 1 par seconde)
  • toutes requêtes de type POST/DELETE/PUT: 120 requêtes par période glissantes de 1 minute (en moyenne 2 par seconde)
  • toutes requêtes de type GET: 600 requêtes par période glissantes de 1 minute (en moyenne 10 par seconde)

Réponse en cas de dépassement

Lorsque la limite est atteinte, l'API renvoie un statut HTTP 429 Too Many Requests avec les headers suivants :

HeaderDescription
RateLimit-LimitLimite applicable
RateLimit-RemainingRequêtes restantes (toujours 0 lors d'un 429)
RateLimit-ResetTimestamp Unix avant lequel attendre
Retry-AfterNombre de secondes à attendre

Le corps de la réponse contient simplement Throttled.

Bonnes pratiques

  • Implémentez une logique de retry avec backoff exponentiel en vous appuyant sur le header Retry-After.
  • Mettez en cache côté client les réponses qui changent rarement afin de réduire le nombre d'appels.
  • Évitez les polls agressifs — préférez les webhooks pour être notifié des changements d'état.