API-dokumentation

Integrera EstaCaido med dina program

Komma igång

EstaCaido API låter dig hantera dina monitorer, visa incidenter, konfigurera varningar och mer från din egen kod. Alla API-slutpunkter använder JSON för begäran och svarsorgan.

Baswebbadress

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

Räntegränser

Varje API- token kan fylla i 100-förfrågningar per minut. Förfrågningar över den gränsen får ett 429 Too Many Requests-svar.

Behörighetskontroll

Använd token-baserad behörighetskontroll för alla API-förfrågningar. Inkludera din token i behörighetshuvudet.

Hämta behörighetstecken

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

Använd token i behörighetshuvudet

Authorization: Token your-api-token-here

Övervakare

Hantera dina webbplatsskärmar.

Listasövervakare

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

Skapa monitor

POST /api/v1/monitors/
Parametrar
name Krävs Namn på bildskärmen
domain Krävs Domän att övervaka, till exempel example.com
check_interval Frivillig uppgift Kontrollera intervall i sekunder, en av 30, 60, 300, 600, 900, 1800, 3600. Förval: 300
check_type Frivillig uppgift Ett av dessa värden: http, https, ping. Förval: https

Hämta bildskärm

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

Uppdatera bildskärm

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

Ta bort skärm

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

Gör paus- övervakning

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

Återuppta monitor

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

Hämta statistik över övervakning

GET /api/v1/monitors/{id}/statistics/
Parametrar
days Frivillig uppgift Antal dagar som ska inkluderas. Förval: 30

Tillbud

Visa avbrott och deras historia.

Förteckning tillbud

GET /api/v1/incidents/
Parametrar
status Frivillig uppgift Filtrera efter status: pågående, löst
monitor Frivillig uppgift Filtrera enligt monitor-ID

Få tillbud

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

Registreringar

Konfigurera varningsmeddelanden för dina monitorer.

Registreringar i listor

GET /api/v1/alerts/

Skapa varning

POST /api/v1/alerts/
Parametrar
monitor Krävs Övervaka ID
alert_type Krävs Ett av dessa värden: email, sms, slack, discord, webhook, pagerduty, teams
recipients Krävs Mottagarens adress eller webbhook- webbadresser
alert_on_down Frivillig uppgift Meddela när webbplatsen går ner (standard: sant)
alert_on_recovery Frivillig uppgift Meddela när platsen återhämtar sig (standard: sant)

Uppdatera varning

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

Ta bort varning

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

Statussidor

Skapa och hantera offentliga statussidor.

Lista statussidor

GET /api/v1/status-pages/

Skapa statussida

POST /api/v1/status-pages/
Parametrar
title Krävs Titel på statussidan
slug Krävs Webbadresssnigel (t.ex., min-status-sida)
description Frivillig uppgift Beskrivning
is_public Frivillig uppgift Gör offentligt tillgängligt (standard: sant)

Grupper

Hantera gruppåtkomst och samarbete.

Lista grupper

GET /api/v1/teams/

Skapa grupp

POST /api/v1/teams/

Hämta grupp

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

Exempel på koder

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

Är du redo att börja?

Registrera dig gratis och få din API token att börja integrera.

Registrera dig gratis Hämta API- token