Zum Inhalt springen

API Monitors

Basis-URL: https://api.okstatus.eu/api/v1/monitors — jede Anfrage braucht einen Header Authorization: Bearer oks_live_..., siehe Authentifizierung.

GET /api/v1/monitors?page=1&per_page=50

Liefert eine seitenweise Liste, beschränkt auf Ihre Organisation.

Antwort

{
"monitors": [
{ "id": "...", "name": "...", "url": "...", "type": "http", "interval": 60, "status": "up" }
],
"total": 12,
"page": 1,
"perPage": 50
}
POST /api/v1/monitors
Content-Type: application/json
FeldTypPflichtBeschreibung
namestring✅Name des Monitors (1–255 Zeichen)
urlstring✅Zu überwachende URL
typeenumhttp, tcp, ping, dns, grpc, llm, push, group, postgres, mysql, mongodb, smtp, imap, redis — Standard http
intervalnumberSekunden zwischen den Prüfungen, mindestens 30 — Standard 60. Die Untergrenze Ihres Tarifs gilt weiterhin (300 s bei Free, 60 s bei Pro)
regionsstring[]Regionscodes, 1–5 Stück — Standard ["fr-dc3"]. Siehe Regionen und Intervalle
acceptedStatusCodesstring[]z. B. ["200-299"] — Standard ["200-299"]
basicAuthUser / basicAuthPassstringBasic Auth, und das Zugangsdatenpaar der Monitors für Datenbanken, SMTP, IMAP und Redis. Verschlüsselt gespeichert
authConfigobjectAuthentifizierung außer Basic — siehe unten

Antwortet mit 201 und { "data": Monitor }.

authConfig trägt genau ein Verfahren, unterschieden über type (vollständige Referenz: Authentifizierung):

{ "type": "bearer", "token": "…" }
{ "type": "apikey", "in": "header", "name": "X-API-Key", "value": "…" }
{ "type": "apikey", "in": "query", "name": "api_key", "value": "…" }
{ "type": "cookie", "cookie": "session=…; csrf=…" }
{ "type": "oauth2", "tokenUrl": "https://login.example.com/token", "clientId": "…", "clientSecret": "…", "scope": "…", "audience": "…", "authStyle": "basic" }
{ "type": "mtls", "cert": "-----BEGIN CERTIFICATE-----…", "key": "-----BEGIN PRIVATE KEY-----…", "ca": "…" }

Beim Zurücklesen eines Monitors kommen das Verfahren und seine nicht geheimen Einstellungen zurück, jedes Geheimnis ersetzt durch "***". Schicken Sie diese Maskierung beim PATCH zurück, bleibt der gespeicherte Wert erhalten — genau das erlaubt es, einen Monitor per GET und anschließendem PATCH durchzureichen, ohne seine Zugangsdaten zu löschen. "authConfig": null entfernt die Authentifizierung.

GET /api/v1/monitors/:id
PATCH /api/v1/monitors/:id
DELETE /api/v1/monitors/:id

PATCH akzeptiert dieselben Felder wie das Anlegen (alle optional). DELETE antwortet mit { "data": { "deleted": true } }.

GET /api/v1/monitors/:id/checks?page=1&per_page=50
GET /api/v1/monitors/:id/uptime?range=24h

404 NOT_FOUND, wenn der Monitor in Ihrer Organisation nicht existiert; 4xx/5xx UPSTREAM_ERROR, wenn die Anfrage an die Monitoring-Engine von OKStatus selbst fehlschlägt. Gemeinsames Fehlerformat und Ratenbegrenzung: siehe Authentifizierung.

TarifMax. MonitorsKürzestes IntervallRegionen je Monitor
Free5300 s1
Pro2060 s3
Max8030 s5
EnterpriseUnbegrenzt30 s5

Die Grenzen greifen beim Anlegen: Eine Organisation, die bereits über einer gesenkten Grenze liegt, behält, was sie hat — sie kann nur nichts hinzufügen.