Réponse exemple
POST/v1/webhooks/deliveries/{id}/retryRemet en file une livraison de webhook non aboutie pour qu'elle soit renvoyée par le worker cron.Force la relance d'une livraison de webhook restée bloquée en échec ou abandonnée. Contrairement à l'endpoint de replay (qui renvoie toujours la livraison, quel que soit son statut), cet endpoint n'agit que sur les livraisons non abouties : il bascule la livraison en statut pending, fixe next_retry_at à l'instant courant et réinitialise le compteur de tentatives (attempt_number remis à 0). Le cron de distribution reprend ensuite automatiquement la livraison. La livraison ciblée doit appartenir au workspace de la clé API : elle est recherchée sur workspace_id et id.
Authentification
Cet endpoint exige une clé API valide disposant du scope webhooks:manage. Une clé sans ce scope reçoit une erreur scope_missing (403). L'appel est soumis au quota d'écriture (write) du workspace et respecte la clé d'idempotence si elle est fournie via l'en-tête Idempotency-Key.
Paramètres de chemin
| Champ | Type | Requis | Description |
|---|---|---|---|
| id | string | Oui | Identifiant de la livraison de webhook à relancer, extrait du chemin de l'URL (segment précédant /retry). |
Cet endpoint n'attend aucun corps de requête. Toute donnée envoyée dans le corps est ignorée.
Réponse
En cas de succès, la réponse renvoie la livraison mise à jour avec les champs id, status (désormais pending), next_retry_at (horodatage ISO 8601 de la prochaine tentative, fixé à l'instant courant), attempt_number (remis à 0) et max_attempts (nombre maximal de tentatives configuré). Le champ booléen queued_for_retry vaut toujours true pour confirmer que la livraison a bien été remise en file.
| Champ | Type | Description |
|---|---|---|
| id | string | Identifiant de la livraison relancée. |
| status | string | Nouveau statut de la livraison, toujours pending après relance. |
| next_retry_at | string | Horodatage ISO 8601 de la prochaine tentative (instant courant). |
| attempt_number | integer | Compteur de tentatives, réinitialisé à 0. |
| max_attempts | integer | Nombre maximal de tentatives configuré pour cette livraison. |
| queued_for_retry | boolean | Toujours true : confirme la remise en file de la livraison. |
Erreurs
| Code | Quand | Résolution |
|---|---|---|
| 404 not_found | Aucune livraison ne correspond à cet id dans le workspace de la clé API. | Vérifiez l'identifiant et que la livraison appartient bien au workspace de la clé utilisée. |
| 409 validation_error | La livraison est déjà en statut success : on ne relance pas une livraison aboutie. | Utilisez l'endpoint de replay pour renvoyer volontairement une livraison déjà réussie. |
| 403 scope_missing | La clé API ne possède pas le scope webhooks:manage. | Émettez ou utilisez une clé disposant du scope webhooks:manage. |
| 401 invalid_api_key | Clé API absente, invalide, expirée ou révoquée. | Vérifiez l'en-tête Authorization et la validité de la clé. |
| 429 rate_limited | Le quota d'écriture du workspace est dépassé. | Patientez la durée indiquée par l'en-tête Retry-After avant de réessayer. |
| 500 internal_error | Erreur lors de la lecture ou de la mise à jour de la livraison en base. | Réessayez ; si l'erreur persiste, contactez le support avec le request_id retourné. |
Voir aussi
- POST /v1/webhooks/deliveries/{id}/replay : renvoyer une livraison quel que soit son statut, y compris déjà réussie.
GET /v1/webhooks/deliveries: lister les livraisons et filtrer celles en échec à relancer.- POST /v1/webhooks/{id}/rotate-secret : faire tourner le secret de signature d'un endpoint webhook.