Envoyer un événement de test à un endpoint de webhook
POST /v1/webhook-endpoints/{endpoint_id}:test · autorisation webhook-endpoints:write · tous les forfaits
Envoie un événement synthétique signé du type choisi (par défaut user.created) à l'endpoint et renvoie le résultat. L'événement contient data.test = true et est signé avec le secret actuel de l'endpoint, exactement comme une livraison réelle, afin de vous permettre de vérifier votre contrôle de signature. Aucun enregistrement de livraison n'est écrit et le corps de réponse du récepteur n'est pas renvoyé. Chaque endpoint autorise 10 tests par minute.
Requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
endpoint_id |
path | oui | Identifiant de l'endpoint de webhook (whe_…). |
event_type |
string | non | Type d'événement du catalogue à envoyer ; par défaut user.created. Le corps est facultatif. |
Idempotency-Key |
header | non | Renvoie le résultat pour une requête répétée avec la même clé. |
{
"event_type": "user.updated"
}
Réponse
200 OK avec le résultat. Une livraison en échec reste 200 : succeeded vaut false et error_class indique la cause (timeout, tls, dns, egress_blocked, http_status, connection).
{
"succeeded": true,
"http_status": 204,
"error_class": null,
"latency_ms": 87,
"event_id": "evt_01k8a3m7s9v1w3x5y7z9b2c4d6"
}
Erreurs
| HTTP | code | Quand |
|---|---|---|
| 400 | unknown_field |
Le corps contient un champ qui n'est pas listé ci-dessus. |
| 404 | not_found |
Aucun endpoint de ce type dans cet environnement. |
| 409 | conflict |
L'endpoint n'est pas enabled. |
| 422 | validation_failed |
/event_type unknown_event_type : ce n'est pas un type du catalogue. |
| 429 | rate_limited |
Plus de 10 tests par minute pour cet endpoint ; réessayez après Retry-After. |
| 401 | unauthenticated |
Le identifiant d'authentification est absent, invalide ou révoqué. |
| 403 | insufficient_permissions |
L'identifiant d'authentification ne dispose pas de webhook-endpoints:write. |
| 503 | service_unavailable |
L'administration des webhooks est temporairement indisponible ; réessayez après la période indiquée par Retry-After. |
Exemple
curl -X POST https://api.eu.keenauth.com/v1/webhook-endpoints/whe_01k8a3m5q7t9v1w3x5y7z9b2c4:test \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"event_type":"user.updated"}'
CLI : keenauth webhook-endpoints test whe_01k8a3m5q7t9v1w3x5y7z9b2c4 --event-type user.updated