Obtener la configuración del entorno
GET /fapi/v1/environment · llamado desde el host de inicio de sesión del entorno
Devuelve la configuración pública que una página de inicio de sesión necesita antes de abrir una transacción: los primeros
factores que ofrecerá una nueva transacción de la aplicación, el modo de registro, los idiomas habilitados y, cuando se
ofrecen passkeys, el rp_id de la passkey. La respuesta no contiene datos personales, no lee ninguna cookie y no abre
ninguna transacción.
Solicitud
Encabezados:
| Encabezado | Obligatorio | Descripción |
|---|---|---|
Idp-Client |
sí | Identificador SDK, <paquete>/<versión> (<tiempo de ejecución>/<versión>). |
Parámetros de consulta:
| Parámetro | Obligatorio | Descripción |
|---|---|---|
client_id |
sí | El client_id de la aplicación. |
Respuesta
200 OK:
| Campo | Descripción |
|---|---|
schema_version |
1. |
first_factors |
Los métodos que ofrece una nueva transacción, en este orden: password, passkey, email_otp, magic_link. Vacío cuando la política no permite ningún método. |
sign_up |
Modo de registro: open, invite_only o closed. |
locales |
enabled (idiomas habilitados) y default (idioma predeterminado). |
passkey |
Solo cuando se ofrece el inicio de sesión con passkey: rp_id. |
La respuesta incluye Cache-Control: max-age=60; un cambio de política se ve en menos de un minuto.
Errores
| Estado | Código | Cuándo |
|---|---|---|
| 400 | malformed_request |
Falta Idp-Client. |
| 403 | environment_suspended |
El entorno está suspendido. |
| 403 | headless_not_allowed |
La aplicación no es de primera parte (first party). |
| 404 | not_found |
El host no pertenece a ningún entorno. |
| 422 | validation_failed |
client_id falta, es demasiado largo o es desconocido (/client_id). |
Ejemplo
curl "https://example.keenauth.app/fapi/v1/environment?client_id=app_01j9zq3k5m7n8p9r0s1t2v3w4x" \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)"
{
"schema_version": 1,
"first_factors": ["password", "passkey", "email_otp"],
"sign_up": "open",
"locales": {"enabled": ["tr", "en"], "default": "tr"},
"passkey": {"rp_id": "example.keenauth.app"}
}