username como identificador único en la mayoría de los flujos internos.
GET /api/admin/users
Lista todos los usuarios del sistema con soporte de filtros por rol, estado y búsqueda de texto libre. Además de la lista, la respuesta incluye conteos por rol y por estado para alimentar los widgets del panel.Query Parameters
number
default:"10"
Número máximo de usuarios a devolver. Entero positivo.
number
default:"0"
Desplazamiento para la paginación. Entero no negativo.
string
Filtra usuarios que tengan este rol en su array
roles. Ejemplos: admin, user_trabajador, asesor.string
Filtra por estado de la cuenta. Valores reconocidos:
active— usuario activo (is_active: trueydisabled: false)inactive— usuario inactivo (is_active: false)suspended— usuario suspendido (disabled: true)
string
Búsqueda de texto libre sobre
full_name, email y username.Response
object
GET /api/admin/users/:id
Obtiene el perfil completo de un usuario específico por su ID numérico.Path Parameters
number
required
ID numérico del usuario. Se valida que sea un entero válido antes de ejecutar la consulta.
Response
object
Objeto
Usuario con todos los campos del perfil. Ver estructura completa en la sección de tipos al final de esta página.POST /api/admin/users/create
Crea una nueva cuenta de usuario desde el panel administrativo. A diferencia del registro público, este endpoint permite asignar roles específicos y configurar el estado de la cuenta desde el momento de la creación.Body
string
required
Nombre de usuario único en el sistema (máx. 255 caracteres). Se usa como identificador en todas las solicitudes vinculadas al usuario.
string
required
Correo electrónico válido del usuario (máx. 255 caracteres). Debe ser único en el sistema.
string
required
Contraseña inicial de la cuenta. Mínimo 8 caracteres. El usuario puede cambiarla posteriormente.
string
required
Nombre(s) del usuario (máx. 100 caracteres).
string
required
Apellido(s) del usuario (máx. 100 caracteres).
array
Array de strings con los roles a asignar. Roles disponibles en el sistema:
admin, user_trabajador, asesor. Si se omite, se asigna el rol por defecto según la configuración del servicio.boolean
Si es
true, la cuenta se crea suspendida. Por defecto false (cuenta activa).string
Tipo de documento de identidad (máx. 20 caracteres). Ejemplo:
CC, CE, TI, Pasaporte.string
Número de documento de identidad (máx. 20 caracteres).
string
Teléfono de contacto del usuario (máx. 20 caracteres).
Response
object
PUT /api/admin/users/:id
Actualiza los datos de un usuario existente. Todos los campos son opcionales. Permite cambiar el rol, suspender/activar la cuenta, actualizar datos personales o restablecer la contraseña.Path Parameters
number
required
ID numérico del usuario a actualizar.
Body
string
Nuevo username (máx. 255 caracteres).
string
Nuevo correo electrónico (máx. 255 caracteres).
string
Nueva contraseña. Mínimo 8 caracteres. Solo enviar si se desea restablecer la contraseña.
string
Nombres actualizados (máx. 100 caracteres).
string
Apellidos actualizados (máx. 100 caracteres).
array
Array de roles a asignar. Reemplaza completamente los roles actuales del usuario.
boolean
true para suspender la cuenta, false para reactivarla.string
Tipo de documento (máx. 20 caracteres).
string
Número de documento (máx. 20 caracteres).
string
Teléfono de contacto (máx. 20 caracteres).
Response
object
Endpoints de Autoservicio de Usuario
Los usuarios autenticados (cualquier rol) también pueden gestionar su propio perfil a través de los siguientes endpoints. Estos no requieren rol administrador:GET /api/user/perfil
Obtiene el perfil del usuario actualmente autenticado. Devuelve los datos personales, tipo de documento y configuración de la cuenta.
PUT /api/user/perfil
Actualiza los datos del perfil propio: nombres, apellidos, teléfono, dirección, ciudad, barrio y tipo de vivienda.
PUT /api/user/password-change
Permite al usuario cambiar su propia contraseña proporcionando la contraseña actual y la nueva. Requiere confirmación de la nueva contraseña.
Los endpoints de autoservicio validan que el usuario solo pueda modificar su propio perfil. Un administrador que desee cambiar datos de otro usuario debe usar
PUT /api/admin/users/:id.