
# Ottieni le impostazioni dell'ambiente

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

Restituisce le impostazioni dell'ambiente per lingua, fuso orario, sessione, iscrizione, notifiche di sicurezza, recupero dell'account, MFA, Front-Channel Logout e primi fattori consentiti (una risorsa per ambiente). Se le impostazioni non sono mai state scritte, vengono restituiti i valori predefiniti con `ETag: "0"` e `updated_at: null`. L'header di risposta `ETag` contiene la versione da inviare come `If-Match` in `PATCH`. Le durate sono espresse in secondi interi.

## Richiesta

Questa operazione non richiede campi di percorso, query o body. L'ambiente viene ricavato dalla credenziale.

## Risposta

`200 OK` con le impostazioni e l'header `ETag`.

`allowed_first_factors` elenca i primi fattori consentiti nell'ambiente e viene sempre restituito in questo ordine: `password`, `passkey`, `email_otp`, `magic_link`, `sms_otp`, `social`, `enterprise`. Il valore predefinito è `["password", "passkey", "social", "enterprise"]`; `email_otp`, `magic_link` e `sms_otp` sono attivi solo se li aggiungi. Una policy di applicazione o di organizzazione può solo restringere questo insieme.

```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"
}
```

## Errori

| HTTP | code | Quando |
|---|---|---|
| 401 | `unauthenticated` | La credenziale manca, non è valida o è stata revocata. |
| 403 | `insufficient_permissions` | La credenziale non ha l'autorizzazione richiesta. |
| 429 | `rate_limited` | È stato superato il limite di frequenza; riprova dopo il periodo indicato in `Retry-After`. |
| 503 | `service_unavailable` | Una dipendenza non è disponibile temporaneamente; riprova dopo il periodo indicato in `Retry-After`. |

## Esempio

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