DOM360
Usuários

Criar usuário

POST
/users

Cria um usuário. O papel decide o escopo: MASTER não leva cliente nem revenda, DEALER_* leva revenda, TENANT_* leva cliente e não leva revenda — a revenda de um usuário de cliente é a do cliente, e dealer_id nesse caso responde 422. Quem alcança um só cliente pode omitir tenant_id — ele vem do alcance. O chamador precisa alcançar o escopo do novo usuário: um administrador de revenda não cria um master nem usuário de cliente de outra revenda (404 TENANT_NOT_FOUND, igual a um cliente que não existe), e um administrador de cliente só cria usuários do próprio cliente. A revenda de um DEALER_* é lida: inexistente, excluída ou fora do alcance responde 404 DEALER_NOT_FOUND. Devolve o usuário criado. Aceita Idempotency-Key (opcional): uma repetição com a mesma chave não cria um segundo usuário.

Autorização

bearer users:write
AutorizaçãoBearer <token>

Credencial da v3: o JWT da sessão (o mesmo da v2) ou um token pessoal dom_pat_…. A lista de escopos de cada operação diz o que ela exige: uma capacidade (agents:read), authenticated ou session-only. Segredo de máquina (X-Agent-Secret, X-API-Token, sdk_…) não é aceito.

Em: header

Escopo: users:write

Parâmetros de cabeçalho

Idempotency-Key?|

Chave opcional de 1 a 255 caracteres ASCII visíveis; quando enviada, vale o mesmo contrato da §8.

Corpo da requisição

application/json

Definições TypeScript

Use o tipo request body no TypeScript.

Criação de um usuário.

Corpo da resposta

application/json

application/json

curl -X POST "https://example.com/users" \  -H "Idempotency-Key: b3f0c1e2-4a5b-4c6d-8e9f-0a1b2c3d4e5f" \  -H "Content-Type: application/json" \  -d '{    "email": "string",    "role": "master",    "username": "string"  }'
{  "created_at": "2019-08-24T14:15:22Z",  "dealer_id": 0,  "email": "string",  "full_name": "string",  "has_active_oauth_grant": true,  "has_active_token": true,  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "is_active": true,  "last_login_at": "2019-08-24T14:15:22Z",  "role": "master",  "tenant_id": 0,  "username": "string"}