
# 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](/docs/api/fapi/front-api-token)). 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.

```json
{
  "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

```bash
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](/docs/policies/personal-data) 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.
