API-Dokumentation
REST API v1 – Verfügbar im Enterprise-Tarif
Authentifizierung
Alle API-Anfragen erfordern ein Bearer-Token im Authorization Header. Generieren Sie API-Schlüssel unter Einstellungen.
curl -H "Authorization: Bearer sg_live_your_key_here" \
https://siteguardian.io/api/v1/monitors
Rate-Limit: 120 Anfragen pro Minute pro API-Schlüssel. Überschreitung gibt zurück: 429 Too Many Requests.
Antwortformat
Alle Antworten geben JSON mit einer einheitlichen Struktur zurück:
// 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." }
Endpunkte
M Monitore
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| GET | /api/v1/monitors | Alle Monitore auflisten |
| POST | /api/v1/monitors | Einen Monitor erstellen |
| GET | /api/v1/monitors/:id | Monitor-Details abrufen |
| PATCH | /api/v1/monitors/:id | Monitor-Einstellungen aktualisieren |
| DELETE | /api/v1/monitors/:id | Monitor löschen |
| POST | /api/v1/monitors/:id/pause | Überwachung pausieren |
| POST | /api/v1/monitors/:id/resume | Überwachung fortsetzen |
Beispiel: Einen Monitor erstellen
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"
}'
Beispiel: Monitor-Einstellungen aktualisieren
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 Prüfergebnisse
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| GET | /api/v1/monitors/:id/checks | Prüfergebnisse auflisten (paginiert) |
| GET | /api/v1/monitors/:id/uptime | Verfügbarkeit in Prozent abrufen |
Abfrageparameter
limit – Ergebnisse pro Seite (1–500, Standard 50)
offset – N Ergebnisse überspringen (Standard 0)
check_type – Filter: http, ssl, domain, email, pagespeed
days – Verfügbarkeits-Berechnungszeitraum (1–365, Standard 30)
A Alarme
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| GET | /api/v1/alerts | Aktuelle Alarme auflisten (paginiert) |
| GET | /api/v1/alerts/:id | Einzelnen Alarm abrufen |
I Vorfälle
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| GET | /api/v1/incidents | Vorfälle auflisten (Filter: ?status=open) |
| PATCH | /api/v1/incidents/:id/acknowledge | Vorfall bestätigen |
| PATCH | /api/v1/incidents/:id/resolve | Vorfall lösen |
Beispiel: Einen Vorfall lösen
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 API-Schlüssel
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| POST | /api/v1/api-keys | Neuen API-Schlüssel generieren (wird nur einmal angezeigt) |
| GET | /api/v1/api-keys | API-Schlüssel auflisten (nur Präfix) |
| DELETE | /api/v1/api-keys/:id | API-Schlüssel widerrufen |
Wichtig: Der vollständige API-Schlüssel wird nur einmalig bei der Erstellung angezeigt. Speichern Sie ihn sicher – wir speichern nur einen Hash.
Alarmtypen
| Typ | Beschreibung |
|---|---|
| down | Monitor ist ausgefallen (HTTP-Fehler oder Zeitüberschreitung) |
| recovered | Monitor hat sich von Ausfall erholt |
| ssl_expiring | SSL-Zertifikat läuft innerhalb des Schwellenwerts ab |
| domain_expiring | Domain läuft innerhalb des Schwellenwerts ab |
| response_time | Antwortzeit-Anomalie erkannt |
| email_blacklisted | IP auf DNS-Blacklist gelistet |
| email_issues | Kritisches E-Mail-Zustandsproblem (SPF/DKIM/DMARC) |
HTTP-Statuscodes
| Code | Bedeutung |
|---|---|
| 200 | Erfolg |
| 201 | Ressource erstellt |
| 400 | Ungültige Anfrage (ungültige Eingabe) |
| 401 | Nicht autorisiert (fehlender oder ungültiger API-Schlüssel) |
| 403 | Verboten (Tariflimit erreicht) |
| 404 | Ressource nicht gefunden |
| 429 | Rate-Limit überschritten |