
# Obtenir les paramètres de l'environnement

`GET /v1/environment-settings` · autorisation `environment-settings:read`

Renvoie les paramètres de langue, de fuseau horaire, de session, d'inscription, de notifications de sécurité, de récupération de compte, de MFA, de déconnexion Front-Channel et de premier facteur autorisé de l'environnement (une ressource par environnement). Si les paramètres n'ont jamais été écrits, les valeurs par défaut sont renvoyées avec `ETag: "0"` et `updated_at: null`. L'en-tête de réponse `ETag` contient la version à envoyer comme `If-Match` sur `PATCH`. Les durées sont exprimées en secondes entières.

## Requête

Cette opération ne prend aucun champ de chemin, de requête ou de corps. L'environnement provient de l'identifiant.

## Réponse

`200 OK` avec les paramètres et l'en-tête `ETag`.

`allowed_first_factors` liste les premiers facteurs autorisés dans l'environnement et est toujours renvoyé dans cet ordre : `password`, `passkey`, `email_otp`, `magic_link`, `sms_otp`, `social`, `enterprise`. La valeur par défaut est `["password", "passkey", "social", "enterprise"]` ; `email_otp`, `magic_link` et `sms_otp` ne sont activés que si vous les ajoutez. Une politique d'application ou d'organisation ne peut que restreindre cet ensemble.

```json
{
  "locales": {"enabled": ["en", "tr"], "default": "tr"},
  "default_zoneinfo": "Europe/Istanbul",
  "session": {"idle_timeout_s": 3600, "absolute_timeout_s": 2592000, "max_concurrent": 5, "concurrent_mode": "evict_oldest", "anomaly_action": "enforce"},
  "signup": {"mode": "invite_only", "email_domain_mode": "allowlist", "email_domains": ["example.com"]},
  "security_notifications": {"enabled": true, "events": ["password_changed", "password_reset"]},
  "account_recovery": {"mode": "self_service_waiting", "waiting_hours": 72, "support_url": ""},
  "mfa": {"email_second_factor_enabled": false, "email_second_factor_acr": "1fa", "totp_issuer_label": "Acme", "recovery_codes_enabled": true, "recovery_code_count": 10, "required": false, "min_acr": "1fa", "enrollment_grace_days": 0},
  "frontchannel_logout_enabled": false,
  "allowed_first_factors": ["password", "passkey", "social", "enterprise"],
  "updated_at": "2026-10-05T09:30:00.123456Z"
}
```

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 401 | `unauthenticated` | L'identifiant est absent, invalide ou révoqué. |
| 403 | `insufficient_permissions` | L'identifiant ne dispose pas de l'autorisation requise. |
| 429 | `rate_limited` | La limite de débit a été dépassée ; réessayez après la durée indiquée par `Retry-After`. |
| 503 | `service_unavailable` | Une dépendance est temporairement indisponible ; réessayez après la durée indiquée par `Retry-After`. |

## Exemple

```bash
curl https://api.eu.keenauth.com/v1/environment-settings \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```
