
# 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. |

```json
{
  "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`).

```json
{
  "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

```bash
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`
