Status-Page-API, RSS-Feeds und Status-Badge
Was Ihre Statusseite bereitstellt
Jede LoadFocus-Statusseite liefert neben der Seite für Menschen auch maschinenlesbare Endpunkte. Sie benötigen keine Authentifizierung, sind pro IP rate-limitiert und werden 30 Sekunden zwischengespeichert.
Die JSON-Endpunkte folgen dem Statuspage-Schema, der De-facto-Struktur, die die meisten Dashboards, Bots und Slack-Integrationen bereits sprechen. Wenn Sie von Atlassian Statuspage wechseln, funktionieren bestehende Integrationen nach dem Umbiegen auf den neuen Host ohne Codeänderung weiter.
Alle Pfade unten sind relativ zu Ihrer Seite: https://ihr-slug.loadfoc.us oder Ihrem eigenen Hostnamen, falls Sie eine eigene Domain eingerichtet haben.
GET /api/v2/status.json
Nur der Gesamtzustand, sonst nichts. Für ein leichtgewichtiges Polling.
{"page": {"id": "8f3c1e02-5b74-4a9d-9e21-6c0af7d3b514","name": "Acme Status","url": "https://acme.loadfoc.us","time_zone": "Etc/UTC","updated_at": "2026-08-26T14:05:00.000Z"},"status": {"indicator": "none","description": "All Systems Operational"}}
indicator ist einer von none, minor, major, critical oder maintenance.
Beachten Sie: Wenn die Seite keine frischen Daten hat, wird minor statt none gemeldet. Ein toter Worker darf über die API nie als sicheres Grün erscheinen.
GET /api/v2/summary.json
Alles, was die Seite zeigt: Gesamtstatus, alle Komponenten, ungelöste Vorfälle sowie anstehende oder laufende Wartungen.
{"page": { "id": "8f3c1e02-5b74-4a9d-9e21-6c0af7d3b514", "name": "Acme Status", "url": "https://acme.loadfoc.us", "time_zone": "Etc/UTC", "updated_at": "2026-08-26T14:05:00.000Z" },"status": { "indicator": "minor", "description": "Degraded Performance" },"components": [{"id": "api","name": "Public API","status": "degraded_performance","position": 1,"description": null,"updated_at": "2026-08-26T14:05:00.000Z"}],"incidents": [{"id": "inc_1a2b","name": "Elevated API latency","status": "identified","impact": "minor","created_at": "2026-08-26T13:40:00.000Z","updated_at": "2026-08-26T14:02:00.000Z","monitoring_at": null,"resolved_at": null,"shortlink": "https://acme.loadfoc.us/incidents/inc_1a2b","incident_updates": [{ "status": "identified", "body": "A slow query has been identified.", "created_at": "2026-08-26T14:02:00.000Z" }]}],"scheduled_maintenances": [{"id": "mnt_9x8y","name": "Database upgrade","status": "scheduled","impact": "maintenance","scheduled_for": "2026-08-28T22:00:00.000Z","scheduled_until": "2026-08-29T00:00:00.000Z","incident_updates": []}]}
components[].status ist einer von operational, degraded_performance, partial_outage, major_outage oder under_maintenance.
incidents enthält nur ungelöste Vorfälle und scheduled_maintenances nur Fenster, die noch nicht beendet sind. Beides entspricht dem Verhalten von Statuspage. Für gelöste Historie nutzen Sie die Feeds unten.
Fehlerverhalten
Beide JSON-Endpunkte antworten bei einem internen Problem mit HTTP 200 und einer leeren Struktur statt mit 5xx. Ein Consumer sollte ein leeres components-Array deshalb als "keine Daten verfügbar" behandeln, nicht als "keine Komponenten konfiguriert".
Vorfall-Feeds
Für Reader und Bots, die Feeds folgen statt zu pollen:
GET /history.rss- Vorfallhistorie als RSSGET /history.atom- dasselbe als AtomGET /feed.rss- ein Alias vonhistory.rss
Diese enthalten auch gelöste Vorfälle und sind damit die richtige Quelle für Historie.
Status-Badge
GET /badge.svg liefert ein SVG-Badge für eine README oder Doku-Seite. Ohne Parameter zeigt es den Gesamtstatus der Seite:
[](https://acme.loadfoc.us)
Mit component=<id> zeigt das Badge stattdessen eine einzelne Komponente. Die ID ist die, die /data für diese Komponente ausgibt, und metric bestimmt den Inhalt:
metric=status(Standard): Name der Komponente und ihr aktueller Status.metric=uptime: ihre Verfügbarkeit in Prozent. Mitdays=30oderdays=90; ohne Angabe gilt das Verlaufsfenster der Seite. Grün ab 99,9 %, gelb ab 99 %, darunter rot.metric=latency: ihre durchschnittliche Antwortzeit der letzten 24 Stunden. Grün unter 500 ms, gelb unter 1500 ms.logo=1: fügt links das LoadFocus-Zeichen hinzu, bei jeder der obigen Varianten.

Eine unbekannte Komponenten-ID liefert ein graues Badge mit "not found" statt eines Fehlers, sodass ein Tippfehler im Snippet nie ein kaputtes Bild zeigt. Badges werden 60 Sekunden gecacht und für passwortgeschützte oder IP-beschränkte Seiten nicht ausgeliefert.
shields.io-Stile
GET /badge.json liefert dasselbe Badge im Endpoint-Format von shields.io mit denselben Parametern, sodass jeder shields-Stil funktioniert:

Der Query-String innerhalb von url= muss URL-kodiert sein: ? als %3F, & als %26 und = als %3D.
Sichtbarkeit in Suchmaschinen
Statusseiten sind standardmäßig indexierbar. Eine in der App erstellte Seite speichert hideFromSearch: false, liefert also kein noindex, ihre robots.txt gibt Allow: / samt Sitemap:-Zeile zurück, und /sitemap.xml listet die Seite, ihre Vorfälle und ihre Wartungshistorie.
Um eine Seite vor der Suche zu verbergen, setzen Sie hideFromSearch auf true. Die Seite liefert dann <meta name="robots" content="noindex,follow">, robots.txt gibt Disallow: / zurück, /sitemap.xml antwortet mit 404, und Canonical- sowie Open-Graph-Tags werden unterdrückt, damit die Seite nicht auf sich aufmerksam macht. Im Editor gibt es dafür keine Einstellung: Setzen Sie sie über die API.
Verwandt
Migration von Atlassian Statuspage
Wenn Sie von Atlassian Statuspage wechseln, bilden zwei Endpunkte dessen Schema ab, sodass die meisten bestehenden Integrationen allein mit geänderter Host-Adresse weiterlaufen:
/api/v2/status.json- Gesamtstatus der Seite/api/v2/summary.json- Status, Komponenten, offene Vorfälle und anstehende Wartungen
LoadFocus liefert nicht die Statuspage-Endpunkte components.json oder
incidents.json. Alles, was diese zurückgeben, steckt bereits in summary.json.
Siehe auch den Vergleich der Statuspage-Alternativen.