Autenticação
Entrar, renovar e encerrar sessões; convite, primeiro acesso, troca e recuperação de senha.
Aceita o convite e define a senha
POST /auth/aceitar-convite
Acesso: Pública (sem login). Limite: até 10 chamadas a cada 60 s por origem. Status de sucesso: 200.
Cabeçalhos
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
user-agent | string | não | Identificação do aplicativo cliente; guardada para a lista de conexões. |
Corpo da requisição (AceitarConviteInput)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
token | string | sim | 20–200 caracteres | |
senha | Senha | sim | ||
nationality | string | não | 2–2 caracteres; ^[A-Za-z]{2}$ | |
locale | "pt-BR" | "es" | "en-US" | não | ||
aceites | lista de object | não | 0–4 itens; padrão: [] | Termos aceitos (versão do documento vigente). |
aceites[].documento | "TERMO_USO" | "POLITICA_PRIVACIDADE" | sim | ||
aceites[].versao | string | sim | 1–20 caracteres |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
accessToken | string | sim | ||
refreshToken | string | sim | ||
expiresIn | integer | sim | Validade do token de acesso, em segundos. | |
usuario | Me | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/auth/aceitar-convite" -H "Content-Type: application/json" -d '{"token":"texto","senha":"texto"}'Pede o e-mail de recuperação de senha
POST /auth/esqueci-senha
Responde sempre da mesma forma, exista ou não o e-mail, para não revelar quem tem cadastro.
Acesso: Pública (sem login). Limite: até 5 chamadas a cada 60 s por origem. Status de sucesso: 202.
Corpo da requisição (EsqueciSenhaInput)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
email | sim |
Resposta
Sem corpo na resposta.
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/auth/esqueci-senha" -H "Content-Type: application/json" -d '{"email":"texto"}'Entra com e-mail e senha
POST /auth/login
Devolve accessToken (válido por 15 minutos) e refreshToken (uso único, até 30 dias). Cinco falhas seguidas em 15 minutos bloqueiam a tentativa com 429 e retryAfterSeg.
Acesso: Pública (sem login). Limite: até 20 chamadas a cada 60 s por origem. Status de sucesso: 200.
Cabeçalhos
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
user-agent | string | não | Identificação do aplicativo cliente; guardada para a lista de conexões. |
Corpo da requisição (LoginInput)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
email | sim | |||
senha | Senha | sim |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
accessToken | string | sim | ||
refreshToken | string | sim | ||
expiresIn | integer | sim | Validade do token de acesso, em segundos. | |
usuario | Me | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/auth/login" -H "Content-Type: application/json" -d '{"email":"texto","senha":"texto"}'Encerra a sessão do token de renovação
POST /auth/logout
Acesso: Pública (sem login). Limite: até 60 chamadas a cada 60 s por origem. Status de sucesso: 204.
Corpo da requisição (LogoutInput)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
refreshToken | string | sim | 20–200 caracteres | |
dispositivoToken | string | não | 8–4096 caracteres; ^[\x21-\x7E]+$ |
Resposta
Sem corpo na resposta.
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/auth/logout" -H "Content-Type: application/json" -d '{"refreshToken":"texto"}'Encerra todas as sessões da conta
POST /auth/logout-todas
Acesso: Qualquer pessoa autenticada. Status de sucesso: 204.
Resposta
Sem corpo na resposta.
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/auth/logout-todas" -H "Authorization: Bearer $TOKEN"Dados da pessoa autenticada e seus vínculos
GET /auth/me
Acesso: Qualquer pessoa autenticada. Status de sucesso: 200.
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
email | string | sim | ||
nome | string | sim | ||
locale | "pt-BR" | "es" | "en-US" | sim | ||
nationality | string ou nulo | sim | ||
vinculos | lista de VinculoDto | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/auth/me" -H "Authorization: Bearer $TOKEN"Pede o código do primeiro acesso
POST /auth/primeiro-acesso/codigo
Acesso: Pública (sem login). Limite: até 5 chamadas a cada 60 s por origem. Status de sucesso: 202.
Corpo da requisição (PrimeiroAcessoSolicitarInput)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
email | sim |
Resposta
Sem corpo na resposta.
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/auth/primeiro-acesso/codigo" -H "Content-Type: application/json" -d '{"email":"texto"}'Confirma o primeiro acesso com o código
POST /auth/primeiro-acesso/confirmar
Acesso: Pública (sem login). Limite: até 10 chamadas a cada 60 s por origem. Status de sucesso: 200.
Cabeçalhos
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
user-agent | string | não | Identificação do aplicativo cliente; guardada para a lista de conexões. |
Corpo da requisição (PrimeiroAcessoConfirmarInput)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
email | sim | |||
codigo | string | sim | ^\d{6}$ | |
senha | Senha | sim |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
accessToken | string | sim | ||
refreshToken | string | sim | ||
expiresIn | integer | sim | Validade do token de acesso, em segundos. | |
usuario | Me | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/auth/primeiro-acesso/confirmar" -H "Content-Type: application/json" -d '{"email":"texto","codigo":"texto","senha":"texto"}'Redefine a senha com o token do e-mail
POST /auth/redefinir-senha
Acesso: Pública (sem login). Limite: até 10 chamadas a cada 60 s por origem. Status de sucesso: 204.
Corpo da requisição (RedefinirSenhaInput)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
token | string | sim | 20–200 caracteres | |
senha | Senha | sim |
Resposta
Sem corpo na resposta.
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/auth/redefinir-senha" -H "Content-Type: application/json" -d '{"token":"texto","senha":"texto"}'Troca o token de renovação por uma sessão nova
POST /auth/refresh
O token de renovação é de uso único: reusar um token já usado encerra todas as sessões da conta. Guarde sempre o novo par devolvido.
Acesso: Pública (sem login). Limite: até 60 chamadas a cada 60 s por origem. Status de sucesso: 200.
Cabeçalhos
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
user-agent | string | não | Identificação do aplicativo cliente; guardada para a lista de conexões. |
Corpo da requisição (RefreshInput)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
refreshToken | string | sim | 20–200 caracteres |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
accessToken | string | sim | ||
refreshToken | string | sim | ||
expiresIn | integer | sim | Validade do token de acesso, em segundos. | |
usuario | Me | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/auth/refresh" -H "Content-Type: application/json" -d '{"refreshToken":"texto"}'Troca a própria senha
POST /auth/trocar-senha
Acesso: Qualquer pessoa autenticada. Status de sucesso: 200.
Cabeçalhos
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
user-agent | string | não | Identificação do aplicativo cliente; guardada para a lista de conexões. |
Corpo da requisição (TrocarSenhaInput)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
senhaAtual | Senha | sim | ||
novaSenha | Senha | sim |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
accessToken | string | sim | ||
refreshToken | string | sim | ||
expiresIn | integer | sim | Validade do token de acesso, em segundos. | |
usuario | Me | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/auth/trocar-senha" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"senhaAtual":"texto","novaSenha":"texto"}'