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 :

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