API Documentation

Integrate EstaCaido neyako maapplication

Kutanga

The EstaCaido API inokutendera iwe kudzora yako monitors, kuona nyaya, configure alerts uye zvimwe kubva yako yepamutemo kodhi. All API endpoints kushandisa JSON kuti chikumbiro uye kubvunza miviri.

Chikamu che URL

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

Kuwedzera

API tokens inogona kuita kusvika 100 zvinoda paminuutti. Kukumbira pamusoro pechinangwa ichi kuwana 429 Too Many Requests mhinduro.

Ku_zivana

Usashandisa token-based authentication kune ese API mibvunzo. Kusanganisira yako token mu Authorization header.

Kuwana Kubvumidzwa Token

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

Kushandisa token mu Authorization header

Authorization: Token your-api-token-here

Monitors

Manage yako website monitors.

Kuisa Mamonitor

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

Gadzira Monitor

POST /api/v1/monitors/
Parameter
name Anodarika Izwi remonitor
domain Anodarika Domain yekuona, semuenzaniso example.com
check_interval Inogona kushandiswa Check interval in seconds, one of 30, 60, 300, 600, 900, 1800, 3600. Default: 300
check_type Inogona kushandiswa Mumwe wezvinotevera zviwanikwa: http, https, ping. Default: https

Kuwana Monitor

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

Kugadzirisa Muongorori

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

Delete Monitor

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

Kuchengeta Monitor

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

Kudzokera kuMonitor

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

Kuwana Monitor Statistics

GET /api/v1/monitors/{id}/statistics/
Parameter
days Inogona kushandiswa Nhamba yemazuva anofanira kusanganisira. Default: 30

Zvikanganiso

Ona downtime nyaya uye yavo nhoroondo.

Kuisa mufananidzo

GET /api/v1/incidents/
Parameter
status Inogona kushandiswa Filter by status: ongoing, resolved
monitor Inogona kushandiswa Chikamu chekuongorora

Get Incident

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

Alerts

Kugadzirisa alert notifications yemonitor yako.

Kuisa _maziso

GET /api/v1/alerts/

Create Alert

POST /api/v1/alerts/
Parameter
monitor Anodarika Monitor ID
alert_type Anodarika Mumwe wezvinotevera zviyero: email, sms, slack, discord, webhook, pagerduty, teams
recipients Anodarika Recipient addresses or webhook URLs
alert_on_down Inogona kushandiswa Nzira yekuzivisa kana peji richibuda (default: true)
alert_on_recovery Inogona kushandiswa Nzira yekuzivisa kana nzvimbo yadzoka (yakajairika: true)

Kugadzirisa Kuzivisa

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

Delete Alert

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

Status Pages

Create uye kuchengetedza vanhu status mapeji.

Kuisa Status Pages

GET /api/v1/status-pages/

Kugadzira Status Page

POST /api/v1/status-pages/
Parameter
title Anodarika Chinyorwa chestatus page
slug Anodarika URL slug (e.g. my-status-page)
description Inogona kushandiswa Kutaura
is_public Inogona kushandiswa Kuita kuti vanhu vakwanise kuiwana (default: true)

Teams

Manage timu kuwanikwa uye kubatanidzwa.

Kuisa _mapoka

GET /api/v1/teams/

Create Team

POST /api/v1/teams/

Get Team

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

Code Mifananidzo

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

Uchigadzirira kutanga?

Sign up for free and get your API token to start integrating.

Sign Up Free Get API Token