Autenticação
As rotas de autenticação da API: login e tokens, MFA, renovação de sessão e troca de senha.
O login devolve um token de acesso e um token de renovação. O token de acesso autentica as chamadas seguintes, no cabeçalho Authorization: Bearer. Todas as rotas ficam sob /api/auth.
Sessão
Login
Campos: username e password. Quando a instituição exige segundo fator, a resposta traz um desafio em vez dos tokens, a ser confirmado no MFA.
curl -X POST https://<host>/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username": "trader1", "password": "sua-senha"}'
{
"access_token": "eyJhbGciOiJI...",
"refresh_token": "b0f3...",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_expires_at": "2026-07-10T21:00:00Z"
}
Segundo fator
MFA
Em verify-mfa, envie o challengeToken recebido no login e o code do aplicativo autenticador. O cadastro devolve o segredo e o provisioning_uri para gerar o QR code, e enroll/verify recebe o code para concluir.
{ "challengeToken": "c1a2...", "code": "123456" }
Sessão
Renovação e encerramento
As duas recebem o refreshToken. O refresh devolve um novo par de tokens; o logout encerra a sessão.
{ "refreshToken": "b0f3..." }
Senha
Troca de senha
Em me/password, envie currentPassword e newPassword. A change-expired-password atende ao caso em que a senha expirou e precisa ser trocada antes de entrar, recebendo também o username.
{ "username": "trader1", "currentPassword": "senha-atual", "newPassword": "nova-senha" }