Skip to main content
PUT
Update User

Atualizar usuário

Atualize uma conta de usuário existente com novas informações.

Ponto final

Descrição

Este endpoint permite que os administradores atualizem uma conta de usuário existente. Você pode modificar detalhes do usuário, como nome, email, função, nível de licença e outras configurações da conta.

Autenticação

Obrigatório: Chave de API com privilégios de administrador

Parâmetros de caminho

Corpo da solicitação

Exemplo de solicitação

Resposta de sucesso

Código de status: 200 OK

Campos de resposta

Exemplo de uso

JavaScript

###Píton
###cURL

Respostas de erro

400 Solicitação incorreta

401 Não autorizado

403 Proibido

404 não encontrado

409 Conflito

Validações e regras de negócios

  • Valor da licença: Deve estar em licenças permitidas (Essential, Growth, Ultra, Early Access). Valores inválidos retornam 400.
  • Capacidade de licença: Aplicada via checkLicenseCapacity; retorna 400 quando a camada selecionada está cheia.
  • Proteção de downgrade de licença: Se a mudança para um nível inferior reduzir a cota de índice pessoal, a alteração será bloqueada quando a contagem atual do índice pessoal exceder INDEX_QUOTAS[new_license]; retorna 400 com orientação explícita.
  • Normalização de e-mail: letras minúsculas e cortadas antes da validação e armazenamento.
  • Normalização de nome de usuário: letras minúsculas e cortadas antes da validação e armazenamento.
  • Formato de e-mail: Validação simples de regex; e-mails inválidos retornam 400.
  • Formato do nome de usuário: Deve corresponder a ^[a-z0-9.-]{3,30}$; nomes de usuário inválidos retornam 400.
  • Singularidade: email, username e name devem permanecer únicos; conflitos retornam 409.

Normalização e armazenamento

  • email e username são sempre armazenados em letras minúsculas e aparados.

Formas de erro típicas

400 Licença Inválida

400 Licença indisponível

400 downgrades de licença excedem a cota

400 E-mail inválido

400 Nome de usuário inválido

409 Conflito (Singularidade)

Funções do usuário

Níveis de licença

Status da conta

Casos de uso

  • Gerenciamento de funções: atualização de funções de usuário para controle de acesso
  • Atualizações de licença: alteração dos níveis de licença do usuário
  • Manutenção da conta: atualização de informações e metadados do usuário
  • Gerenciamento de status: ativação ou suspensão de contas de usuário
  • Atualizações de perfil: modificação de nomes de usuário, e-mails ou outros detalhes

Limites de taxa

  • Padrão: 100 solicitações por minuto
  • Diariamente: 10.000 solicitações por dia
  • Mensal: 300.000 solicitações por mês

Notas

  • Somente administradores podem atualizar contas de usuários
  • Os endereços de e-mail devem ser exclusivos para todos os usuários
  • As atualizações de senha são opcionais e só serão aplicadas se fornecidas
  • As atualizações de metadados são mescladas com os metadados existentes
  • O carimbo de data/hora updatedAt é atualizado automaticamente em operações bem-sucedidas

Autorizações

Authorization
string
header
obrigatório

API key authentication using Bearer token format. Example: Authorization: Bearer sk-your-api-key-here

Parâmetros de caminho

userId
string
obrigatório

User ID to update

Corpo

application/json
name
string

User's full name

Exemplo:

"John Doe Updated"

username
string

Unique username

Exemplo:

"johndoe_updated"

email
string<email>

User's email address

Exemplo:

"john.updated@example.com"

password
string

User's new password (optional)

Exemplo:

"newsecurepassword123"

role
enum<string>

User's role

Opções disponíveis:
admin,
user,
globalReader
Exemplo:

"user"

license
enum<string>

User's license tier

Opções disponíveis:
Essential,
Growth,
Ultra,
Early Access
Exemplo:

"Growth"

status
enum<integer>

User status (0=inactive, 1=active)

Opções disponíveis:
0,
1
Exemplo:

1

roleId
string

Custom role ID (MongoDB ObjectId)

Exemplo:

"60a7c8f5e8b4f5001f7a8c24"

setupCompleted
boolean

Whether user setup is completed

Exemplo:

true

isVerified
boolean

Whether user is verified

Exemplo:

true

Resposta

User updated successfully

success
boolean
Exemplo:

true

message
string
Exemplo:

"User updated successfully"

user
object