Ein Testereignis an einen Webhook-Endpunkt senden

POST /v1/webhook-endpoints/{endpoint_id}:test · Berechtigung webhook-endpoints:write · alle Tarife

Sendet ein signiertes synthetisches Ereignis des gewählten Typs (Standard user.created) an den Endpunkt und gibt das Ergebnis zurück. Das Ereignis enthält data.test = true und wird mit dem aktuellen Geheimnis des Endpunkts signiert, genau wie eine echte Zustellung, sodass Sie Ihre Signaturprüfung testen können. Es wird kein Zustellungsdatensatz geschrieben, und der Antwortkörper des Empfängers wird nicht zurückgegeben. Jeder Endpunkt erlaubt 10 Tests pro Minute.

Anfrage

Feld Typ Pflichtangabe Beschreibung
endpoint_id path ja Webhook-Endpunkt-ID (whe_…).
event_type string nein Zu sendender Ereignistyp aus dem Ereigniskatalog; Standard user.created. Der Anfragetext ist optional.
Idempotency-Key header nein Gibt das Ergebnis für eine wiederholte Anfrage mit demselben Schlüssel zurück.
{
  "event_type": "user.updated"
}

Antwort

200 OK mit dem Ergebnis. Eine fehlgeschlagene Zustellung ist ebenfalls 200: succeeded ist false, und error_class gibt den Grund an (timeout, tls, dns, egress_blocked, http_status, connection).

{
  "succeeded": true,
  "http_status": 204,
  "error_class": null,
  "latency_ms": 87,
  "event_id": "evt_01k8a3m7s9v1w3x5y7z9b2c4d6"
}

Fehler

HTTP code Wann
400 unknown_field Der Anfragetext enthält ein Feld, das oben nicht aufgeführt ist.
404 not_found Dieser Endpunkt existiert in dieser Umgebung nicht.
409 conflict Der Endpunkt ist nicht enabled.
422 validation_failed /event_type unknown_event_type: kein Typ im Ereigniskatalog.
429 rate_limited Mehr als 10 Tests pro Minute für diesen Endpunkt; wiederholen Sie die Anfrage nach Retry-After.
401 unauthenticated Die Anmeldedaten fehlen, sind ungültig oder wurden widerrufen.
403 insufficient_permissions Die Anmeldedaten haben nicht die Berechtigung webhook-endpoints:write.
503 service_unavailable Die Webhook-Verwaltung ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage nach Ablauf von Retry-After.

Beispiel

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