攻撃保護の設定を更新
PATCH /v1/attack-protection · 権限 attack-protection:write
JSON マージパッチ(application/merge-patch+json、RFC 7396)で攻撃保護オブジェクトを更新します。If-Match は必須です。ない場合は 428、古い ETag の場合は 412 が返されます。何も変更しないパッチは何も書き込まず、ETag も変わりません。
リクエスト
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
If-Match |
ヘッダー | はい | 最後に読み取ったオブジェクトの ETag。ない場合は 428、古い場合は 412。 |
| ボディ | オブジェクト | はい | マージパッチ。フィールドは 攻撃保護の設定を置き換え に一覧があります。 |
動作
- セクションは再帰的にマージされます。変更するフィールドだけを送信してください。
nullはフィールドまたはセクション全体を削除し、既定値に戻します。allowlistやallowed_countriesのようなリストは全体が置き換えられます。- マージ後のオブジェクトは、
PUTのボディとまったく同じように検査されます。
レスポンス
攻撃保護の設定を取得 と同じオブジェクトと新しい ETag を含む 200 OK です。
エラー
| HTTP | コード | 発生条件 |
|---|---|---|
| 400 | unknown_field |
セクションまたはフィールドがオブジェクトに含まれていない。errors[] にポインターが一覧表示されます。 |
| 400 | malformed_request |
ボディが有効な JSON ではない、または If-Match ヘッダーの形式が不正。 |
| 401 | unauthenticated |
認証情報がない、無効、または失効している。 |
| 403 | insufficient_permissions |
認証情報に attack-protection:write がない。 |
| 403 | plan_feature_unavailable |
risk_policy.mode が enforce だが、プランに含まれていない。ボディには feature と required_plan が含まれます。 |
| 412 | precondition_failed |
読み取り後にオブジェクトが変更されています。もう一度読み取ってから再試行してください。 |
| 413 | payload_too_large |
オブジェクトが 32 KiB を超えている。 |
| 422 | validation_failed |
値の型が誤っているか範囲外である、または block_threshold が challenge_threshold より大きくない。errors[] にポインターが一覧表示されます。 |
| 422 | below_security_floor |
値がセキュリティの下限を下回っている。errors[] の各項目は、detail でフィールドと下限を示します。 |
| 422 | allowlist_range_too_broad |
許可リストのプレフィックスが、IPv4 では /8、IPv6 では /32 より広い。 |
| 428 | precondition_required |
If-Match がない。 |
| 429 | rate_limited |
レート制限を超えました。Retry-After の時間が経過してから再試行してください。 |
| 503 | service_unavailable |
依存先が一時的に利用できません。Retry-After の時間が経過してから再試行してください。 |
複数の種類のエラーがある場合は、最も重大なものだけが次の順序で返されます: unknown_field、validation_failed、below_security_floor、allowlist_range_too_broad、plan_feature_unavailable。書き込んだ値がレスポンスに戻されることはありません。
例
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}'