URLs Base
URL Principal: https://api.identia.cc/api
URL Secundario: https://identiapreview.multibacks.multipacha.com/api
API de Usuarios
Todos los endpoints requieren autenticación JWT via header Authorization: Bearer <token> y están bajo el prefijo /users.
Endpoints
1. Listar Usuarios
Obtiene una lista paginada de usuarios con opciones de filtrado por búsqueda y entidad.
Endpoint: GET /users
Query Parameters:
page(opcional): Número de página (integer, mínimo 1, default: 1)limit(opcional): Número de usuarios por página (integer, mínimo 1, máximo 100, default: 20)search(opcional): Término de búsqueda (string, máximo 200 caracteres). Busca en nombre, email y nicknameentityId(opcional): ID de entidad para filtrar usuarios (ObjectId válido)
Permisos Requeridos:
action:READresource:USERscope:PLATFORM
Headers:
Authorization: Bearer <token>(requerido)
Response (200 OK):
{
"users": [
{
"id": "string (ObjectId)",
"userType": {
"id": "string (ObjectId)",
"name": "string"
},
"attributes": {
"name": "string",
"lastname": "string",
"email": "string",
"nickname": "string",
"dni": "string"
},
"adminId": "string (ObjectId)",
"entityId": "string (ObjectId)",
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
}
],
"pagination": {
"page": "number",
"limit": "number",
"total": "number",
"pages": "number"
}
}
Response (401 Unauthorized):
{
"statusCode": 401,
"error": "Unauthorized",
"message": "Token inválido o faltante"
}
Response (403 Forbidden):
{
"statusCode": 403,
"error": "Forbidden",
"message": "No tienes permisos para listar usuarios"
}
Comportamiento:
- La búsqueda (
search) se realiza en los camposname,emailynicknamede forma insensible a mayúsculas/minúsculas - Si se proporciona
entityId, solo se devuelven usuarios que pertenecen a esa entidad - Los usuarios se devuelven en el orden que determine la base de datos (sin ordenamiento específico)
- Los campos sensibles como
password,recovery_password_token,link_tokenson excluidos de la respuesta - La paginación incluye información completa sobre el total de resultados y páginas disponibles
Ejemplos de uso:
Listar todos los usuarios (página 1, 20 por página):
curl -X GET https://api.identia.cc/api/users \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Buscar usuarios por término:
curl -X GET "https://api.identia.cc/api/users?search=Juan" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Listar usuarios de una entidad específica:
curl -X GET "https://api.identia.cc/api/users?entityId=507f1f77bcf86cd799439011" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Paginación personalizada:
curl -X GET "https://api.identia.cc/api/users?page=2&limit=10" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Combinar filtros:
curl -X GET "https://api.identia.cc/api/users?page=1&limit=5&search=admin&entityId=507f1f77bcf86cd799439011" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
2. Obtener Detalle de Usuario
Obtiene la información detallada de un usuario específico. Permite enriquecer la respuesta con el contexto de una plataforma y entidad específica para obtener roles y atributos filtrados.
Endpoint: GET /users/:userId
Path Parameters:
userId(requerido): ID del usuario (ObjectId válido)
Query Parameters:
platform_id(opcional): ID de la plataforma para cargar contexto de roles y filtrado de atributos.entity_id(opcional): ID de la entidad para asociar los roles obtenidos.
Headers:
Authorization: Bearer <token>(requerido)
Permisos Requeridos:
action:READresource:USERscope:ENTITY
Response (200 OK):
{
"id": "string (ObjectId)",
"userType": {
"id": "string (ObjectId)",
"name": "string"
},
"attributes": {
"name": "string",
"lastname": "string",
"email": "string",
"nickname": "string",
"dni": "string"
},
"platform": {
"id": "string (platformId)",
"name": "string",
"alias": "string",
"description": "string",
"roles": [
{
"id": "string (roleId)",
"name": "string",
"slug": "string",
"context_type": "entity",
"context_id": "string (entityId)"
}
]
},
"entity": {
"id": "string (entityId)",
"brand_name": "string",
"legal_name": "string",
"domain": "string"
},
"createdAt": "string (ISO date)",
"updatedAt": "string (ISO date)"
}
Response (404 Not Found):
{
"statusCode": 404,
"error": "Not Found",
"message": "Usuario no encontrado"
}
Comportamiento:
- Si se envía
platform_id, los atributos devueltos serán filtrados según la configuración de la plataforma para ese tipo de usuario. - Si se envían
platform_idyentity_id, se incluirán los roles que el usuario tiene asignados en esa plataforma, proyectados al contexto de la entidad.
Ejemplo de uso:
Obtener usuario básico:
curl -X GET https://api.identia.cc/api/users/507f1f77bcf86cd799439011 \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Obtener usuario con contexto de plataforma y entidad:
curl -X GET "https://api.identia.cc/api/users/507f1f77bcf86cd799439011?platform_id=645d...&entity_id=61b0..." \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
3. Generar Enlace de Recuperación (Admin)
Permite a un administrador generar un token y una URL de recuperación de contraseña para un usuario específico, sin enviar un correo electrónico automáticamente.
Endpoint: POST /users/:userId/generate-recovery-link
Path Parameters:
userId(requerido): ID del usuario (ObjectId válido)
Request Body:
{
"base": "string (alias de la plataforma)"
}
Headers:
Authorization: Bearer <token>(requerido - Admin)
Permisos Requeridos:
action:UPDATEresource:USERscope:PLATFORM
Response (200 OK):
{
"token": "string (JWT recovery token)",
"url": "string (URL completa de recuperación)"
}
Response (403 Forbidden):
{
"statusCode": 403,
"error": "Forbidden",
"message": "No tienes permisos para generar enlaces de recuperación"
}
Comportamiento:
- El sistema genera un token de recuperación único y lo asocia al usuario en la base de datos (invalidando cualquier token previo).
- La URL devuelta se construye usando la URL base de la plataforma y el token generado.
- Útil para procesos de soporte técnico donde el administrador desea entregar el link manualmente (vía chat u otros canales).
Ejemplo de uso:
curl -X POST https://api.identia.cc/api/users/507f1f77bcf86cd799439011/generate-recovery-link \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Content-Type: application/json" \
-d '{
"base": "identia"
}'
Códigos de Estado HTTP
200 OK: Operación exitosa401 Unauthorized: Token de autenticación inválido o faltante403 Forbidden: Permisos insuficientes para acceder al recurso
Notas de Seguridad
- Los campos sensibles (password, tokens) son automáticamente excluidos
- La búsqueda es insensible a mayúsculas/minúsculas para mejor usabilidad
- El filtrado por entidad permite segmentar resultados según el contexto
Casos de Uso Comunes
Gestión de Usuarios
- Obtener lista completa de usuarios para administración
- Buscar usuarios específicos por nombre, email o nickname
- Gestionar usuarios dentro de una entidad específica
- Implementar interfaces de administración con paginación
Auditoría y Monitoreo
- Ver usuarios activos en el sistema
- Filtrar usuarios por entidad para análisis de acceso
- Monitoreo de crecimiento de usuarios por página
Integraciones de Terceros
- Sincronización de usuarios con sistemas externos
- Exportación de datos de usuarios con filtros específicos
Última actualización: 05 de mayo de 2026