VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Autenticação

Renovar e encerrar a sessão

Troca o refresh token por um par novo e encerra a sessão de um aparelho ou de todos.

O token de acesso vence em minutos, por segurança. Em vez de pedir a senha de novo, guarde o refresh_token e troque-o por um par novo antes do vencimento. Quando a pessoa clica em "Sair", encerre a sessão no servidor: só apagar o token no navegador deixa a sessão viva até vencer.

Há dois níveis de saída. logout encerra o aparelho atual e não mexe nos outros. logout-all ("sair de todos os aparelhos") derruba todas as sessões da conta. Trocar ou redefinir a senha também derruba todas.

Renovar

POST/api/v1/auth/refreshPública

Trocar o refresh token por um par novo

A renovação rotaciona o refresh token: o antigo deixa de valer e a resposta traz um novo. Não precisa de Authorization. As regras de login são reaplicadas: se a conta foi desativada, ou a subconta suspensa, ou a loja passou a exigir e-mail verificado, a renovação falha.

Corpo da requisição

refresh_tokenstringobrigatório
O refresh_token mais recente recebido.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/auth/refresh" \
  -H "Content-Type: application/json" \
  -d '{"refresh_token":"'"$REFRESH_TOKEN"'"}'

Resposta

200Par novo
json
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "refresh_token": "d2f7a1c4b6e8905a3c1e7f9b2d4a6c8e0f1b3d5a7c9e2f4b6d8a0c1e3f5b7d9a",
  "expires_at": "2026-10-11T21:25:00Z"
}

Campos da resposta

access_tokenstring
Novo JWT de acesso.
refresh_tokenstring
Novo refresh token. O anterior não vale mais.
expires_atstring
Vencimento do novo token de acesso, RFC 3339 em UTC.

Erros da renovação

StatusQuandoCorpo
400Corpo inválido ou sem refresh_token{"error":"refresh_token is required"}
401Refresh token desconhecido, vencido ou já usado{"error":"invalid refresh token","detail":"invalid refresh token"}
401Subconta suspensa{"error":"subaccount_suspended"}
401Loja exige e-mail verificado e a conta não verificou{"error":"email_not_verified"}
429Mais de 10 chamadas por minuto do mesmo IP em /auth/{"error":"rate limit exceeded",...}

Sair deste aparelho

POST/api/v1/auth/logoutAutenticada

Encerrar a sessão deste aparelho

Aceita duas formas. Com refresh_token no corpo, apaga essa sessão e também nega o token de acesso enviado no Authorization, se houver. Só com o Authorization: Bearer, nega aquele token de acesso, mas a sessão de refresh continua; para encerrá-la, mande o refresh token. Sem nenhum dos dois, 400.

Corpo da requisição

refresh_tokenstring
Refresh token da sessão a encerrar. Opcional se houver Authorization.

Cabeçalhos

Authorizationstring
Bearer <access_token>. Opcional se o corpo trouxer o refresh token.
bash
curl -X POST "$BASE_URL/api/v1/auth/logout" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"refresh_token":"'"$REFRESH_TOKEN"'"}'
200Sessão encerrada
json
{ "message": "logged out" }

Sair de todos os aparelhos

POST/api/v1/auth/logout-allAutenticada

Encerrar todas as sessões da conta

Exige o token de acesso no Authorization. Apaga todas as sessões de refresh da conta e invalida todos os tokens de acesso já emitidos, em todos os aparelhos. Não tem corpo.

Cabeçalhos

Authorizationstringobrigatório
Bearer <access_token>.
bash
curl -X POST "$BASE_URL/api/v1/auth/logout-all" \
  -H "Authorization: Bearer $TOKEN"
200Todas as sessões encerradas
json
{ "message": "logged out of every device" }

Erros da saída

StatusQuandoCorpo
400logout sem corpo com refresh token e sem Bearer válido{"error":"logout requires a refresh_token body or a Bearer access token"}
401logout-all sem Bearer{"error":"logout-all requires a Bearer access token"}
401logout-all com token inválido{"error":"invalid token"}
401logout-all com token já revogado{"error":"token revoked"}
500Falha ao gravar a saída{"error":"logout failed","detail":"..."}
Guarde o par inteiro a cada renovação

Se duas partes do seu sistema renovam em paralelo com o mesmo refresh token, uma delas recebe 401, porque a primeira já o invalidou. Centralize a renovação em um único ponto e compartilhe o par novo.

Revogação do token de acesso

Depois de logout ou logout-all, o token de acesso antigo passa a ser recusado com 401 mesmo antes do vencimento. O mecanismo está em Tokens e escopos.

Veja também

  • Login e segundo fator
  • Recuperação de senha
  • Tokens e escopos
Anterior
Cadastro de cliente e seller
Próxima
Recuperação de senha
Nesta página
  • Renovar
  • Exemplo de requisição
  • Resposta
  • Erros da renovação
  • Sair deste aparelho
  • Sair de todos os aparelhos
  • Erros da saída
  • Veja também