Documentationis pagina

Integratio EstaCaido cum tuis applicationibus

Initiae

The EstaCaido API lets you manage your monitors, view incidents, configure alerts and more from your own code. All API endpoints use JSON for request and response bodies.

URL basi

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

Limites rationum

Each API token can make up to 100 requests per minute. Requests over that limit get a 429 Too Many Requests response.

Authenticatio

Usar autenticationem in tokenis basatam pro omnes petitiones API. Includere token in Autorization header.

Obtinere token authenticationis

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

Usar token en la cabecera de autorización

Authorization: Token your-api-token-here

Monitores

Pagina interretialis administrationis.

Monitores

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

Crea Monitorem

POST /api/v1/monitors/
Parametra
name Requiescit Nomen monitoris
domain Requiescit Domenium ad monitorium, exempli gratia example.com
check_interval Optionale Intervallum verificationis in secundis, unus ex 30, 60, 300, 600, 900, 1800, 3600. Default: 300
check_type Optionale Unus e quibus valoribus: http, https, ping. Default: https

Monitor

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

Monitor update

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

Monitorem deletae

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

Monitorem pausam

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

Monitor resumendum

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

Statisticae

GET /api/v1/monitors/{id}/statistics/
Parametra
days Optionale Numerus dies inclusi. Default: 30

Incidentes

Deinde in historiam et historiam in historiam.

Index incidentium

GET /api/v1/incidents/
Parametra
status Optionale Filtra per status: in progress, resolved
monitor Optionale Filtra per ID monitoris

Incidentes

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

Aestate

Notio descriptiva est notio quae descriptio ad monitorem pertinet.

Listus aequorum

GET /api/v1/alerts/

Creare alarmum

POST /api/v1/alerts/
Parametra
monitor Requiescit Monitor ID
alert_type Requiescit One of these values: email, sms, slack, discord, webhook, pagerduty, teams
recipients Requiescit URL webhook
alert_on_down Optionale Notare cum pagina incolatur (default: true)
alert_on_recovery Optionale Notare cum pagina recuperatur (default: true)

Actualizatio

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

Deletae

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

Paginae status

Paginae publicae et administrationis paginae.

Paginae status

GET /api/v1/status-pages/

Pagina status

POST /api/v1/status-pages/
Parametra
title Requiescit Pagina status
slug Requiescit URL slug (e.g. pagina status-meus)
description Optionale Textus descriptus
is_public Optionale Publice accessibilem facit (default: true)

Teams

Incolae Coetani et Coetanienses appellantur.

Pagina officialis

GET /api/v1/teams/

Creare

POST /api/v1/teams/

Get Team

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

Exempla codicis

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

Praeparatio incipiunt.

Incolae incolae et incolae incolae appellantur.

Gratis Subscribe Obtinere token API