Dokumentacioni API

Integro EstaCaido me aplikacionet e tua

Fillimi

API EstaCaido ju lejon të menaxhoni monitorët tuaj, të shihni incidentet, të konfiguroni alarmet dhe më shumë nga kodi juaj. Të gjitha pikat e fundit të API përdorin JSON për trupat e kërkesave dhe përgjigjeve.

URL e bazë

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

Limitet e shpejtësisë

Çdo token API mund të përbërë deri në kërkesa 100 për minutë. Kërkesat mbi këtë limit marrin një përgjigje 429 Too Many Requests.

Autentifikim

Përdor autentifikimin bazuar në token për të gjitha kërkesat API. Përfshi token në header Autorizimi.

Merr token e autentifikimit

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

Përdor token në header Autorizimi

Authorization: Token your-api-token-here

Monitorët

Menazho monitorët e faqes tënde web.

Monitorët e listës

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

Krijo Monitor

POST /api/v1/monitors/
Parametrat
name E nevojshme Emri i monitorit
domain E nevojshme Domain për tu mbikqyrur, për shembull example.com
check_interval Opsionale Intervali i kontrollimit në sekonda, një nga 30, 60, 300, 600, 900, 1800, 3600. I paracaktuar: 300
check_type Opsionale Një nga këto vlera: http, https, ping. E prezgjedhur: https

Monitori

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

Monitori i rifreskimit

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

Monitori

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

Monitori i _Pauzës

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

Monitori i rifillimit

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

Monitori

GET /api/v1/monitors/{id}/statistics/
Parametrat
days Opsionale Numri i ditëve për t'u përfshirë. E paracaktuar: 30

Incidenti

Shiko incidentet e kohës së mbylljes dhe historinë e tyre.

Lista e incidenteve

GET /api/v1/incidents/
Parametrat
status Opsionale Filtro sipas gjendjes: në vazhdim, zgjidhur
monitor Opsionale Filtro sipas ID të monitorit

Merr incidentin

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

Paralajmërimi

Konfiguro njoftimet e alarmit për monitorët tuaj.

Lista e alarmeve

GET /api/v1/alerts/

Krijo alarm

POST /api/v1/alerts/
Parametrat
monitor E nevojshme ID e monitorit
alert_type E nevojshme Një nga këto vlera: email, sms, slack, discord, webhook, pagerduty, teams
recipients E nevojshme Adresat e marrësit ose URL-të webhook
alert_on_down Opsionale Lajmëro kur site-i bjen (i prezgjedhur: i vërtetë)
alert_on_recovery Opsionale Lajmëro kur site-i rimerr (i prezgjedhur: i vërtetë)

Rifresko alarmin

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

Elemino alarmin

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

Faqe të gjendjes

Krijo dhe menaxhoje faqet e gjendjes publike.

Lista e faqeve të gjendjes

GET /api/v1/status-pages/

Krijo Faqe Gjendje

POST /api/v1/status-pages/
Parametrat
title E nevojshme Titulli i faqes së gjendjes
slug E nevojshme URL slug (p.sh. my-status-page)
description Opsionale Teksti i përshkrimit
is_public Opsionale Bëje të përshtatshëm publikisht (i prezgjedhur: i vërtetë)

Ekipet

Menaxhimi i aksesit dhe bashkëpunimit të ekipit.

Lista e ekipeve

GET /api/v1/teams/

Krijo një ekip

POST /api/v1/teams/

Marr ekipin

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

Shembuj kodi

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

Gati për të filluar?

Regjistrohu pa pagesë dhe merr token e API-së për të filluar integrimin.

Regjistrohu Falas Merr token API