Saldırı koruması ayarlarını güncelle
PATCH /v1/attack-protection · izin attack-protection:write
Saldırı koruması nesnesini bir JSON birleştirme yaması (application/merge-patch+json, RFC 7396) ile günceller. If-Match zorunludur: eksikse 428, eski bir ETag ise 412 döner. Hiçbir şeyi değiştirmeyen bir yama bir şey yazmaz ve ETag aynı kalır.
İstek
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
If-Match |
başlık | evet | Nesnenin son okunduğu hâldeki ETag değeri. Eksikse 428; eskiyse 412. |
| gövde | nesne | evet | Birleştirme yaması. Alanlar Saldırı koruması ayarlarının tamamını değiştir sayfasında listelenmiştir. |
Davranış
- Bölümler özyinelemeli olarak birleşir: yalnızca değiştirdiğiniz alanları gönderin.
nullbir alanı ya da tüm bölümü kaldırır; böylece varsayılanına döner.allowlistveallowed_countriesgibi listeler bütünüyle değiştirilir.- Birleştirilmiş nesne, bir
PUTgövdesi gibi aynen denetlenir.
Yanıt
200 OK ile Saldırı koruması ayarlarını al sayfasındaki gibi nesne ve yeni ETag değeri.
Hatalar
| HTTP | kod | Ne zaman |
|---|---|---|
| 400 | unknown_field |
Bir bölüm ya da alan nesnenin parçası değil. errors[] işaretçileri listeler. |
| 400 | malformed_request |
Gövde geçerli JSON değil ya da If-Match başlığı hatalı. |
| 401 | unauthenticated |
Kimlik bilgisi eksik, geçersiz ya da iptal edilmiş. |
| 403 | insufficient_permissions |
Kimlik bilgisinde attack-protection:write izni yok. |
| 403 | plan_feature_unavailable |
risk_policy.mode enforce ama plan bunu içermiyor; gövde feature ve required_plan alanlarını taşır. |
| 412 | precondition_failed |
Nesne okuduğunuzdan beri değişti. Yeniden okuyup tekrar deneyin. |
| 413 | payload_too_large |
Nesne 32 KiB'den büyük. |
| 422 | validation_failed |
Birleştirilmiş nesnede bir değerin türü yanlış ya da aralık dışında, ya da block_threshold değeri challenge_threshold değerinden büyük değil. errors[] işaretçileri listeler. |
| 422 | below_security_floor |
Bir değer güvenlik tabanının altında. Her errors[] öğesi alanı ve tabanını detail içinde adlandırır. |
| 422 | allowlist_range_too_broad |
Bir izin listesi öneki IPv4 için /8'den, IPv6 için /32'den geniş. |
| 428 | precondition_required |
If-Match eksik. |
| 429 | rate_limited |
Hız sınırı aşıldı; Retry-After süresinden sonra yeniden deneyin. |
| 503 | service_unavailable |
Bir bağımlılık geçici olarak kullanılamıyor; Retry-After süresinden sonra yeniden deneyin. |
Birden fazla hata türü varsa yalnızca en ağır olan döner; sıra şöyledir: unknown_field, validation_failed, below_security_floor, allowlist_range_too_broad, plan_feature_unavailable. Yazılan değerler yanıtta asla geri gönderilmez.
Örnek
curl -X PATCH https://api.eu.keenauth.com/v1/attack-protection \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/merge-patch+json" \
-H 'If-Match: "3f1c9a0b5d7e2a4c6b8d0e1f2a3b4c5d"' \
-d '{"risk_policy": {"block_threshold": 9}, "sms_protection": null}'