Obtener mi perfil
GET /fapi/v1/me · llamado desde el host de inicio de sesión del entorno
Devuelve el perfil del usuario autenticado: los siete campos que el usuario puede modificar y user_metadata. Los datos de contacto, el estado de verificación, app_metadata y los campos administrativos no se devuelven. El encabezado ETag es la versión del perfil; envíelo en If-Match para que un cambio sea condicional. Requiere la cookie __Host-idp_session del usuario autenticado; si la cookie falta, ha caducado o ha sido revocada, devuelve 401 unauthenticated. Una aplicación propia en otro origen puede enviar en su lugar su token de acceso a la API frontal (Authorization: DPoP <token> con una prueba DPoP; consulte Token de acceso a la API frontal). No se requiere una nueva verificación reciente. La respuesta contiene datos personales y nunca se almacena en caché.
Solicitud
Encabezados:
| Encabezado | Obligatorio | Descripción |
|---|---|---|
Idp-Client |
sí | Identificador del SDK. |
Sin cuerpo.
Respuesta
200 OK con un encabezado ETag (la versión del perfil, por ejemplo "8"):
| Campo | Tipo | Descripción |
|---|---|---|
id |
cadena | Identificador del usuario (usr_…), igual que el sub de los tokens. |
given_name |
cadena | Nombre. |
family_name |
cadena | Apellidos. |
name |
cadena | Nombre completo. |
picture |
cadena | URL de la imagen (https). |
locale |
cadena | Idioma (etiqueta BCP 47). |
zoneinfo |
cadena | Zona horaria (nombre IANA). |
username |
cadena | Nombre de usuario. |
user_metadata |
objeto | Los metadatos propios del usuario; siempre es un objeto JSON ({} cuando está vacío). |
Los campos sin valor no aparecen en la respuesta.
{
"id": "usr_01jbz6x8kq3m2n4p5r6s7t8v9w",
"given_name": "Ada",
"family_name": "Lovelace",
"name": "Ada Lovelace",
"locale": "en-GB",
"zoneinfo": "Europe/London",
"username": "ada",
"user_metadata": {
"theme": "dark"
}
}
Errores
| Estado | Código | Cuándo |
|---|---|---|
| 401 | unauthenticated |
No hay una cookie de sesión válida. |
| 404 | not_found |
No se puede leer la cuenta (por ejemplo, está bloqueada o en proceso de eliminación). |
| 503 | service_unavailable |
El directorio de usuarios no está disponible temporalmente; reintente después de Retry-After segundos. |
Ejemplo
curl https://example.keenauth.app/fapi/v1/me \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-b cookies.txt
Datos personales
Este endpoint contiene datos personales: perfil del usuario final. Datos personales en las API de KeenAuth describe qué se almacena, durante cuánto tiempo se conserva y cómo se elimina. No envíe categorías especiales de datos personales (salud, datos biométricos, religión, opiniones políticas, orientación sexual) en ningún campo.