v1 · EstávelREST API

API Reference

Integre monitoramento de uptime diretamente nos seus sistemas. Autenticada por API keys, com rate limiting por plano e respostas JSON consistentes.

Gerar API Keyhttps://api.thealert.io/api/v1

Visão Geral

A API pública do TheAlert permite gerenciar monitores, consultar histórico de checks e listar status pages programaticamente. É ideal para automatizar onboarding, integrar CI/CD, ou construir dashboards customizados.

Autenticação

API Keys com prefixo ta_ geradas no dashboard

REST + JSON

Todos os endpoints retornam application/json

Rate Limiting

Limites por plano, com headers X-RateLimit-*

Autenticação

Todas as rotas da API pública requerem uma API key válida. As keys são geradas em Dashboard → Integrações → API Keys. Cada key é exibida uma única vez — guarde em segurança.

Opção 1 — Authorization Header (recomendado)

http
Authorization: Bearer ta_a1b2c3d4e5f6...

Opção 2 — X-API-Key Header

http
X-API-Key: ta_a1b2c3d4e5f6...

Mantenha sua key segura

Nunca exponha API keys em código front-end ou repositórios públicos. Use variáveis de ambiente. Se suspeitar de vazamento, revogue e gere uma nova key imediatamente.

Base URL

url
https://api.thealert.io/api/v1

Todos os endpoints são relativos a esta base URL. Versões futuras utilizarão /api/v2, garantindo compatibilidade retroativa da v1.

Rate Limits

Os limites são por API key, usando janela deslizante de 1 hora. Cada resposta inclui headers para acompanhar o consumo:

http
X-RateLimit-Limit: 1000       # total permitido na janela
X-RateLimit-Remaining: 847   # restantes nesta janela
X-RateLimit-Reset: 1741699200 # timestamp unix do reset
PlanoReq / horaReq / dia (est.)API pública
FREE
STARTER100~2.400
PRO1.000~24.000
BUSINESS10.000~240.000

Ao exceder o limite, a API retorna 429 Too Many Requests com resetInSeconds indicando quando a janela reinicia.

Erros

A API usa códigos HTTP convencionais. Respostas de erro sempre têm o campo error com descrição legível.

StatusSignificadoCausa comum
200OKRequisição bem-sucedida
201CreatedRecurso criado (POST)
204No ContentOperação concluída sem body (DELETE)
400Bad RequestDados inválidos — veja o campo details
401UnauthorizedAPI key ausente ou inválida
403ForbiddenPlano não suporta API pública (FREE)
404Not FoundRecurso não encontrado ou de outro usuário
429Too Many RequestsRate limit excedido para esta key
500Server ErrorErro interno — entre em contato
json
// Erro de validação (400)
{
  "error": "Dados inválidos",
  "details": {
    "url": ["URL inválida"],
    "interval": ["Intervalo mínimo para o plano STARTER é 30 segundos"]
  }
}

// Rate limit excedido (429)
{
  "error": "Rate limit excedido",
  "limit": 100,
  "remaining": 0,
  "resetInSeconds": 1847
}

Monitores

/api/v1/monitors

CRUD completo de monitores. Todos os limites do plano são respeitados (número máximo, intervalo mínimo, features por tier).

Histórico de Checks

/api/v1/monitors/:id/checks

Retorna os checks mais recentes do monitor em ordem decrescente. Útil para calcular uptime customizado, plotar gráficos ou detectar padrões de falha.

Status do Monitor

/api/v1/monitors/:id/status

Status Pages

/api/v1/status-pages

Lista as status pages do usuário proprietário da key. Combine com os checks dos monitores para automatizar atualizações de status.

Heartbeat

/push/:tokensem autenticação

Endpoint usado por monitores do tipo PUSH. O servidor ou cron job envia um POST periódico para confirmar que está vivo. Se o TheAlert não receber o ping dentro do intervalo configurado × 1.5, o monitor vira DOWN e dispara alertas. O token é gerado automaticamente ao criar um monitor PUSH — não é necessária API key.

Limites

10 req/min por token — evita spam acidental
Token inválido ou mal-formatado retorna 404
O body da requisição é ignorado — apenas o token no path importa

Segurança

Keys armazenadas como hash SHA-256

Sua key é exibida uma única vez. O servidor guarda apenas o hash — nunca o valor original. Se comprometida, revogue pelo dashboard e ela é invalidada imediatamente.

Isolamento por usuário

Recursos de outros usuários retornam 404, não 403 — impedindo enumeração de IDs. Nenhuma operação cross-user é possível via API pública.

Campos sensíveis não expostos

Os campos headers (podem conter tokens), pushToken e sslCertInfo raw são removidos de todos os responses — independente do que estiver no banco.

Boas práticas

Use variáveis de ambiente para armazenar sua key — nunca hardcode
Implemente retry com exponential backoff ao receber 429 ou 5xx
Monitore X-RateLimit-Remaining para antecipar throttling
Crie keys separadas por ambiente (staging vs. produção)
Rotacione keys periodicamente e sempre após offboarding de colaboradores
Prefira chamadas batch (GET /monitors) a chamadas individuais repetidas

Pronto para começar?

Gere sua primeira API key no dashboard e integre em minutos.