Web kancası ucunun imza sırrını yenile
POST /v1/webhook-endpoints/{endpoint_id}:rotate-secret · izin webhook-endpoints:write · bütün planlar
Yeni bir imza sırrı üretir ve bir kez döndürür (Cache-Control: no-store). previous_secret_ttl_hours (varsayılan 24) boyunca her teslim webhook-signature başlığında biri eski, biri yeni sırla iki imza taşır; alıcınızı teslim kaybetmeden geçirebilirsiniz. 0 eski sırrı hemen düşürür (sızmış sır için). Aynı Idempotency-Key ile tekrarlanan istek ucu sırsız ve secret_redacted: true ile döndürür.
İstek
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
endpoint_id |
yol | evet | Web kancası ucu kimliği (whe_…). |
If-Match |
başlık | hayır | Verilirse ucun güncel ETag'iyle eşleşmelidir. |
previous_secret_ttl_hours |
integer | hayır | Eski sırrın imzalamayı sürdürdüğü 0–168 saat; varsayılan 24. Gövde isteğe bağlıdır. |
Idempotency-Key |
başlık | hayır | Aynı anahtarla tekrarlanan istekte yanıtı (sırsız) yeniden oynatır. |
{
"previous_secret_ttl_hours": 24
}
Yanıt
200 OK: uç, yeni ETag ve yeni sır.
{
"id": "whe_01k8a3m5q7t9v1w3x5y7z9b2c4",
"key": "crm-sync",
"url": "https://hooks.example.com/keenauth",
"description": "CRM sync",
"event_types": ["user.created", "user.updated"],
"event_schema_versions": {},
"payload_mode": "thin",
"status": "enabled",
"rate_limit_per_second": 50,
"previous_secret_expires_at": "2026-10-27T10:00:00Z",
"last_success_at": "2026-10-26T09:12:00Z",
"failing_since": null,
"version": 4,
"created_at": "2026-10-26T09:00:00Z",
"updated_at": "2026-10-26T10:00:00Z",
"signing_secret": "idp_whsec_<secret>"
}
Hatalar
| HTTP | code | Ne zaman |
|---|---|---|
| 400 | unknown_field |
Gövdede yukarıda olmayan bir alan var. |
| 404 | not_found |
Bu ortamda böyle bir uç yok. |
| 412 | precondition_failed |
If-Match güncel sürümle eşleşmiyor. |
| 422 | validation_failed |
/previous_secret_ttl_hours out_of_range: 0–168 dışında. |
| 422 | idempotency_key_reuse |
Idempotency-Key farklı bir istekle kullanılmış. |
| 401 | unauthenticated |
Kimlik bilgisi yok, geçersiz ya da iptal edilmiş. |
| 403 | insufficient_permissions |
Kimlik bilgisinde webhook-endpoints:write yok. |
| 503 | service_unavailable |
Web kancası yönetimi geçici olarak kullanılamıyor; Retry-After süresinden sonra yeniden deneyin. |
Örnek
curl -X POST https://api.eu.keenauth.com/v1/webhook-endpoints/whe_01k8a3m5q7t9v1w3x5y7z9b2c4:rotate-secret \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 4c6e8a0b-2d4f-4a6c-9e1b-3d5f7a9c1e3b" \
-d '{"previous_secret_ttl_hours":24}'
CLI: keenauth webhook-endpoints rotate-secret whe_01k8a3m5q7t9v1w3x5y7z9b2c4 --previous-secret-ttl-hours 24