POST Criar Usuário
Cria um novo usuário na conta. A senha é armazenada com hash; opcionalmente já vincula roles do Auth0 e dados de conselho profissional.
Autenticação necessária
Esta rota requer o header Authorization: Bearer {accessToken}
Permissão necessária
Exige a permissão create_users.
Endpoint
POST https://api-dev.imagemais.com.br/api/users
Corpo da Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | ✅ | Nome completo (mínimo 5 caracteres) |
email | string | ✅ | E-mail válido |
password | string | ✅ | Senha forte (mínimo 8 caracteres) |
phone | string | ❌ | Telefone |
rolesIds | string[] | ❌ | IDs de roles do Auth0 (mínimo 1 se enviado) |
council | object | ❌ | Conselho profissional: { type, code, uf } |
Verificação de duplicidade é por nome
Antes de criar, a rota busca usuários com o mesmo name. Se já existir, retorna 409 com a mensagem "Esse email já está cadastrado" — apesar da mensagem citar e-mail, a checagem é feita pelo nome.
Requisição
curl -X 'POST' \
'https://api-dev.imagemais.com.br/api/users' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {accessToken}' \
-d '{
"name": "João da Silva",
"email": "joao.silva@example.com",
"password": "Senha@123",
"phone": "(81) 98888-7777",
"council": { "type": "CRM", "code": "12345", "uf": "PE" }
}'
Respostas
201 Sucesso
Retorna o usuário criado (sem password), com status e council.
{
"id": 12,
"accountId": 3,
"name": "João da Silva",
"email": "joao.silva@example.com",
"phone": "(81) 98888-7777",
"statusId": 1,
"isCollector": false,
"createdAt": "2026-07-21T13:20:00.000Z",
"updatedAt": "2026-07-21T13:20:00.000Z",
"status": { "id": 1, "name": "active" },
"council": { "id": 4, "type": "CRM", "code": "12345", "uf": "PE" }
}
409 Já cadastrado
{
"statusCode": 409,
"message": "Esse email já está cadastrado"
}
400 Validação
Retornado quando algum campo não atende às regras (ex.: senha fraca, e-mail inválido, nome com menos de 5 caracteres).