Usuarios
Gestión de usuarios del cliente actual. Requiere rol de administrador para crear, editar y eliminar usuarios.
GET /api/users/
Lista todos los usuarios del cliente actual.
/api/users/Headers
Authorization: Bearer JWT_TOKEN Ejemplos
curl -X GET https://api-docmind.devol.es/api/users/ \
-H "Authorization: Bearer JWT_TOKEN" Respuesta
{
"users": [
{"id": "user-uuid", "nombre": "Juan Pérez", "email": "juan@ejemplo.com", "role_name": "admin", "activo": true}
]
}Lista de usuarios con sus roles y estado.
Errores
401UnauthorizedToken inválido.
{"msg": "Token inválido"}GET /api/users/{user_id}
Obtiene los datos de un usuario específico.
/api/users/{user_id}Headers
Authorization: Bearer JWT_TOKEN Ejemplos
curl -X GET https://api-docmind.devol.es/api/users/USER_ID \
-H "Authorization: Bearer JWT_TOKEN" Respuesta
{"user": {"id": "user-uuid", "nombre": "Juan Pérez", "email": "juan@ejemplo.com", "role_name": "admin"}}Datos completos del usuario.
Errores
404Not FoundUsuario no encontrado.
{"error": "Usuario no encontrado"}POST /api/users/
Crea un nuevo usuario para el cliente actual.
/api/users/Headers
Content-Type: application/json
Authorization: Bearer JWT_TOKEN Body (JSON)
{
"nombre": "María García",
"email": "maria@ejemplo.com",
"password": "password_seguro",
"role_id": "role-uuid"
} nombre: (obligatorio) Nombre completo del usuario.email: (obligatorio) Email único del usuario.password: (obligatorio) Contraseña (mínimo 8 caracteres).role_id: (obligatorio) ID del rol a asignar.
Ejemplos
curl -X POST https://api-docmind.devol.es/api/users/ \
-H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN" \
-d '{"nombre": "María", "email": "maria@ejemplo.com", "password": "pass123", "role_id": "role-uuid"}' Respuesta
{"message": "Usuario creado exitosamente", "user": {"id": "new-user-uuid", "nombre": "María García"}}Usuario creado y listo para acceder al sistema.
Errores
400Bad RequestDatos inválidos o faltantes.
{"error": "El email es obligatorio"}409ConflictEmail ya registrado.
{"error": "Ya existe un usuario con ese email"}PUT /api/users/{user_id}
Actualiza los datos de un usuario.
/api/users/{user_id}Headers
Content-Type: application/json
Authorization: Bearer JWT_TOKEN Body (JSON)
{"nombre": "Juan Pérez García", "role_id": "new-role-uuid"} nombre: (opcional) Nuevo nombre.email: (opcional) Nuevo email.role_id: (opcional) Nuevo rol.
Ejemplos
curl -X PUT https://api-docmind.devol.es/api/users/USER_ID \
-H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN" \
-d '{"nombre": "Juan Pérez García"}' Respuesta
{"message": "Usuario actualizado exitosamente"}Confirmación de la actualización.
Errores
404Not FoundUsuario no encontrado.
{"error": "Usuario no encontrado"}DELETE /api/users/{user_id}
Elimina un usuario del sistema.
/api/users/{user_id}Headers
Authorization: Bearer JWT_TOKEN Ejemplos
curl -X DELETE https://api-docmind.devol.es/api/users/USER_ID \
-H "Authorization: Bearer JWT_TOKEN" Respuesta
{"message": "Usuario eliminado exitosamente"}El usuario se elimina permanentemente.
Errores
404Not FoundUsuario no encontrado.
{"error": "Usuario no encontrado"}PUT /api/users/password
Cambia la contraseña del usuario autenticado.
/api/users/passwordHeaders
Content-Type: application/json
Authorization: Bearer JWT_TOKEN Body (JSON)
{"current_password": "password_actual", "new_password": "nueva_password_segura"} current_password: (obligatorio) Contraseña actual.new_password: (obligatorio) Nueva contraseña (mínimo 8 caracteres).
Ejemplos
curl -X PUT https://api-docmind.devol.es/api/users/password \
-H "Content-Type: application/json" -H "Authorization: Bearer JWT_TOKEN" \
-d '{"current_password": "actual", "new_password": "nueva_segura"}' Respuesta
{"message": "Contraseña actualizada exitosamente"}La contraseña se actualiza y las sesiones existentes siguen válidas.
Errores
400Bad RequestContraseña actual incorrecta o nueva muy corta.
{"error": "La contraseña actual es incorrecta"}