Actualizar la configuración de protección frente a ataques

PATCH /v1/attack-protection · permiso attack-protection:write

Actualiza el objeto de protección frente a ataques con un parche de fusión JSON (application/merge-patch+json, RFC 7396). If-Match es obligatorio: si falta, se devuelve 428; si el ETag está desactualizado, 412. Un parche que no cambia nada no escribe nada y conserva el ETag.

Solicitud

Campo Tipo Obligatorio Descripción
If-Match encabezado sí El ETag del objeto tal como se leyó por última vez. Si falta: 428; si está desactualizado: 412.
cuerpo objeto sí El parche de fusión. Los campos se enumeran en Reemplazar la configuración de protección frente a ataques.

Comportamiento

Respuesta

200 OK con el objeto, como en Obtener la configuración de protección frente a ataques, y el nuevo ETag.

Errores

HTTP código Cuándo
400 unknown_field Una sección o un campo no forma parte del objeto. errors[] enumera los punteros.
400 malformed_request El cuerpo no es JSON válido o el encabezado If-Match está mal formado.
401 unauthenticated La credencial falta, no es válida o fue revocada.
403 insufficient_permissions La credencial no tiene attack-protection:write.
403 plan_feature_unavailable risk_policy.mode es enforce y el plan no lo incluye; el cuerpo contiene feature y required_plan.
412 precondition_failed El objeto cambió desde que lo leyó. Léalo de nuevo y reintente.
413 payload_too_large El objeto supera 32 KiB.
422 validation_failed En el objeto fusionado, un valor tiene un tipo incorrecto o está fuera de rango, o block_threshold no es mayor que challenge_threshold. errors[] enumera los punteros.
422 below_security_floor Un valor está por debajo del mínimo de seguridad. Cada entrada de errors[] indica en detail el campo y su mínimo.
422 allowlist_range_too_broad Un prefijo de la lista de permitidos es más amplio que /8 (IPv4) o /32 (IPv6).
428 precondition_required Falta If-Match.
429 rate_limited Se superó el límite de frecuencia; reintente después del periodo indicado en Retry-After.
503 service_unavailable Una dependencia no está disponible temporalmente; reintente después del periodo indicado en Retry-After.

Si hay varios tipos de error, solo se devuelve el más grave, en este orden: unknown_field, validation_failed, below_security_floor, allowlist_range_too_broad, plan_feature_unavailable. Los valores escritos nunca se devuelven en la respuesta.

Ejemplo

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}'