API dokumentacija

Integruoti EstaCaido su jūsų programomis

Pradedama

Dėl EstaCaido API galite valdyti savo monitorius, peržiūrėti incidentus, konfigūruoti perspėjimus ir daugiau iš savo kodo. Visos API vertinamosios baigtys naudoja JSON užklausų ir atsako organus.

Pagrindinis URL

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

Norminės ribos

Kiekvienas API žetonas gali sudaryti iki 100 užklausų per minutę. Užklausos per tą ribą gauti 429 Too Many Requests atsakymą.

Autentikacija

Naudoti visų API užklausų koduotą autentiškumą. Įtraukti savo raktą į autorizacijos antraštę.

Gauti autentifikavimo ženklą

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

Naudoti simbolius autorizacijos antraštėje

Authorization: Token your-api-token-here

Monitoriai

Tvarkykite savo svetainės monitorius.

Sąrašų monitoriai

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

Sukurti monitorių

POST /api/v1/monitors/
Parametrai
name Reikalinga Stebėtojo pavadinimas
domain Reikalinga Stebėtinos domeno, pvz. example.com
check_interval Neprivaloma Tikrinimo intervalas sekundėmis, vienas iš 30, 60, 300, 600, 900, 1800, 3600. Numatytasis: 300
check_type Neprivaloma Viena iš šių verčių: http, https, ping. Numatytasis: https

Gauti stebėtoją

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

Atnaujinimo monitorius

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

Pašalinti monitorių

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

Pauzės monitorius

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

Tęsti stebėtoją

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

Gauti stebėjimo statistiką

GET /api/v1/monitors/{id}/statistics/
Parametrai
days Neprivaloma Įtrauktinų dienų skaičius. Numatytasis: 30

Įvykiai

Peržiūrėkite atsijungimo laiku incidentus ir jų istoriją.

Sąrašas

GET /api/v1/incidents/
Parametrai
status Neprivaloma Filtruoti pagal būseną: vyksta, išspręsta
monitor Neprivaloma Filtruoti monitoriaus ID

Įvykdyti incidentą

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

Perspėjimai

Konfigūruokite savo monitorių perspėjimo pranešimus.

Įspėjimų sąrašas

GET /api/v1/alerts/

Sukurti įspėjimą

POST /api/v1/alerts/
Parametrai
monitor Reikalinga Monitoriaus ID
alert_type Reikalinga Viena iš šių verčių: email, sms, slack, discord, webhook, pagerduty, teams
recipients Reikalinga Gavėjo adresai arba žiniatinklio adresai
alert_on_down Neprivaloma Informuoti, kai tinklalapis nustos (numatyta: true)
alert_on_recovery Neprivaloma Informuoti, kai tinklalapis atsigauna (numatyta: true)

Atnaujinti įspėjimą

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

Trinti įspėjimą

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

Būsenos puslapiai

Sukurti ir tvarkyti viešosios būklės puslapius.

Sąrašas

GET /api/v1/status-pages/

Sukurti būsenos puslapį

POST /api/v1/status-pages/
Parametrai
title Reikalinga Būsenos puslapio pavadinimas
slug Reikalinga URL šliaužimas (pvz., mano būsena)
description Neprivaloma Aprašymas
is_public Neprivaloma Padaryti viešai prieinamą (numatyta: tiesa)

Komandos

Valdykite komandos prieigą ir bendradarbiavimą.

Sąrašo komandos

GET /api/v1/teams/

Sukurti komandą

POST /api/v1/teams/

Gauti komandą

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

Kodo pavyzdžiai

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

Pasiruošęs pradėti?

Užsiregistruoti nemokamai ir gauti savo API žetoną pradėti integruoti.

Registruotis nemokamai Gauti API žetoną