Skip to content

API administrativa ​

Referência das rotas principais da API Express. Os caminhos abaixo são relativos à aplicação; o proxy pode publicá-la sob /admin.

Não existe cadastro público. Exceto login e health, a API exige sessão válida. Operações autenticadas que alteram estado também exigem CSRF; as rotas de administração aplicam autorização ADMIN.

Acesso e sessão ​

MétodoRotaFinalidade
GET/healthLiveness do processo; não certifica toda a cadeia
POST/api/auth/loginIniciar sessão; sujeito a rate limit
GET/api/auth/meConsultar identidade autenticada
GET/api/auth/csrfRecuperar CSRF para a sessão
POST/api/auth/csrf/rotateRotacionar CSRF
POST/api/auth/logoutRevogar sessão

Login é a exceção pública de autenticação; não necessita token CSRF prévio. O token da sessão vai em cookie HttpOnly, não no JSON para armazenamento pelo frontend.

Catálogo e auditoria ​

MétodoRotaFinalidade
GET/api/devicesConsultar dispositivos
GET/api/devices/:idConsultar um dispositivo
PATCH/api/devices/:idEditar name, active e metadata
GET/api/metric-definitionsConsultar métricas
PATCH/api/metric-definitions/:keyEditar unit, description e active
GET/api/audit-logsConsultar histórico paginado
GET/api/alert-statusesConsultar estado agregado do alerta único A1

Não há criação/exclusão de dispositivos e métricas pela API. A identidade e a chave permanecem imutáveis.

Exemplo fictício de corpo, não uma chamada a executar:

json
{
  "name": "Inversor de exemplo",
  "active": true,
  "metadata": { "observacao": "Cadastro didático" }
}

Não usar metadata como cofre de senhas ou inventário de rede.

Administradores ​

MétodoRotaFinalidade
GET/api/admin-usersListar contas com projeção segura
POST/api/admin-usersCriar outra conta ADMIN
PATCH/api/admin-users/:idAtivar/desativar outra conta
POST/api/admin-users/:id/reset-passwordRedefinir senha e revogar sessões

Não há exclusão, redefinição da própria senha ou desativação da própria conta por esses fluxos. O último ADMIN ativo é protegido, inclusive contra mutações concorrentes.

Respostas e limites ​

Sucesso usa envelope data; falha usa error com código e mensagem. HTTP 401 indica autenticação ausente/inválida; 403, acesso ou proteção rejeitada; outras respostas dependem da validação e do recurso. Não transformar qualquer falha em “servidor caiu”.

O estado dos alertas é um resumo de avaliação, não histórico nem comprovante de e-mail entregue. Veja segurança do Admin.

Revisão: 06/10/2026. Base: apps/admin/src/app.ts, validações e docs/admin.md. Para detalhes de limites de campo, consultar os schemas de validação no código.

IFSP Campus Boituva · Energia, automação e software em um mesmo projeto