Acesso e senha
Troque a senha de um usuário, dispare o e-mail de redefinição, encerre sessões e trate a verificação de e-mail.
Estas rotas são as ferramentas do suporte: o cliente perdeu o acesso ao e-mail, esqueceu a senha, quer sair de todos os aparelhos, ou o e-mail de confirmação nunca chegou. Todas agem sobre a conta de outro usuário.
A plataforma nunca devolve uma senha nem um hash, e nenhuma destas rotas revela a senha atual. Trocar a senha de outra pessoa é um poder alto, por isso set-password e send-password-reset exigem um privilégio próprio, manage_user_passwords, que não vem junto com manage_users. Quem pode editar perfis não ganha, por isso, a chave da conta de ninguém.
Prefira sempre o e-mail de redefinição: ele entrega ao próprio cliente o controle da senha. Use set-password só quando o cliente não consegue receber e-mail.
/api/v1/admin/users/{id}/set-passwordAdminDefine a senha de um usuário
Define uma senha nova. Depois da troca, o token de acesso do usuário deixa de valer e as sessões dele são invalidadas: ele precisa entrar de novo com a nova senha. A troca fica no registro de atividades da loja (sem a senha). Exige manage_user_passwords.
Path parameters
iduuidobrigatórioCorpo da requisição
new_passwordstringobrigatórioExemplo de requisição (definir senha)
curl -X POST "$BASE_URL/api/v1/admin/users/ed7a3fbc-86f7-4b56-84de-67c583efbc3f/set-password" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"new_password": "Troque-Esta-Senha-9!"}'Resposta (definir senha)
{ "updated": true }/api/v1/admin/users/{id}/send-password-resetAdminEnvia a um usuário o e-mail de redefinição de senha
Gera um link de redefinição e o envia ao e-mail cadastrado. O cliente escolhe a senha nova por conta própria. Não há corpo. O envio depende de a loja ter o envio de e-mail configurado. Exige manage_user_passwords.
Path parameters
iduuidobrigatório{ "sent": true, "email": "carlos.lima@example.com" }/api/v1/admin/users/{id}/sessionsAdminLista as sessões de um usuário
Lista as sessões de login do usuário (aparelhos e navegadores em que ele está conectado). Exige view_users ou manage_users.
Path parameters
iduuidobrigatório{
"sessions": [
{
"id": "4f0d6f59-0c75-4f2c-9d0c-4d9a3f3e4b11",
"user_id": "ed7a3fbc-86f7-4b56-84de-67c583efbc3f",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
"ip_address": "203.0.113.10",
"expires_at": "2026-10-18T20:57:32Z",
"created_at": "2026-10-11T20:57:32Z"
}
],
"total": 1
}Campos da resposta
sessionsarraynull (em vez de []) quando não há nenhuma.sessions[].user_agentstringsessions[].ip_addressstringsessions[].expires_atstringsessions[].created_atstringtotalinteger/api/v1/admin/users/{id}/sessionsAdminEncerra todas as sessões de um usuário
Encerra todas as sessões do usuário: ele não consegue renovar o login e precisa entrar de novo. Exige manage_users. O token de acesso que ele já tem em mãos segue válido até expirar; para cortá-lo na hora, mude também o status ou a senha (Alterar cliente).
Path parameters
iduuidobrigatório{ "message": "all sessions revoked for user" }/api/v1/admin/users/{id}/resend-verification-emailAdminResend the e-mail verification message
Reenvia ao cliente o e-mail para confirmar o endereço de e-mail da conta. Exige manage_users. Não há corpo.
Path parameters
iduuidobrigatório{ "sent": true }/api/v1/admin/users/{id}/mark-email-verifiedAdminMarca o e-mail de um usuário como verificado
Marca o e-mail como verificado sem esperar o clique do cliente, por exemplo quando o suporte já confirmou o endereço por telefone. Invalida qualquer link de verificação enviado antes. É idempotente. Exige manage_users.
Path parameters
iduuidobrigatório{ "verified": true }Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | new_password ausente | {"error":"new_password is required"} |
| 400 | Senha fraca | {"error":"password_too_weak","detail":"faltou símbolo: a senha precisa de 10 ou mais caracteres, com pelo menos uma letra maiúscula (A-Z), ..."} (o detail diz o que faltou: letra maiúscula, minúscula, número, símbolo ou tamanho) |
| 400 | send-password-reset para conta desativada | {"error":"account is disabled"} |
| 400 | send-password-reset para usuário sem e-mail | {"error":"user has no email on file"} |
| 400 | resend-verification-email para e-mail já verificado | {"error":"already_verified"} |
| 401 | Sem credenciais ou token expirado | {"error":"invalid or expired token"} |
| 403 | Falta o privilégio | {"error":"insufficient privileges","required":"manage_user_passwords"} (ou manage_users) |
| 404 | Usuário inexistente | {"error":"user not found"} |
| 500 | Falha interna | {"error":"failed to revoke sessions","detail":"..."} |