Integrar EstaCaido com as suas aplicações
A API do EstaCaido permite gerenciar seus monitores, ver incidentes, configurar alertas e muito mais a partir do seu próprio código. Todos os endpoints da API usam JSON no corpo das requisições e respostas.
https://www.estacaido.com/api/v1/
Cada token de API pode fazer até 100 requisições por minuto. Requisições acima desse limite recebem uma resposta 429 Too Many Requests.
Use autenticação por token em todas as requisições da API. Inclua seu token no cabeçalho Authorization.
/api/v1/auth/token/
curl -X POST https://www.estacaido.com/api/v1/auth/token/ \
-H "Content-Type: application/json" \
-d '{"username": "your@email.com", "password": "yourpassword"}'
{
"token": "your-api-token-here"
}
Authorization: Token your-api-token-here
Gerencie os monitores dos seus sites.
/api/v1/monitors/
[
{
"id": 1,
"name": "Production API",
"company": {
"id": 1,
"website": "api.example.com"
},
"check_type": "http",
"check_interval": 300,
"is_active": true,
"is_paused": false,
"last_check_at": "2024-01-15T10:30:00Z",
"created_at": "2024-01-01T00:00:00Z"
}
]
/api/v1/monitors/
name |
Obrigatório | Nome do monitor |
domain |
Obrigatório | Domínio a monitorar, por exemplo example.com |
check_interval |
Opcional | Intervalo de verificação em segundos, um de 30, 60, 300, 600, 900, 1800, 3600. Padrão: 300 |
check_type |
Opcional | Um destes valores: http, https, ping. Padrão: https |
/api/v1/monitors/{id}/
/api/v1/monitors/{id}/
/api/v1/monitors/{id}/
/api/v1/monitors/{id}/pause/
/api/v1/monitors/{id}/resume/
/api/v1/monitors/{id}/statistics/
days |
Opcional | Número de dias a incluir. Padrão: 30 |
Veja os incidentes de indisponibilidade e seu histórico.
/api/v1/incidents/
status |
Opcional | Filtrar por status: ongoing, resolved |
monitor |
Opcional | Filtrar por ID do monitor |
/api/v1/incidents/{id}/
Configure as notificações de alerta dos seus monitores.
/api/v1/alerts/
/api/v1/alerts/
monitor |
Obrigatório | ID do monitor |
alert_type |
Obrigatório | Um destes valores: email, sms, slack, discord, webhook, pagerduty, teams |
recipients |
Obrigatório | Endereços de destinatários ou URLs de webhook |
alert_on_down |
Opcional | Avisar quando o site ficar fora do ar (padrão: true) |
alert_on_recovery |
Opcional | Avisar quando o site se recuperar (padrão: true) |
/api/v1/alerts/{id}/
/api/v1/alerts/{id}/
Crie e gerencie páginas de status públicas.
/api/v1/status-pages/
/api/v1/status-pages/
title |
Obrigatório | Título da página de status |
slug |
Obrigatório | Slug da URL (ex.: my-status-page) |
description |
Opcional | Texto da descrição |
is_public |
Opcional | Tornar acessível publicamente (padrão: true) |
Gerencie o acesso e a colaboração da equipe.
/api/v1/teams/
/api/v1/teams/
/api/v1/teams/{id}/
import requests
API_TOKEN = 'your-api-token'
BASE_URL = 'https://www.estacaido.com/api/v1'
headers = {
'Authorization': f'Token {API_TOKEN}',
'Content-Type': 'application/json'
}
# List all monitors
response = requests.get(f'{BASE_URL}/monitors/', headers=headers)
monitors = response.json()
print(monitors)
# Create a new monitor
new_monitor = {
'name': 'My Website',
'domain': 'example.com',
'check_interval': 300
}
response = requests.post(f'{BASE_URL}/monitors/', json=new_monitor, headers=headers)
print(response.json())
const API_TOKEN = 'your-api-token';
const BASE_URL = 'https://www.estacaido.com/api/v1';
const headers = {
'Authorization': `Token ${API_TOKEN}`,
'Content-Type': 'application/json'
};
// List all monitors
fetch(`${BASE_URL}/monitors/`, { headers })
.then(res => res.json())
.then(monitors => console.log(monitors));
// Create a new monitor
fetch(`${BASE_URL}/monitors/`, {
method: 'POST',
headers,
body: JSON.stringify({
name: 'My Website',
domain: 'example.com',
check_interval: 300
})
})
.then(res => res.json())
.then(data => console.log(data));
# List all monitors
curl -X GET https://www.estacaido.com/api/v1/monitors/ \
-H "Authorization: Token your-api-token"
# Create a new monitor
curl -X POST https://www.estacaido.com/api/v1/monitors/ \
-H "Authorization: Token your-api-token" \
-H "Content-Type: application/json" \
-d '{"name": "My Website", "domain": "example.com", "check_interval": 300}'
Cadastre-se grátis e obtenha seu token de API para começar a integrar.
Cadastre-se gratuitamente Obter token de API