API-Dokumentation

Integrieren Sie StatusHive in Ihren Workflow. Verwalten Sie Monitore, Vorfälle und Statusseiten programmatisch.

Authentifizierung

Alle API-Anfragen erfordern ein Supabase-Zugriffstoken. Melden Sie sich an, um Ihr Token zu erhalten, und übergeben Sie es dann im Authorization-Header.

# 1. Zugriffstoken erhalten curl https://statushive.app/auth/v1/token?grant_type=password \ -H "apikey: YOUR_ANON_KEY" \ -d '{"email":"you@example.com","password":"..."}' # 2. In API-Anfragen verwenden curl https://statushive.app/api/monitors \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Monitore

get/api/monitors

Alle Ihre Monitore auflisten. Unterstützt Filterung nach aktivem Status und Paginierung.

# Response { "monitors": [...], "total": 12 }
post/api/monitors

Einen neuen Verfügbarkeitsmonitor erstellen. URL muss öffentlich HTTP/HTTPS sein.

# Request body { "name": "My Site", "url": "https://example.com", "interval_seconds": 60 }
# Response { "monitor": { "id": "...", "name": "My Site", ... } }
get/api/monitors/:id

Einen einzelnen Monitor mit 30-Tage-Verfügbarkeitsstatistiken und durchschnittlicher Antwortzeit abrufen.

# Response { "monitor": {...}, "stats": { "uptime_30d": "99.95", "avg_response_ms": 245 } }
put/api/monitors/:id

Die Konfiguration eines Monitors aktualisieren (Name, URL, Methode, Intervall usw.).

# Request body { "name": "My Site", "url": "https://example.com", "method": "GET", "active": true }
delete/api/monitors/:id

Einen Monitor und alle seine Daten dauerhaft löschen.

# Response { "deleted": true }
get/api/monitors/:id/heartbeats

Aktuelle Prüfergebnisse für einen Monitor abrufen.

# Response { "heartbeats": [{ "status": 1, "response_time": 234, "status_code": 200, ... }] }

Vorfälle

get/api/incidents

Alle Ihre Vorfälle auflisten. Nach Status filtern, mit Paginierung.

# Response { "incidents": [...], "total": 5 }
post/api/incidents

Einen neuen Vorfall erstellen. Optional mit einer ersten Statusmeldung.

# Request body { "title": "API Outage", "severity": "major", "status": "investigating", "message": "Looking into it" }
get/api/incidents/:id

Einen einzelnen Vorfall mit allen Statusaktualisierungen abrufen.

# Response { "incident": { ..., "incident_updates": [...] } }
put/api/incidents/:id

Status oder Schweregrad eines Vorfalls aktualisieren. Das Setzen des Status auf 'resolved' setzt automatisch resolved_at.

# Request body { "status": "resolved" }
delete/api/incidents/:id

Einen Vorfall und alle seine Aktualisierungen dauerhaft löschen.

# Response { "deleted": true }
post/api/incidents/:id/updates

Eine Statusaktualisierung zu einem Vorfall hinzufügen. Aktualisiert auch den Status des übergeordneten Vorfalls.

# Request body { "status": "monitoring", "message": "Fix deployed, monitoring." }

Statusseiten

get/api/status-pages

Alle Ihre Statusseiten auflisten.

# Response { "status_pages": [...] }
post/api/status-pages

Eine neue Statusseite erstellen. Optional Monitore per ID verknüpfen.

# Request body { "name": "My Status", "slug": "my-status", "monitor_ids": ["id1", "id2"] }
get/api/status-pages/:id

Eine Statusseite mit ihren verknüpften Monitoren abrufen.

# Response { "status_page": {...}, "monitors": [...] }
put/api/status-pages/:id

Die Einstellungen oder verknüpften Monitore einer Statusseite aktualisieren.

# Request body { "name": "Updated Name", "is_public": true }
delete/api/status-pages/:id

Eine Statusseite dauerhaft löschen.

# Response { "deleted": true }

Fehlercodes

Alle Fehler geben ein JSON-Objekt mit einem \"error\"-Feld zurück.

CodeBedeutung
400Ungültige Anfrage — ungültige oder fehlende Parameter
401Nicht autorisiert — fehlendes oder ungültiges Token
403Verboten — Tariflimit erreicht oder Ressource gehört nicht Ihnen
404Nicht gefunden
409Konflikt — Slug bereits vergeben
500Interner Serverfehler

Tariflimits

FunktionFreeProPro
Monitore1050200
Prüfintervall3 min1 min30 sec
Statusseiten15Unbegrenzt
Verlaufsaufbewahrung7 Tage90 Tage365 Tage

KI-Agenten können unsere maschinenlesbare API-Referenz abrufen unter /llms.txt