एपीआई प्रलेखन

Integrate EstaCaido with your applications

शुरुआत करें

EstaCaido API से आप अपने कोड से मॉनिटर प्रबंधित कर सकते हैं, घटनाएं देख सकते हैं, अलर्ट कॉन्फ़िगर कर सकते हैं और बहुत कुछ। सभी API एंडपॉइंट अनुरोध और प्रतिक्रिया के लिए JSON का उपयोग करते हैं।

बेस URL

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

दर सीमाएं

प्रत्येक API टोकन प्रति मिनट अधिकतम 100 अनुरोध कर सकता है। इससे अधिक अनुरोधों पर 429 Too Many Requests प्रतिक्रिया मिलती है।

प्रमाणीकरण

सभी API अनुरोधों के लिए टोकन आधारित प्रमाणीकरण का उपयोग करें। अपना टोकन Authorization हेडर में शामिल करें।

प्रमाणीकरण टोकन प्राप्त करें

POST /api/v1/auth/token/
अनुरोध
curl -X POST https://www.estacaido.com/api/v1/auth/token/ \
  -H "Content-Type: application/json" \
  -d '{"username": "your@email.com", "password": "yourpassword"}'
प्रतिक्रिया
{
  "token": "your-api-token-here"
}

टोकन को Authorization हेडर में उपयोग करें

Authorization: Token your-api-token-here

मॉनिटर

अपने वेबसाइट मॉनिटर प्रबंधित करें।

मॉनिटर की सूची

GET /api/v1/monitors/
प्रतिक्रिया
[
  {
    "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"
  }
]

मॉनिटर बनाएँ

POST /api/v1/monitors/
पैरामीटर
name आवश्यक मॉनिटर का नाम
domain आवश्यक मॉनिटर करने के लिए डोमेन, उदाहरण के लिए example.com
check_interval वैकल्पिक जाँच अंतराल सेकंड में, इनमें से एक: 30, 60, 300, 600, 900, 1800, 3600। डिफ़ॉल्ट: 300
check_type वैकल्पिक इनमें से एक मान: http, https, ping। डिफ़ॉल्ट: https

मॉनिटर प्राप्त करें

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

मॉनिटर अपडेट करें

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

मॉनिटर हटाएं

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

मॉनिटर रोकें

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

मॉनिटर फिर शुरू करें

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

मॉनिटर के आंकड़े प्राप्त करें

GET /api/v1/monitors/{id}/statistics/
पैरामीटर
days वैकल्पिक शामिल किए जाने वाले दिनों की संख्या। डिफ़ॉल्ट: 30

घटनाएं

डाउनटाइम घटनाएं और उनका इतिहास देखें।

घटनाओं की सूची

GET /api/v1/incidents/
पैरामीटर
status वैकल्पिक स्थिति से फ़िल्टर करें: ongoing, resolved
monitor वैकल्पिक मॉनिटर ID से फ़िल्टर करें

घटना प्राप्त करें

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

अलर्ट

अपने मॉनिटर के लिए अलर्ट सूचनाएं कॉन्फ़िगर करें।

अलर्ट की सूची

GET /api/v1/alerts/

अलर्ट बनाएं

POST /api/v1/alerts/
पैरामीटर
monitor आवश्यक मॉनिटर ID
alert_type आवश्यक इनमें से एक मान: email, sms, slack, discord, webhook, pagerduty, teams
recipients आवश्यक प्राप्तकर्ता पते या वेबहुक URL
alert_on_down वैकल्पिक साइट डाउन होने पर सूचित करें (डिफ़ॉल्ट: true)
alert_on_recovery वैकल्पिक साइट के ठीक होने पर सूचित करें (डिफ़ॉल्ट: true)

अलर्ट अपडेट करें

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

अलर्ट हटाएं

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

स्टेटस पेज

सार्वजनिक स्टेटस पेज बनाएं और प्रबंधित करें।

स्टेटस पेज की सूची

GET /api/v1/status-pages/

स्टेटस पेज बनाएं

POST /api/v1/status-pages/
पैरामीटर
title आवश्यक स्टेटस पेज का शीर्षक
slug आवश्यक URL स्लग (जैसे my-status-page)
description वैकल्पिक विवरण का पाठ
is_public वैकल्पिक सार्वजनिक रूप से उपलब्ध कराएं (डिफ़ॉल्ट: true)

टीमें

टीम की पहुंच और सहयोग प्रबंधित करें।

टीमों की सूची

GET /api/v1/teams/

टीम बनाएं

POST /api/v1/teams/

टीम प्राप्त करें

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

कोड उदाहरण

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

शुरू करने के लिए तैयार हैं?

मुफ़्त में साइन अप करें और इंटीग्रेशन शुरू करने के लिए अपना API टोकन पाएं।

निशुल्क साइन अप करें API टोकन प्राप्त करें