Zum Hauptinhalt springen

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/monitorsAlle Monitore auflisten
POST/api/v1/monitorsEinen Monitor erstellen
GET/api/v1/monitors/:idMonitor-Details abrufen
PATCH/api/v1/monitors/:idMonitor-Einstellungen aktualisieren
DELETE/api/v1/monitors/:idMonitor 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/checksPrüfergebnisse auflisten (paginiert)
GET/api/v1/monitors/:id/uptimeVerfü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/alertsAktuelle Alarme auflisten (paginiert)
GET/api/v1/alerts/:idEinzelnen Alarm abrufen

I Vorfälle

Methode Endpunkt Beschreibung
GET/api/v1/incidentsVorfälle auflisten (Filter: ?status=open)
PATCH/api/v1/incidents/:id/acknowledgeVorfall bestätigen
PATCH/api/v1/incidents/:id/resolveVorfall 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-keysNeuen API-Schlüssel generieren (wird nur einmal angezeigt)
GET/api/v1/api-keysAPI-Schlüssel auflisten (nur Präfix)
DELETE/api/v1/api-keys/:idAPI-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
downMonitor ist ausgefallen (HTTP-Fehler oder Zeitüberschreitung)
recoveredMonitor hat sich von Ausfall erholt
ssl_expiringSSL-Zertifikat läuft innerhalb des Schwellenwerts ab
domain_expiringDomain läuft innerhalb des Schwellenwerts ab
response_timeAntwortzeit-Anomalie erkannt
email_blacklistedIP auf DNS-Blacklist gelistet
email_issuesKritisches E-Mail-Zustandsproblem (SPF/DKIM/DMARC)

HTTP-Statuscodes

Code Bedeutung
200Erfolg
201Ressource erstellt
400Ungültige Anfrage (ungültige Eingabe)
401Nicht autorisiert (fehlender oder ungültiger API-Schlüssel)
403Verboten (Tariflimit erreicht)
404Ressource nicht gefunden
429Rate-Limit überschritten