Listar las identidades vinculadas de un usuario
GET /v1/users/{user_id}/identities · permiso users:read
Lista las identidades vinculadas de un usuario (contraseña, redes sociales, SAML, OIDC y heredadas) en una sola página, ordenadas por fecha de creación. El número de identidades por usuario está acotado, por lo que la lista no tiene limit, after, before ni order, y list_metadata siempre tiene el valor null. El sujeto externo de una identidad (sub de OIDC, NameID de SAML), la dirección de correo electrónico que informa el proveedor de identidad y la referencia de la credencial nunca se devuelven. Las claves de acceso y los métodos de código de un solo uso son autenticadores y se listan con GET /v1/users/{user_id}/authenticators.
Solicitud
| Parámetro | En | Obligatorio | Descripción |
|---|---|---|---|
user_id |
path | sí | ID del usuario, con el prefijo usr_. |
Respuesta
200 OK. data contiene las identidades ordenadas por fecha de creación; list_metadata siempre tiene el valor null porque la lista no está paginada. connection_id es null para password; provider solo se informa para social.
Los IDs de identidad llevan el prefijo idn_.
{
"data": [
{
"id": "idn_0a1b2c3d4e5f6g7h8j9k0m1n2q",
"type": "password",
"connection_id": null,
"provider": null,
"linked_via": "primary",
"created_at": "2026-01-15T09:30:00Z"
},
{
"id": "idn_0a1b2c3d4e5f6g7h8j9k0m1n2r",
"type": "social",
"connection_id": "conn_0a1b2c3d4e5f6g7h8j9k0m1n2s",
"provider": "google",
"linked_via": "manual_link",
"created_at": "2026-02-01T08:00:00Z"
}
],
"list_metadata": {
"before": null,
"after": null
}
}
type: password, social, saml, oidc, legacy · linked_via: primary, auto_verified_email, user_confirmed, admin_api, import, jit, auto_domain, invite_proof, manual_link, scim_match
Errores
Cada error es un cuerpo application/problem+json con un code estable.
| HTTP | code |
Cuándo |
|---|---|---|
| 404 | not_found |
El usuario no existe en este entorno (o el ID está mal formado). |
| 401 | unauthenticated |
La clave de API falta, no es válida o fue revocada. |
| 403 | insufficient_permissions |
La clave no tiene el permiso users:read. |
| 429 | rate_limited |
Se superó el límite de frecuencia; respete Retry-After. |
| 503 | service_unavailable |
Una dependencia no está disponible temporalmente; vuelva a intentarlo más tarde. |
Ejemplo
curl https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/identities \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
Datos personales
Este endpoint contiene datos personales: identidades vinculadas. 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.