API
API-Schlüssel sind da. Sie legen sie in der App unter Integrationen, API-Schlüssel an (das dürfen nur Owner und Admin) und schicken sie als Bearer-Token mit:
Authorization: Bearer pst_...Ein Schlüssel gehört zu genau einer Organisation, und er bringt seine Geltungsbereiche
mit: monitors, incidents, status-pages und webhooks, jeweils als :read oder
:write, dazu org:read. Wer schreiben darf, darf dieselbe Ressource auch lesen. Enger
geht immer: Sie begrenzen einen Schlüssel auf ausgewählte Projekte oder auf einzelne
Monitore. Widerruf und Ablauf greifen bei der nächsten Anfrage, nicht erst, wenn irgendein
Zwischenspeicher abgelaufen ist.
Schlüssel können keine Schlüssel verwalten. Die Endpunkte dafür verlangen von Haus aus eine Browser-Sitzung. Ein abhandengekommener Schlüssel liest also, was seine Geltungsbereiche hergeben, und stellt sich niemals selbst einen Nachfolger aus.
Wo ein Schlüssel heute schon gilt
Abschnitt betitelt „Wo ein Schlüssel heute schon gilt“Die Authentifizierung per Schlüssel ist auf sieben lesenden Endpunkten aktiv:
| Endpunkt | was zurückkommt |
|---|---|
| Monitore eines Projekts | die Liste mit Zustand, Typ, Intervall, Regionen |
| ein einzelner Monitor | die Detailansicht, wie das Cockpit sie zeigt |
| Checks eines Monitors | die rohen Checkergebnisse dahinter |
| Zeitreihe eines Monitors | die Antwortzeiten über einen Zeitraum |
| Incidents eines Monitors | die Incidents an diesem Monitor |
| Incidents einer Organisation | die Liste |
| ein einzelner Incident | die Detailansicht samt Zeitleiste |
Welcher Geltungsbereich was freischaltet
Abschnitt betitelt „Welcher Geltungsbereich was freischaltet“Nicht jeder Geltungsbereich wird schon ausgewertet. Einen auszuwählen, der es nicht wird, ändert nichts, deshalb sagt diese Tabelle klar, wo jeder heute wirkt:
| Geltungsbereich | REST mit API-Schlüssel | MCP |
|---|---|---|
monitors:read |
4 Endpunkte | Lesewerkzeuge gemäß verbundenem tools/list |
monitors:write |
noch nicht ausgewertet | Schreibwerkzeuge, zusätzlich gegen die aktuelle Rolle geprüft |
incidents:read |
3 Endpunkte | Lesewerkzeuge gemäß verbundenem tools/list |
incidents:write |
noch nicht ausgewertet | Bestätigen und Beenden, wenn autorisiert |
status-pages:read |
noch nicht ausgewertet | ein Lesewerkzeug, wenn tools/list es anbietet |
status-pages:write |
reserviert | reserviert |
webhooks:read |
reserviert | reserviert |
webhooks:write |
reserviert | reserviert |
org:read |
reserviert | reserviert |
Reserviert heißt: der Geltungsbereich existiert und lässt sich auswählen, aber nichts prüft ihn bisher. Ein Schlüssel, der nur reservierte Bereiche trägt, kann gar nichts. Wir führen sie hier auf, statt sie zu verstecken, denn eine Auswahl, die mehr anbietet als das Produkt einlöst, ist schlimmer als eine kurze Liste.
Der Katalog hier ist bewusst auf diese sieben per API-Schlüssel erreichbaren Endpunkte begrenzt. Der kuratierte öffentliche OpenAPI-Vertrag kann daneben sitzungsgebundene Vorgänge beschreiben, ist aber kein Verzeichnis jeder internen Route. Derselbe Vertrag ist maschinenlesbar unter https://api.perstat.io/openapi.json.
Funktionsbereiche, die noch nicht veröffentlicht sind, etwa mehrstufige Checks, bleiben draußen, bis sie ausgeliefert sind.