Skip to main content

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étodoRotaPermissãoDescrição
GET/usersread_usersLista usuários ativos (paginado)
GET/users/me— (só autenticado)Dados do usuário logado
GET/users/{id}read_usersBusca um usuário por ID
GET/users/{id}/rolesgive_rolesIDs das roles do usuário no Auth0
GET/users/with-consultation-permissionread_consultationsUsuários que podem atender consultas
POST/userscreate_usersCria um usuário
PATCH/usersupdate_usersAtualiza um usuário
PATCH/users/statusupdate_usersAlterna ativo/inativo
PATCH/users/collectorupdate_usersAlterna a flag de coletador
PATCH/users/rolesgive_rolesSubstitui as roles do usuário
POST/users/{id}/signatureupload_signatureEnvia a assinatura digital
DELETE/users/{id}/signatureupload_signatureRemove a assinatura digital
DELETE/usersdelete_usersDeleta (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 }
]
}