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