Visão Geral de Usuários
Gerenciamento dos usuários (operadores) de uma conta: criação, listagem, edição, status, assinatura digital e vínculo de roles no Auth0.
Autenticação necessária
Todas as rotas exigem o header Authorization: Bearer {accessToken} (JWT do Auth0). Veja a seção Autenticação.
Isolamento por conta (multi-tenant)
Toda operação é escopada pela accountId do token — um usuário só enxerga e altera usuários da própria conta. Registros com deletedAt preenchido (soft delete) nunca são retornados.
Base
https://api-dev.imagemais.com.br/api/users
Rotas e permissões
| Método | Rota | Permissão | Descrição |
|---|---|---|---|
GET | /users | read_users | Lista usuários ativos (paginado) |
GET | /users/me | — (só autenticado) | Dados do usuário logado |
GET | /users/{id} | read_users | Busca um usuário por ID |
GET | /users/{id}/roles | give_roles | IDs das roles do usuário no Auth0 |
GET | /users/with-consultation-permission | read_consultations | Usuários que podem atender consultas |
POST | /users | create_users | Cria um usuário |
PATCH | /users | update_users | Atualiza um usuário |
PATCH | /users/status | update_users | Alterna ativo/inativo |
PATCH | /users/collector | update_users | Alterna a flag de coletador |
PATCH | /users/roles | give_roles | Substitui as roles do usuário |
POST | /users/{id}/signature | upload_signature | Envia a assinatura digital |
DELETE | /users/{id}/signature | upload_signature | Remove a assinatura digital |
DELETE | /users | delete_users | Deleta (soft delete) um usuário |
Rotas com @CheckPermissions exigem que o token tenha todas as permissões listadas; caso contrário a resposta é 403 Forbidden.
Objeto de usuário
As rotas de leitura retornam o usuário sem o campo password, incluindo as relações status, council e doctors:
{
"id": 12,
"accountId": 3,
"name": "João da Silva",
"email": "joao.silva@example.com",
"phone": "(81) 98888-7777",
"statusId": 1,
"isCollector": false,
"lastLogin": null,
"pictureId": null,
"createdAt": "2026-07-01T13:20:00.000Z",
"updatedAt": "2026-07-10T09:15:00.000Z",
"status": { "id": 1, "name": "active" },
"council": { "id": 4, "type": "CRM", "code": "12345", "uf": "PE" },
"doctors": [
{ "id": 7, "name": "Dr. João", "startTime": "08:00", "endTime": "17:00", "isActive": true }
]
}