
# Terminar el modo de ataque manual

`POST /v1/attack-protection/attack-mode:deactivate` · permiso `attack-protection:write`

Termina ahora mismo el periodo de modo de ataque que activó con [`activate`](activate-attack-mode.md). Escribe el evento `attack_mode_deactivated` y un registro de auditoría de gestión (`attack_mode.deactivated`), con su credencial como actor.

Solo termina su periodo manual. Un periodo abierto por el desencadenante automático o por las operaciones de KeenAuth no puede terminarse antes: mientras esté abierto, la respuesta sigue indicando `active: true`. Cuando no tiene ningún periodo manual abierto, no se escribe nada y se devuelve el estado actual; por eso la llamada puede repetirse sin riesgo.

## Solicitud

Sin cuerpo.

## Respuesta

`200 OK` con el estado actual, tal como lo devuelve [`GET /v1/attack-protection/attack-mode`](get-attack-mode.md).

## Errores

Cada error es un cuerpo `application/problem+json` con un `code` estable.

| HTTP | `code` | Cuándo |
|---|---|---|
| 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

```bash
curl -X POST https://api.eu.keenauth.com/v1/attack-protection/attack-mode:deactivate \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI: `keenauth attack-protection attack-mode deactivate`
