DOM360
Usuários

Alterar um usuário

PATCH
/users/{user_id}

Altera parte de um usuário. Campo ausente fica como está; full_name não aceita null. O papel decide o escopo, como na criação: mudar o papel, dealer_id ou tenant_id regrava os dois campos — null limpa, um campo ausente que o novo papel não admite é limpo, e dealer_id num usuário de cliente responde 422. Mudar o papel ou o escopo exige que o chamador alcance também o escopo de destino; um cliente fora do alcance responde 404 TENANT_NOT_FOUND, e uma revenda inexistente, excluída ou fora do alcance, 404 DEALER_NOT_FOUND. Repetir o papel atual sem dealer_id nem tenant_id não é mudança de escopo. Ninguém desativa nem muda o próprio papel, e o último master ativo não é rebaixado nem desativado. email e password de outro usuário só mudam com uma sessão: com token pessoal, 403 SESSION_REQUIRED, para que um token vazado não tome as contas que o dono administra. Desativar, rebaixar ou mover o usuário revoga o token pessoal dele, por gatilho no banco. Devolve o usuário atualizado.

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 caminho

user_id*string

Id do usuário

Formatouuid

Corpo da requisição

application/json

Definições TypeScript

Use o tipo request body no TypeScript.

Alteração parcial de um usuário. Campo ausente fica como está; null limpa (nos campos anuláveis).

Corpo da resposta

application/json

application/json

curl -X PATCH "https://example.com/users/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{  "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"}