
# Obtener la configuración del entorno

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

Devuelve la configuración del idioma, la zona horaria, la sesión, el registro, las notificaciones de seguridad, la recuperación de cuenta, la autenticación multifactor, el Front-Channel Logout y los primeros factores permitidos del entorno (un recurso por entorno). Si la configuración nunca se escribió, se devuelven los valores predeterminados con `ETag: "0"` y `updated_at: null`. El encabezado de respuesta `ETag` contiene la versión que debe enviar como `If-Match` en `PATCH`. Las duraciones se expresan en segundos enteros.

## Solicitud

Esta operación no recibe campos de ruta, de consulta ni de cuerpo. El entorno se obtiene de la credencial.

## Respuesta

`200 OK` con la configuración y el encabezado `ETag`.

`allowed_first_factors` enumera los primeros factores permitidos en el entorno y siempre se devuelve en este orden: `password`, `passkey`, `email_otp`, `magic_link`, `sms_otp`, `social`, `enterprise`. El valor predeterminado es `["password", "passkey", "social", "enterprise"]`; `email_otp`, `magic_link` y `sms_otp` están activados solo cuando los añade. Una política de aplicación u organización solo puede restringir este conjunto.

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

## Errores

| HTTP | código | Cuándo |
|---|---|---|
| 401 | `unauthenticated` | La credencial falta, no es válida o fue revocada. |
| 403 | `insufficient_permissions` | La credencial carece del permiso requerido. |
| 429 | `rate_limited` | Se superó el límite de frecuencia; reintente después del periodo indicado en `Retry-After`. |
| 503 | `service_unavailable` | Una dependencia no está disponible temporalmente; reintente después del periodo indicado en `Retry-After`. |

## Ejemplo

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