Documentazione

Integrate EstaCaido cù e vostre applicazioni

Comincià

L'API EstaCaido vi permette di gestisce i vostri monitori, vede incidenti, cunfigurà avvisi è di più da u vostru propiu codice. Tutti i punti finali API utilizanu JSON per i corpi di richiesta è risposta.

URL di basi

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

Limiti di velocità

Ogni token API pò fà finu a 10 richieste 100 à minutu. Li richieste supra stu limiti ghjunghjenu a una risposta 429 Too Many Requests.

Autenticazione

Usa l'autenticazzioni basata supra a token pi tutti li dumande API. Includi u vostru token ntâ testata Authorization.

Riciviri u token d'autenticazione

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

Usa u token di l'intestazione di l'autorizzazioni

Authorization: Token your-api-token-here

Monitori

Gestisci i monitori di u vostru situ web.

Elenco monitori

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

Creà un Monitor

POST /api/v1/monitors/
Parametri
name Richiesta Nome dû monitoru
domain Richiesta U duminiu da monitorari, pi esempiu example.com
check_interval Facoltativu Intervallu di cuntrollu in siconni, unu di 30, 60, 300, 600, 900, 1800, 3600. Predefinitu: 300
check_type Facoltativu Unu di sti valuri: http, https, ping. Predefinitu: https

Otteni u monitoru

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

Aggiornamenti

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

Eliminari lu monitoru

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

Monitori

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

Ripiglià u monitoru

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

Riciviri statistiche dû monitor

GET /api/v1/monitors/{id}/statistics/
Parametri
days Facoltativu U nùmmaru di jorna da includeri. Predefinitu: 30

Incidenti

Vedi l'incidenti di downtime è a so storia.

Lista di l'incidenti

GET /api/v1/incidents/
Parametri
status Facoltativu Filtru pi statu: in corso, risolto
monitor Facoltativu Filtru pi ID dû monitoru

Riciviri l'incidenti

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

Avvisi

Cunfigurate li notifiche di avvisu pi li vostri monitori.

Lista di l'avvisi

GET /api/v1/alerts/

Crea un avvisu

POST /api/v1/alerts/
Parametri
monitor Richiesta ID dû monitoru
alert_type Richiesta Unu di sti valuri: email, sms, slack, discord, webhook, pagerduty, teams
recipients Richiesta Indirizzi di riciventi o URL webhook
alert_on_down Facoltativu Avvisa quannu u situ si rompe (predefinitu: veru)
alert_on_recovery Facoltativu Avvisa quandu u situ si ripristina (predefinitu: true)

Aghjurnamentu di l'avvisu

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

Elimina l' allarmi

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

Pagini di statu

Crea e gestisci pagine di statu pùbblichi.

Lista di pagini di statu

GET /api/v1/status-pages/

Crea pagina di statu

POST /api/v1/status-pages/
Parametri
title Richiesta U titulu di la pàggina di statu
slug Richiesta URL slug (p.e. my-status-page)
description Facoltativu Testu di discrizzioni
is_public Facoltativu Facci accessibile ô pùbblicu (predefinitu: veru)

Gruppi

Gestisce l'accessu è a collaborazione di l'equipaggiu.

Lista di squadri

GET /api/v1/teams/

Crea squadra

POST /api/v1/teams/

Otteni a squadra

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

Esempi di còdici

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

Prontu à cumincià?

Iscriviti gratuitamenti è ottene u vostru token API per cumincià à integrà.

Iscriviti Gratuitamente Otteni u token API