Autenticación
Iniciar, renovar y cerrar sesiones; invitación, primer acceso, cambio y recuperación de contraseña.
Acepta la invitación y define la contraseña
POST /auth/aceitar-convite
Acceso: Pública (sin inicio de sesión). Límite: hasta 10 llamadas cada 60 s por origen. Estado de éxito: 200.
Cabeceras
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
user-agent | string | no | Identificación de la aplicación cliente; se guarda para la lista de conexiones. |
Cuerpo de la solicitud (AceitarConviteInput)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
token | string | sí | 20–200 caracteres | |
senha | Senha | sí | ||
nationality | string | no | 2–2 caracteres; ^[A-Za-z]{2}$ | |
locale | "pt-BR" | "es" | "en-US" | no | ||
aceites | lista de object | no | 0–4 elementos; por defecto: [] | Términos aceptados (versión del documento vigente). |
aceites[].documento | "TERMO_USO" | "POLITICA_PRIVACIDADE" | sí | ||
aceites[].versao | string | sí | 1–20 caracteres |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
accessToken | string | sí | ||
refreshToken | string | sí | ||
expiresIn | integer | sí | Validez del token de acceso, en segundos. | |
usuario | Me | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/auth/aceitar-convite" -H "Content-Type: application/json" -d '{"token":"texto","senha":"texto"}'Pide el correo de recuperación de contraseña
POST /auth/esqueci-senha
Responde siempre igual, exista o no el correo, para no revelar quién tiene registro.
Acceso: Pública (sin inicio de sesión). Límite: hasta 5 llamadas cada 60 s por origen. Estado de éxito: 202.
Cuerpo de la solicitud (EsqueciSenhaInput)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
email | sí |
Respuesta
Sin cuerpo en la respuesta.
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/auth/esqueci-senha" -H "Content-Type: application/json" -d '{"email":"texto"}'Inicia sesión con correo y contraseña
POST /auth/login
Devuelve accessToken (válido 15 minutos) y refreshToken (de un solo uso, hasta 30 días). Cinco fallos seguidos en 15 minutos bloquean el intento con 429 y retryAfterSeg.
Acceso: Pública (sin inicio de sesión). Límite: hasta 20 llamadas cada 60 s por origen. Estado de éxito: 200.
Cabeceras
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
user-agent | string | no | Identificación de la aplicación cliente; se guarda para la lista de conexiones. |
Cuerpo de la solicitud (LoginInput)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
email | sí | |||
senha | Senha | sí |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
accessToken | string | sí | ||
refreshToken | string | sí | ||
expiresIn | integer | sí | Validez del token de acceso, en segundos. | |
usuario | Me | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/auth/login" -H "Content-Type: application/json" -d '{"email":"texto","senha":"texto"}'Cierra la sesión del token de renovación
POST /auth/logout
Acceso: Pública (sin inicio de sesión). Límite: hasta 60 llamadas cada 60 s por origen. Estado de éxito: 204.
Cuerpo de la solicitud (LogoutInput)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
refreshToken | string | sí | 20–200 caracteres | |
dispositivoToken | string | no | 8–4096 caracteres; ^[\x21-\x7E]+$ |
Respuesta
Sin cuerpo en la respuesta.
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/auth/logout" -H "Content-Type: application/json" -d '{"refreshToken":"texto"}'Cierra todas las sesiones de la cuenta
POST /auth/logout-todas
Acceso: Cualquier persona autenticada. Estado de éxito: 204.
Respuesta
Sin cuerpo en la respuesta.
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/auth/logout-todas" -H "Authorization: Bearer $TOKEN"Datos de la persona autenticada y sus vínculos
GET /auth/me
Acceso: Cualquier persona autenticada. Estado de éxito: 200.
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
id | string (uuid) | sí | ||
email | string | sí | ||
nome | string | sí | ||
locale | "pt-BR" | "es" | "en-US" | sí | ||
nationality | string o nulo | sí | ||
vinculos | lista de VinculoDto | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X GET "$API/auth/me" -H "Authorization: Bearer $TOKEN"Pide el código del primer acceso
POST /auth/primeiro-acesso/codigo
Acceso: Pública (sin inicio de sesión). Límite: hasta 5 llamadas cada 60 s por origen. Estado de éxito: 202.
Cuerpo de la solicitud (PrimeiroAcessoSolicitarInput)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
email | sí |
Respuesta
Sin cuerpo en la respuesta.
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/auth/primeiro-acesso/codigo" -H "Content-Type: application/json" -d '{"email":"texto"}'Confirma el primer acceso con el código
POST /auth/primeiro-acesso/confirmar
Acceso: Pública (sin inicio de sesión). Límite: hasta 10 llamadas cada 60 s por origen. Estado de éxito: 200.
Cabeceras
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
user-agent | string | no | Identificación de la aplicación cliente; se guarda para la lista de conexiones. |
Cuerpo de la solicitud (PrimeiroAcessoConfirmarInput)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
email | sí | |||
codigo | string | sí | ^\d{6}$ | |
senha | Senha | sí |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
accessToken | string | sí | ||
refreshToken | string | sí | ||
expiresIn | integer | sí | Validez del token de acceso, en segundos. | |
usuario | Me | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/auth/primeiro-acesso/confirmar" -H "Content-Type: application/json" -d '{"email":"texto","codigo":"texto","senha":"texto"}'Restablece la contraseña con el token del correo
POST /auth/redefinir-senha
Acceso: Pública (sin inicio de sesión). Límite: hasta 10 llamadas cada 60 s por origen. Estado de éxito: 204.
Cuerpo de la solicitud (RedefinirSenhaInput)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
token | string | sí | 20–200 caracteres | |
senha | Senha | sí |
Respuesta
Sin cuerpo en la respuesta.
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/auth/redefinir-senha" -H "Content-Type: application/json" -d '{"token":"texto","senha":"texto"}'Cambia el token de renovación por una sesión nueva
POST /auth/refresh
El token de renovación es de un solo uso: reutilizar uno ya usado cierra todas las sesiones de la cuenta. Guarde siempre el nuevo par devuelto.
Acceso: Pública (sin inicio de sesión). Límite: hasta 60 llamadas cada 60 s por origen. Estado de éxito: 200.
Cabeceras
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
user-agent | string | no | Identificación de la aplicación cliente; se guarda para la lista de conexiones. |
Cuerpo de la solicitud (RefreshInput)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
refreshToken | string | sí | 20–200 caracteres |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
accessToken | string | sí | ||
refreshToken | string | sí | ||
expiresIn | integer | sí | Validez del token de acceso, en segundos. | |
usuario | Me | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/auth/refresh" -H "Content-Type: application/json" -d '{"refreshToken":"texto"}'Cambia la propia contraseña
POST /auth/trocar-senha
Acceso: Cualquier persona autenticada. Estado de éxito: 200.
Cabeceras
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
user-agent | string | no | Identificación de la aplicación cliente; se guarda para la lista de conexiones. |
Cuerpo de la solicitud (TrocarSenhaInput)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
senhaAtual | Senha | sí | ||
novaSenha | Senha | sí |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
accessToken | string | sí | ||
refreshToken | string | sí | ||
expiresIn | integer | sí | Validez del token de acceso, en segundos. | |
usuario | Me | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/auth/trocar-senha" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"senhaAtual":"texto","novaSenha":"texto"}'