API dokumentācija

Integrēt EstaCaido ar jūsu lietojumprogrammām

Sākšana

EstaCaido API ļauj pārvaldīt monitorus, skatīt incidentus, konfigurēt brīdinājumus un citus datus no sava koda. Visi API mērķa kritēriji JSON izmanto pieprasījuma un atbildes iestādēm.

Pamata URL

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

Likmes ierobežojumi

Katrs API žetons var veidot līdz 100 pieprasījumiem minūtē. Pieprasījumi virs šīs robežas saņemt 429 Too Many Requests atbildi.

Autentificēšana

Izmantot tokēnu autentificēšanu visiem API pieprasījumiem. Iekļaut savu žetonu autorizācijas galvenē.

Iegūt autentifikācijas marķieri

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

Lietot atribūtu autorizācijas galvenē

Authorization: Token your-api-token-here

Monitori

Pārvaldiet tīmekļa vietnes monitorus.

Sarakstu novērotāji

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

Izveidot monitoru

POST /api/v1/monitors/
Parametri
name Vajadzīgs Uzraugs
domain Vajadzīgs Monitorējamais domēns, piemēram, example.com
check_interval Pēc izvēles Pārbaudes intervāls sekundēs, viens no 30, 60, 300, 600, 900, 1800, 3600. Noklusētais: 300
check_type Pēc izvēles Viena no šīm vērtībām: http, https, ping. Noklusētais: https

& Projekts

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

Atjaunināt uzraugs

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

Dzēst uzraugs

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

Pauzes monitors

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

Atsākt novērotāju

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

Ielādēt Monitora statistiku

GET /api/v1/monitors/{id}/statistics/
Parametri
days Pēc izvēles Iekļaujamo dienu skaits. Noklusētais: 30

Incidenti

Skatīt downtime incidentus un to vēsturi.

Saraksta incidenti

GET /api/v1/incidents/
Parametri
status Pēc izvēles Filtrs pēc statusa: notiek, tiek atrisināts
monitor Pēc izvēles Filtrē monitora ID

Iet starpgadījumu

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

Brīdinājumi

Konfigurēt monitoru brīdinājuma paziņojumus.

Saraksta brīdinājumi

GET /api/v1/alerts/

Izveidot brīdinājumu

POST /api/v1/alerts/
Parametri
monitor Vajadzīgs Monitora ID
alert_type Vajadzīgs Viena no šīm vērtībām: email, sms, slack, discord, webhook, pagerduty, teams
recipients Vajadzīgs Saņēmēja adreses vai tīmekļa uzgalis URL
alert_on_down Pēc izvēles Informēt, kad tīmekļa vietne iet lejup (noklusētā: true)
alert_on_recovery Pēc izvēles Informēt, kad tīmekļa vietne atgūstas (noklusētā: true)

Atjaunināt brīdinājumu

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

Dzēst brīdinājumu

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

Statusa lapas

Izveidot un pārvaldīt publiskā statusa lapas.

Saraksts

GET /api/v1/status-pages/

Izveidot statusa lapu

POST /api/v1/status-pages/
Parametri
title Vajadzīgs Statusa lapas nosaukums
slug Vajadzīgs URL slug (piem., mans statuss- lapa)
description Pēc izvēles Apraksts
is_public Pēc izvēles Padarīt publiski pieejamu (noklusētā: patiesa)

Komandas

Pārvaldīt komandas piekļuvi un sadarbību.

Saraksts

GET /api/v1/teams/

Izveidot komandu

POST /api/v1/teams/

Iegūst komandu

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

Koda piemēri

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

Gatavs sākt?

Pierakstīties par brīvu un saņemt savu API žetonu, lai sāktu integrēt.

Reģistrēties bez maksas Ielādēt API žetonu