Dokumentacja API
REST API v1 – Dostępne w planach Enterprise
Uwierzytelnianie
Wszystkie żądania API wymagają tokenu Bearer w Authorization nagłówku. Klucze API generujesz z Ustawienia.
curl -H "Authorization: Bearer sg_live_your_key_here" \
https://siteguardian.io/api/v1/monitors
Limit żądań: 120 żądań na minutę na klucz API. Przekroczenie zwraca 429 Too Many Requests.
Format odpowiedzi
Wszystkie odpowiedzi zwracają JSON o spójnej strukturze:
// Success { "data": { ... }, "meta": { "timestamp": "2026-03-20T14:30:00+00:00" } } // Paginated { "data": [ ... ], "meta": { "total": 42, "limit": 50, "offset": 0 } } // Error { "detail": "Monitor not found." }
Endpointy
M Monitory
| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /api/v1/monitors | Lista wszystkich monitorów |
| POST | /api/v1/monitors | Utwórz monitor |
| GET | /api/v1/monitors/:id | Pobierz szczegóły monitora |
| PATCH | /api/v1/monitors/:id | Zaktualizuj ustawienia monitora |
| DELETE | /api/v1/monitors/:id | Usuń monitor |
| POST | /api/v1/monitors/:id/pause | Wstrzymaj monitorowanie |
| POST | /api/v1/monitors/:id/resume | Wznów monitorowanie |
Przykład: utworzenie monitora
curl -X POST https://siteguardian.io/api/v1/monitors \
-H "Authorization: Bearer sg_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"name": "My Website",
"check_type": "all"
}'
Przykład: aktualizacja ustawień monitora
curl -X PATCH https://siteguardian.io/api/v1/monitors/:id \
-H "Authorization: Bearer sg_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Name",
"ssl_warn_days": 14,
"rt_alert_enabled": true,
"rt_sensitivity": 2.5
}'
C Wyniki sprawdzeń
| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /api/v1/monitors/:id/checks | Lista wyników sprawdzeń (paginowana) |
| GET | /api/v1/monitors/:id/uptime | Pobierz procent dostępności |
Parametry zapytania
limit – Wyników na stronę (1-500, domyślnie 50)
offset – Pomiń N wyników (domyślnie 0)
check_type – Filtr: http, ssl, domain, email, pagespeed
days – Okres obliczania dostępności (1-365, domyślnie 30)
A Powiadomienia
| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /api/v1/alerts | Lista ostatnich alertów (paginowana) |
| GET | /api/v1/alerts/:id | Pobierz pojedynczy alert |
I Incydenty
| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /api/v1/incidents | Lista incydentów (filtr: ?status=open) |
| PATCH | /api/v1/incidents/:id/acknowledge | Potwierdź incydent |
| PATCH | /api/v1/incidents/:id/resolve | Rozwiąż incydent |
Przykład: rozwiązanie incydentu
curl -X PATCH https://siteguardian.io/api/v1/incidents/:id/resolve \
-H "Authorization: Bearer sg_live_..." \
-H "Content-Type: application/json" \
-d '{ "note": "Fixed the DNS configuration" }'
K Klucze API
| Metoda | Endpoint | Opis |
|---|---|---|
| POST | /api/v1/api-keys | Generuj nowy klucz API (zwraca klucz jednorazowo) |
| GET | /api/v1/api-keys | Lista kluczy API (tylko prefiks) |
| DELETE | /api/v1/api-keys/:id | Unieważnij klucz API |
Ważne: Pełny klucz API jest zwracany tylko raz w momencie utworzenia. Przechowuj go bezpiecznie – my przechowujemy jedynie hash.
Typy alertów
| Typ | Opis |
|---|---|
| down | Monitor nie działa (błąd HTTP lub timeout) |
| recovered | Monitor odzyskał działanie po przestoju |
| ssl_expiring | Certyfikat SSL wygasa w ramach progu |
| domain_expiring | Domena wygasa w ramach progu |
| response_time | Wykryto anomalię czasu odpowiedzi |
| email_blacklisted | IP na czarnej liście DNS |
| email_issues | Krytyczny problem ze zdrowiem poczty (SPF/DKIM/DMARC) |
Kody statusu HTTP
| Kod | Znaczenie |
|---|---|
| 200 | Sukces |
| 201 | Zasób utworzony |
| 400 | Nieprawidłowe żądanie (błędne dane) |
| 401 | Nieautoryzowane (brak lub nieprawidłowy klucz API) |
| 403 | Zabronione (osiągnięto limit planu) |
| 404 | Nie znaleziono zasobu |
| 429 | Przekroczono limit żądań |