GET /auth/totp/status
Reporta o estado do 2FA do usuário logado: se está enrolled (registrou segredo), se confirmou o primeiro código, e quantos recovery codes...
- Acesso: Login (inclui pré-sessão)
- Serviço:
https://auth-api.axuz.net
Autenticação aceita
sessionCookie— Sessão plena Axuz (cookie de sessão da casa). Sessão restrita é 403 enrollment_required.bearerSession— JWT de acesso da sessão em `Authorization: Bearer`.
Reporta o estado do 2FA do usuário logado: se está enrolled (registrou segredo), se confirmou o primeiro código, e quantos recovery codes ainda estão disponíveis.
Motivo: front da tela /settings/security precisa saber se pode mostrar "ativar TOTP" ou "TOTP ativo, X códigos restam". Comportamento: SELECT em user_totp; retorna enrolled=false/confirmed=false se ErrNoRows; 500 em outro erro.
Entradas: user_id do context (extraído por withAuth).
Retorno: JSON com enrolled, confirmed, recovery_codes_total, recovery_codes_unused. Efeito: apenas leitura DB.
Parâmetros
Sem parâmetros.
Respostas
200
Sucesso.
401
Sem credencial valida
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
error | string | sim |
429
Limite de requisições excedido.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
error | string | sim |
500
Erro interno. Tente de novo com backoff; reporte o X-Request-Id.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
error | string | sim |
Exemplos
O "Try it" está desligado nesta referência. Use os exemplos com a sua credencial de teste.
curl
curl -sS -X GET 'https://auth-api.axuz.net/auth/totp/status' \
-H "Authorization: Bearer $AXUZ_TOKEN"Node.js
const res = await fetch("https://auth-api.axuz.net/auth/totp/status", {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.AXUZ_TOKEN}`,
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
console.log(await res.json());Python
import os
import requests
res = requests.request(
"GET",
"https://auth-api.axuz.net/auth/totp/status",
headers={
"Authorization": f"Bearer {os.environ['AXUZ_TOKEN']}",
},
timeout=30,
)
res.raise_for_status()
print(res.json())