API-Referenz¶
Die vollständige Referenz ist das OpenAPI-Schema, das die API selbst erzeugt. Es liegt im API-Container und ist über die Domain nicht erreichbar — wie du es exportierst, steht in der API-Übersicht.
Die Liste unten nennt die Endpoints, die man für Automationen am häufigsten braucht. Alle Pfade beginnen mit https://deine-domain.tld.
Kategorisierte Endpoints¶
Auth¶
POST /api/v1/auth/login—email+password(optionalremember); bei 2FA kommtpending_tokenPOST /api/v1/auth/2fa/verify— zweiter Faktor mitpending_tokenPOST /api/v1/auth/2fa/webauthn/begin— Passkey-Challenge für den LoginPOST /api/v1/auth/refresh— gültiges Access-Token gegen ein neues tauschen; endet an der absoluten Sitzungs-FristPOST /api/v1/auth/logout— beendet die Cookie-Sitzung der Web-AppGET /api/v1/auth/mePUT /api/v1/auth/preferencesPOST /api/v1/auth/change-password— meldet alle anderen Sitzungen und Tokens ab; optionalrevoke_api_tokens: truewiderruft zusätzlich alle API-/KI-Zugänge des KontosGET /api/v1/auth/step-up/status·POST /api/v1/auth/step-up— Identität für heikle Aktionen bestätigenGET /api/v1/auth/sessions·DELETE /api/v1/auth/sessions/{session_id}·POST /api/v1/auth/sessions/revoke-others(optional{"revoke_api_tokens": true})GET /api/v1/auth/sso/providers·GET /api/v1/auth/sso/{provider_id}/start— SSO-Anmeldung (OIDC, Vorschau-Funktion)
Heikle Aktionen antworten mit 403 und {"detail": {"code": "STEP_UP_REQUIRED", …}}, bis die Identität frisch bestätigt wurde (siehe Auth-Flow). Objekte fremder Tenants antworten mit 404, nie mit 403.
Collector-API-Keys (POST /api/v1/collectors/{collector_id}/regenerate-key) und Agent-Tokens (POST /api/v1/hosts/{host_id}/agent-token) sind eigene Auth-Mechanismen für Collectors/Agents — keine Benutzer-Anmeldung, siehe Auth-Flow.
Benutzer, Rollen, Teams, Tenants¶
GET/POST /api/v1/users/·PATCH/DELETE /api/v1/users/{user_id}GET/PUT /api/v1/users/{user_id}/access— Tenant-Zugriff und Rolle je TenantPOST /api/v1/users/{user_id}/password·POST /api/v1/users/{user_id}/2fa/resetGET/POST /api/v1/roles/·GET/PATCH/DELETE /api/v1/roles/{role_id}·GET /api/v1/roles/permissionsGET/POST /api/v1/teams/·GET/PATCH/DELETE /api/v1/teams/{team_id}GET/POST /api/v1/tenant-groups/·PATCH/DELETE /api/v1/tenant-groups/{group_id}·PUT /api/v1/tenant-groups/membershipGET/POST /api/v1/tenants/·PATCH/DELETE /api/v1/tenants/{tenant_id}
Hosts und Checks¶
GET /api/v1/hosts/—limit(max. 500),offset,tenant_id,include_inactive; Gesamtzahl inX-Total-CountPOST /api/v1/hosts/search— Filter-Abfrage (Profile, Tenants, Status, Hostname-Regex, Suchtext …)POST /api/v1/hosts/GET /api/v1/hosts/{host_id}PATCH /api/v1/hosts/{host_id}DELETE /api/v1/hosts/{host_id}— in den PapierkorbPOST /api/v1/hosts/{host_id}/agent-tokenGET /api/v1/host-services/·POST /api/v1/host-services/GET/PATCH/DELETE /api/v1/host-services/{host_service_id}POST /api/v1/host-services/{host_service_id}/check-nowPOST /api/v1/host-services/bulk-update·POST /api/v1/host-services/bulk-delete
Status und Bestätigen (ACK)¶
GET /api/v1/status/summary·GET /api/v1/status/errors·GET /api/v1/status/host/{host_id}POST /api/v1/status/acknowledge/{service_id}·DELETE /api/v1/status/acknowledge/{service_id}POST /api/v1/status/bulk-acknowledge·POST /api/v1/status/bulk-unacknowledgeGET /api/v1/acknowledgements/— Liste der BestätigungenGET /api/v1/history/{service_id}— Verlauf eines Checks
Profile¶
GET /api/v1/profiles/POST /api/v1/profiles/GET /api/v1/profiles/{profile_id}PUT /api/v1/profiles/{profile_id}DELETE /api/v1/profiles/{profile_id}GET /api/v1/profiles/{profile_id}/checks·POST /api/v1/profiles/{profile_id}/checksGET /api/v1/profiles/{profile_id}/usagePOST /api/v1/profiles/{profile_id}/cloneGET /api/v1/profiles/{profile_id}/export— Profil als Bundle (inkl. referenzierter Scripts)POST /api/v1/profiles/import— Bundle importierenPOST /api/v1/profiles/{profile_id}/applyGET /api/v1/community/browse— Vesana-Bibliothek durchsuchenGET /api/v1/community/profile/{community_id}— DetailPOST /api/v1/community/import— Profil aus der Bibliothek installierenGET /api/v1/community/updates— Update-Check für installierte ProfileGET /api/v1/community/update/{profile_id}/preview— Diff-VorschauPOST /api/v1/community/update/{profile_id}— Update übernehmen (Super-Admin)
Discovery + SNMP¶
POST /api/v1/discovery/network-scanGET /api/v1/discovery/scans·GET /api/v1/discovery/scans/{scan_id}GET /api/v1/discovery/resultsPOST /api/v1/discovery/results/{result_id}/addPOST /api/v1/discovery/results/bulk-addPOST /api/v1/discovery/snmp-walkGET /api/v1/discovery/snmp-walk/{walk_id}POST /api/v1/discovery/snmp-walk/{walk_id}/apply
Alert-Regeln + Kanäle¶
GET /api/v1/alert-rules/·POST /api/v1/alert-rules/GET/PATCH/DELETE /api/v1/alert-rules/{rule_id}POST /api/v1/alert-rules/{rule_id}/testPOST /api/v1/alert-rules/probe-alert— Probealarm durch die echte KetteGET /api/v1/notifications/·POST /api/v1/notifications/— BenachrichtigungskanäleGET/PATCH/DELETE /api/v1/notifications/{channel_id}POST /api/v1/notifications/{channel_id}/testGET /api/v1/notifications/log— Versandprotokoll
Die Listen unter /alert-rules/ und /notifications/ nehmen q, limit, offset und liefern X-Total-Count.
Wartungsfenster¶
GET /api/v1/downtimes/POST /api/v1/downtimes/— für einen Host, mehrere Hosts (host_ids) oder einen Check (service_id)POST /api/v1/downtimes/bulk— mehrere Checks auf einmalPATCH /api/v1/downtimes/{downtime_id}DELETE /api/v1/downtimes/{downtime_id}·DELETE /api/v1/downtimes/batch/{batch_id}
Logs¶
POST /api/v1/logs/searchGET /api/v1/logs/stream— SSEGET/POST /api/v1/logs/sources·PATCH/DELETE /api/v1/logs/sources/{source_id}
Log-Alert-Regeln gibt es nicht mehr (weder UI noch API) — Log-Alarme laufen über Eventlog-/Script-Checks und normale Alert-Regeln.
Dashboards¶
GET /api/v1/dashboards/·POST /api/v1/dashboards/GET/PUT/PATCH/DELETE /api/v1/dashboards/{dashboard_id}POST /api/v1/dashboards/{dashboard_id}/duplicateGET /api/v1/dashboards/{dashboard_id}/versions·POST /api/v1/dashboards/{dashboard_id}/restore/{version}
Berichte und SLA (Vorschau-Funktion „Reports (PDF + SLA)")¶
GET /api/v1/sla/services/{service_id}/slaGET /api/v1/sla/tenants/{tenant_id}/sla-report—start,end(ISO-Zeitpunkte; Standard: letzte 30 Tage)POST /api/v1/reports/generate·POST /api/v1/reports/previewGET/POST /api/v1/reports/schedules
Wiki (Vorschau-Funktion) + KI¶
GET /api/v1/wiki/articles·POST /api/v1/wiki/articlesGET /api/v1/wiki/search?q=...POST /api/v1/ai/chatPOST /api/v1/ai/chat/stream— SSEPOST /api/v1/ai/analyze/{service_id}GET /api/v1/ai/statusGET/PUT /api/v1/ai/configGET /api/v1/ai/modelsPOST /api/v1/ai/models/pullPOST /api/v1/ai/models/deletePOST /api/v1/ai/test-connectionGET /api/v1/ai/conversations·GET/PATCH/DELETE /api/v1/ai/conversations/{conversation_id}
Administration¶
GET /api/v1/admin/backups·POST /api/v1/admin/backups·POST /api/v1/admin/backups/{backup_id}/restoreGET /api/v1/admin/health/snapshotGET /api/v1/admin/licence·GET /api/v1/admin/licence/statusGET /api/v1/admin/preview-features·PUT /api/v1/admin/preview-features/{key}
Im Split-Container-Modus sind die Endpoints der Administration (die meisten unter /api/v1/admin/…, dazu Rollen, Teams und Änderungen an Benutzern) nur über den Admin-Host erreichbar; auf dem Benutzer-Host antworten sie mit 404 und ADMIN_HOST_REQUIRED.
Audit-Log + Papierkorb¶
GET /api/v1/audit/— Filteraction,target_type,target_id,host_id,actor_email,search,category,created_from,created_to;limit(max. 500),offsetGET /api/v1/trash/summaryGET /api/v1/trash/{trash_type}POST /api/v1/trash/{trash_type}/{item_id}/restoreDELETE /api/v1/trash/{trash_type}/{item_id}— endgültig löschen
Push (Web Push)¶
GET /api/v1/push/vapid-public-keyPOST /api/v1/push/subscriptions— Browser-Abo des angemeldeten Benutzers anlegenGET /api/v1/push/subscriptions/mine·PATCH/DELETE /api/v1/push/subscriptions/mine/{abo_id}POST /api/v1/push/test
Die frühere native App und ihre push-tokens-Endpunkte sind entfernt.
Weitere¶
GET /api/v1/jump/search?q=— Schnellsuche (respektiert Tenant und Berechtigungen)GET/POST /api/v1/credential-sets/·PATCH/DELETE /api/v1/credential-sets/{set_id}— Zugangsdaten-Sets (Geheimnisse kommen nie zurück)POST /api/v1/scripts/declaration·POST /api/v1/scripts/resolve·GET /api/v1/scripts/{script_id}/usage
Agent und Collector¶
Diese Wege benutzen Agent-Token bzw. Collector-Key, nicht das Benutzer-Token:
POST /receiver/api/v1/results— Check-Ergebnisse einliefern (X-API-KeyoderX-Agent-Token)POST /receiver/api/v1/logs/ingest— Log-EinlieferungPOST /api/v1/agent/heartbeat·GET /api/v1/agent/configGET /api/v1/config/collector/{collector_id}
Antwort-Codes¶
| Code | Bedeutung |
|---|---|
| 200 / 201 / 202 / 204 | Erfolg |
| 400 | Fehlerhafte Anfrage |
| 401 | Nicht angemeldet oder Token abgelaufen/widerrufen |
| 403 | Angemeldet, aber keine Berechtigung — oder STEP_UP_REQUIRED |
| 404 | Ressource nicht gefunden / nicht in deinem Tenant-Scope / Vorschau-Funktion nicht freigeschaltet |
| 409 | Konflikt (z. B. doppelter Hostname) |
| 422 | Validierung gescheitert (Detail im Body) |
| 429 | Rate-Limit |
| 500 | Server-Fehler |
| 503 | Dienst nicht verfügbar (z. B. Ersteinrichtung noch nicht abgeschlossen) |