Activar el modo de ataque
POST /v1/attack-protection/attack-mode:activate · permiso attack-protection:write
Pone el entorno en modo de ataque durante duration_minutes (de 15 a 1.440) a partir de ahora, sin importar lo que indiquen bot_protection.mode y credential_stuffing. Cada paso de contraseña o de código de un solo uso exige entonces una verificación de bot más estricta; el inicio de sesión con passkey y el inicio de sesión social no se someten a esa verificación. Úselo cuando detecte un ataque antes que el desencadenante automático.
Si su periodo manual ya está abierto, su final pasa a ser ahora más duration_minutes, cuando eso sea más tarde. Una duración más corta nunca lo termina antes (para eso use deactivate). Abrir un periodo escribe el evento attack_mode_activated y un registro de auditoría de gestión (attack_mode.activated); una prórroga escribe el registro de auditoría attack_mode.extended. El actor es su credencial. Envíe una cabecera Idempotency-Key para reintentar sin riesgo.
Solicitud
{ "duration_minutes": 60 }
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
duration_minutes |
integer | sí | De 15 a 1.440. |
Respuesta
200 OK con el estado actual, tal como lo devuelve GET /v1/attack-protection/attack-mode.
Errores
Cada error es un cuerpo application/problem+json con un code estable.
| HTTP | code |
Cuándo |
|---|---|---|
| 400 | malformed_request |
El cuerpo no es un objeto JSON. |
| 400 | unknown_field |
El cuerpo tiene un campo distinto de duration_minutes. |
| 422 | validation_failed |
duration_minutes falta, no es un entero o está fuera de 15 a 1.440 (errors[].pointer es /duration_minutes). |
| 401 | unauthenticated |
La clave de API falta, no es válida o fue revocada. |
| 403 | insufficient_permissions |
La clave no tiene el permiso attack-protection:write. |
| 429 | rate_limited |
Se superó el límite de peticiones; respete Retry-After. |
| 503 | service_unavailable |
Una dependencia no está disponible temporalmente; vuelva a intentarlo más tarde. |
Ejemplo
curl -X POST https://api.eu.keenauth.com/v1/attack-protection/attack-mode:activate \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 7b2f0c1e-attack-mode-1" \
-d '{"duration_minutes": 60}'
CLI: keenauth attack-protection attack-mode activate --duration-minutes 60