Включите EstaCaido в приложения
API EstaCaido позволяет управлять мониторами, просматривать инциденты, настраивать оповещения и многое другое из вашего кода. Все конечные точки API используют JSON в запросах и ответах.
https://www.estacaido.com/api/v1/
Каждый токен API может отправлять не более 100 запросов в минуту. На запросы сверх лимита приходит ответ 429 Too Many Requests.
Используйте токен для аутентификации всех запросов к API. Передавайте токен в заголовке 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
Управляйте мониторами своих сайтов.
/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 |
Обязательно | Название монитора |
domain |
Обязательно | Домен для мониторинга, например example.com |
check_interval |
Необязательно | Интервал проверки в секундах, одно из значений 30, 60, 300, 600, 900, 1800, 3600. По умолчанию: 300 |
check_type |
Необязательно | Одно из значений: http, https, ping. По умолчанию: 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 |
Необязательно | Число дней в выборке. По умолчанию: 30 |
Просматривайте инциденты простоя и их историю.
/api/v1/incidents/
status |
Необязательно | Фильтр по статусу: ongoing, resolved |
monitor |
Необязательно | Фильтр по ID монитора |
/api/v1/incidents/{id}/
Настройте уведомления оповещений для своих мониторов.
/api/v1/alerts/
/api/v1/alerts/
monitor |
Обязательно | ID монитора |
alert_type |
Обязательно | Одно из значений: email, sms, slack, discord, webhook, pagerduty, teams |
recipients |
Обязательно | Адреса получателей или URL вебхуков |
alert_on_down |
Необязательно | Уведомлять, когда сайт недоступен (по умолчанию: true) |
alert_on_recovery |
Необязательно | Уведомлять, когда сайт восстановлен (по умолчанию: true) |
/api/v1/alerts/{id}/
/api/v1/alerts/{id}/
Создавайте публичные страницы статуса и управляйте ими.
/api/v1/status-pages/
/api/v1/status-pages/
title |
Обязательно | Заголовок страницы статуса |
slug |
Обязательно | Слаг URL (например, my-status-page) |
description |
Необязательно | Текст описания |
is_public |
Необязательно | Сделать общедоступным (по умолчанию: true) |
Управляйте доступом команды и совместной работой.
/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}'
Зарегистрируйтесь бесплатно и получите токен API, чтобы начать интеграцию.
Зарегистрируйтесь бесплатно Получить токен API