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