Obtenir l'état du mode attaque
GET /v1/attack-protection/attack-mode · autorisation attack-protection:read
Renvoie si l'environnement est en mode attaque, ainsi que les périodes de mode attaque commencées au cours des 90 derniers jours ou encore ouvertes, les plus récentes en premier (100 au maximum ; more indique que des périodes plus anciennes existent dans cette fenêtre).
Pendant que l'environnement est en mode attaque, chaque étape de mot de passe ou de code à usage unique demande une vérification anti-bot plus stricte, quelle que soit la valeur de bot_protection.mode. La connexion par clé d'accès et par réseau social n'est pas soumise à cette vérification. Une période s'ouvre de l'une des trois manières suivantes :
auto: les échecs de connexion dans une fenêtre de 5 minutes ont dépassé le seuil de déclenchement (le plus élevé entre 50 et dix fois la médiane de l'environnement). En modelogdecredential_stuffing, la période est enregistrée avecwould_have: truesans être appliquée, sauf si la fenêtre dépasse trois fois le seuil.manual_customer: vous l'avez activée avecactivate.manual_platform: les opérations KeenAuth l'ont activée.
active vaut true uniquement pendant qu'une période appliquée (would_have: false) couvre l'ensemble de l'environnement ; active_until correspond alors à la fin la plus tardive de ces périodes. Une période dont la fin est passée mais que le nettoyage n'a pas encore clôturée est considérée comme terminée à ends_at. L'auteur d'une période manuelle figure dans le journal d'audit de gestion, et non dans cette réponse.
Réponse
200 OK
| Champ | Type | Description |
|---|---|---|
active |
boolean | L'environnement est actuellement en mode attaque. |
active_until |
string (date-time) ou null | Moment où le mode attaque en cours prend fin, sauf si une période automatique est prolongée ; null lorsque active vaut false. |
periods[] |
array | Périodes, les plus récentes en premier. |
periods[].id |
string | Identifiant de la période, préfixé atm_. |
periods[].scope |
string | environment ou org_domain. |
periods[].org_domain |
string ou null | Domaine e-mail de l'organisation d'une période org_domain. |
periods[].trigger |
string | auto, manual_customer ou manual_platform. |
periods[].would_have |
boolean | true : enregistrée en mode log, non appliquée. |
periods[].trigger_value |
integer ou null | Nombre de tentatives échouées dans la fenêtre de 5 minutes ayant ouvert une période auto ; null pour les périodes manuelles. |
periods[].threshold |
integer ou null | Seuil que cette fenêtre a dépassé ; null pour les périodes manuelles. |
periods[].started_at |
string (date-time) | Moment où la période a commencé. |
periods[].ends_at |
string (date-time) | Moment où la période prend fin d'elle-même. Une période auto est prolongée tant que l'attaque se poursuit. |
periods[].ended_at |
string (date-time) ou null | Moment où la période s'est terminée ; null tant qu'elle est ouverte. |
more |
boolean | Des périodes plus anciennes existent dans les 90 derniers jours. |
{
"active": true,
"active_until": "2026-10-20T10:00:00Z",
"periods": [
{
"id": "atm_01jaz8m5c3f6t9w2y4b7d0g3k6",
"scope": "environment",
"org_domain": null,
"trigger": "manual_customer",
"would_have": false,
"trigger_value": null,
"threshold": null,
"started_at": "2026-10-20T09:00:00Z",
"ends_at": "2026-10-20T10:00:00Z",
"ended_at": null
}
],
"more": false
}
Erreurs
Chaque erreur est un corps application/problem+json accompagné d'un code stable.
| HTTP | code |
Quand |
|---|---|---|
| 401 | unauthenticated |
La clé d'API est absente, invalide ou révoquée. |
| 403 | insufficient_permissions |
La clé ne dispose pas de l'autorisation attack-protection:read. |
| 429 | rate_limited |
La limite de débit a été dépassée ; respectez Retry-After. |
| 503 | service_unavailable |
Une dépendance est temporairement indisponible ; réessayez plus tard. |
Exemple
curl https://api.eu.keenauth.com/v1/attack-protection/attack-mode \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
CLI : keenauth attack-protection attack-mode get