Dokumentacija API

Integrirajte EstaCaido z vašimi aplikacijami

Začetek

EstaCaido API vam omogoča upravljanje svojih monitorjev, ogled dogodkov, nastavitev opozoril in več iz vaše kode. Vsi končni dogodki API uporabljajo JSON za zaproševanje in odziv teles.

Osnovni URL

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

Meje stopnje

Vsak API žeton lahko popravi 100 zahteve na minuto. Popraševanja čez to mejo dobite 429 Too Many Requests odgovor.

Overitev

Uporabi avtentifikacijo na podlagi žetona za vse zahteve API. Vnesite svoj žeton v glavo za avtorizacijo.

Dobi prepoznavanje

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

Uporabi žeton v glavnem znaku za pridobitev dovoljenja

Authorization: Token your-api-token-here

Nadzorniki

Upravljajte svoje spletne strani monitorjev.

Seznam monitorjev

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

Ustvari monitor

POST /api/v1/monitors/
Parametri
name Zahtevana Ime monitorja
domain Zahtevana Domena za spremljanje, na primer example.com
check_interval Neobvezno Preveri interval v sekundah, en od 30, 60, 300, 600, 900, 1800, 3600. Privzeto: 300
check_type Neobvezno One of these values: http, https, ping. Default: https

Zberi monitor

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

Posodobitev nadzornika

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

Zbriši monitor

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

Nadzornik začasnega ustavljanja

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

Nadaljuj monitor

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

Poišči statistiko monitorja

GET /api/v1/monitors/{id}/statistics/
Parametri
days Neobvezno Število dni, ki jih je treba vključiti. Privzeto: 30

Nesreče

Poglejte zastojne incidente in njihovo zgodovino.

Seznam nesreč

GET /api/v1/incidents/
Parametri
status Neobvezno Filtriraj po stanju: tekoče, rešeno
monitor Neobvezno Filtriraj po ID monitorja

Dobite nesrečo

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

Razpisi ukrepov

Nastavite opozorila za vaše monitorje.

Seznam opozoril

GET /api/v1/alerts/

Ustvari opozorilo

POST /api/v1/alerts/
Parametri
monitor Zahtevana ID monitorja
alert_type Zahtevana Ena od teh vrednosti: email, sms, slack, discord, webhook, pagerduty, teams
recipients Zahtevana Naslovi prejemnikov ali spletni naslovi
alert_on_down Neobvezno Obvestite, ko se stran spusti (privzeto: true)
alert_on_recovery Neobvezno Obvestilo, ko si mesto opomoči (privzeto: true)

Opozorilo o posodobitvi

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

Zbriši opozorilo

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

Statusne strani

Ustvarite in upravljajte strani javnega statusa.

Strani stanja seznama

GET /api/v1/status-pages/

Ustvari stanje

POST /api/v1/status-pages/
Parametri
title Zahtevana Naslov strani stanja
slug Zahtevana URL-pole (npr., moja-statusna stran)
description Neobvezno Opis besedila
is_public Neobvezno Omogoči javnost (privzeto: točnost)

Ekipe

Upravljajte z dostopom in sodelovanjem ekipe.

Seznam skupin

GET /api/v1/teams/

Ustvari ekipo

POST /api/v1/teams/

Pokliči ekipo

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

Primeri oznake

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

Pripravljeni za začetek?

Prijavite se brezplačno in dobite svoj API žeton za začetek povezovanja.

Registriraj se brezplačno Zberi API token