Dokumentácia API

Integrujte EstaCaido s vašimi aplikáciami

Ako začať

API EstaCaido vám umožňuje spravovať monitory, zobrazovať incidenty, konfigurovať upozornenia a ďalšie funkcie z vlastného kódu.Všetky koncové body API používajú JSON pre telá požiadaviek a odpovedí.

Základná URL

https://www.estacaido.com/api/v1/

Limity sadzieb

Každý token API môže vytvoriť až 100 požiadaviek za minútu.Požiadavky nad tento limit dostanú 429 Too Many Requests odpoveď.

Overenie pravosti

Použite overenie založené na tokene pre všetky požiadavky rozhrania API. Zahrňte token do hlavičky Authorization (Autorizácia).

Získať autentizačný token

POST /api/v1/auth/token/
Žiadosť
curl -X POST https://www.estacaido.com/api/v1/auth/token/ \
  -H "Content-Type: application/json" \
  -d '{"username": "your@email.com", "password": "yourpassword"}'
Odpoveď
{
  "token": "your-api-token-here"
}

Použitie tokenu v hlavičke Autorizácia

Authorization: Token your-api-token-here

Monitory

Spravujte monitory svojich webových stránok.

Zoznam monitorov

GET /api/v1/monitors/
Odpoveď
[
  {
    "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"
  }
]

Vytvoriť monitor

POST /api/v1/monitors/
Parametre
name Povinné Názov monitora
domain Povinné Doména na monitorovanie, napr. example.com
check_interval Voliteľné Interval kontroly v sekundách, jeden z 30, 60, 300, 600, 900, 1800, 3600. Predvolené: 300
check_type Voliteľné Jedna z týchto hodnôt: http, https, ping. Predvolené: https

Získať monitor

GET /api/v1/monitors/{id}/

Monitor aktualizácií

PUT /api/v1/monitors/{id}/

Odstrániť monitor

DELETE /api/v1/monitors/{id}/

Pauza monitora

POST /api/v1/monitors/{id}/pause/

Monitorovanie obnovenia

POST /api/v1/monitors/{id}/resume/

Získať monitor štatistiky

GET /api/v1/monitors/{id}/statistics/
Parametre
days Voliteľné Počet dní, ktoré sa majú zahrnúť. Predvolené: 30

Incidenty

Zobrazte si incidenty odstávok a ich históriu.

Zoznam incidentov

GET /api/v1/incidents/
Parametre
status Voliteľné Filtrovať podľa stavu: prebiehajúce, vyriešené
monitor Voliteľné Filtrovať podľa ID monitora

Získať incident

GET /api/v1/incidents/{id}/

Upozornenia

Nakonfigurujte upozornenia na výstrahy pre vaše monitory.

Zoznam upozornení

GET /api/v1/alerts/

Vytvoriť upozornenie

POST /api/v1/alerts/
Parametre
monitor Povinné ID monitora
alert_type Povinné Jedna z týchto hodnôt: email, sms, slack, discord, webhook, pagerduty, teams
recipients Povinné Adresy príjemcov alebo webhook URL
alert_on_down Voliteľné Upozorniť pri výpadku stránky (predvolené: true)
alert_on_recovery Voliteľné Upozorniť pri obnovení stránky (predvolené: true)

Aktualizovať upozornenie

PUT /api/v1/alerts/{id}/

Odstrániť upozornenie

DELETE /api/v1/alerts/{id}/

Stránky so stavom

Vytvárajte a spravujte verejné stavové stránky.

Stránky so stavom zoznamu

GET /api/v1/status-pages/

Vytvoriť stavovú stránku

POST /api/v1/status-pages/
Parametre
title Povinné Názov stránky so stavom
slug Povinné URL slug (napr. my-status-page)
description Voliteľné Text popisu
is_public Voliteľné Urobiť verejne prístupným (predvolené: true)

Tímy

Spravujte prístup a spoluprácu tímu.

Zoznam tímov

GET /api/v1/teams/

Vytvoriť tím

POST /api/v1/teams/

Získať tím

GET /api/v1/teams/{id}/

Príklady kódu

Python

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())

JavaScript

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));

cURL

# 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}'

Ste pripravení začať?

Zaregistrujte sa zdarma a získajte API token, aby ste mohli začať integrovať.

Zaregistrovať sa zadarmo Získať API token