SWISS POST GROUP · SOUVERÄN KONZIPIERT
AI Matrix
Plattform
Lösungen
Wechsel zu OS
Ressourcen
Partner
Unternehmen
Entwickler · Public API

Bauen Sie auf der Plattform. Jede Funktion ist über einen Endpoint verfügbar.

Eine versionierte REST-API über alle drei Module, Platform, Intelligence und Mission Control. Provisionieren Sie Standorte, schreiben Sie Zero-Trust-Policy, fragen Sie Lucy, steuern Sie Incidents, streamen Sie Events. Self-Service, vollständig dokumentiert, keine Blackbox.

Base URL
https://api.open-systems.com/v1
Auth
Authorization: Bearer <token>
CLI installieren
brew install open-systems/tap/os
Referenz

Überblick

Die Open-Systems-API ist eine ressourcenorientierte REST-API. Sie nutzt vorhersehbare URLs im Plural, akzeptiert und liefert JSON, authentifiziert mit Bearer-Token und verwendet Standard-HTTP-Verben und -Status-Codes. Jede Produktfähigkeit, die Sie im Portal steuern können, ist hier verfügbar, und unsere eigenen KI-Agents und Partner nutzen genau dieselbe API.

Auf einen Blick
Protokoll
nur HTTPS · TLS 1.3 · JSON-Request- & -Response-Bodies
Base URL
https://api.open-systems.com/v1 · EU-Region: https://eu.api.open-systems.com/v1
Versionierung
URI-versioniert (/v1) · Breaking Changes werden als neue Major-Version veröffentlicht
Spec
OpenAPI 3.1, maschinenlesbar unter /v1/openapi.json
Formate
application/json · Zeitstempel in RFC 3339 / ISO 8601 UTC
Erste Schritte

Authentifizierung

Authentifizieren Sie jede Anfrage mit einem Bearer-Token. Verwenden Sie langlebige API-Keys für Back-End-Integrationen oder den OAuth-2.0-Client-Credentials-Flow für Machine-to-Machine-Zugriff mit kurzlebigen Tokens und Berechtigungen mit definiertem Scope.

POST/oauth/tokenClient Credentials gegen ein Access-Token austauschen

Request

# client-credentials grant curl -X POST https://api.open-systems.com/v1/oauth/token \ -d "grant_type=client_credentials" \ -d "client_id=$OS_CLIENT_ID" \ -d "client_secret=$OS_CLIENT_SECRET" \ -d "scope=platform:write intelligence:read"

Response · 200

{ "access_token": "os_at_9f3c…", "token_type": "Bearer", "expires_in": 3600, "scope": "platform:write intelligence:read" }
Scopes
Platform
platform:readplatform:write
Intelligence
intelligence:readintelligence:invoke
Mission Control
mc:readmc:write
Events
events:readwebhooks:manage
Erste Schritte

Konventionen

Konsistente Regeln über jede Ressource: Cursor-Pagination, Idempotenz für Schreibvorgänge, Rate-Limits in den Headern und standardisierte Fehlerobjekte.

Regeln
Pagination
Cursor-basiert, ?limit=50&cursor=…; die Response trägt next_cursor
Idempotenz
Idempotency-Key auf POST senden, um sicher zu wiederholen
Rate-Limits
X-RateLimit-Limit · X-RateLimit-Remaining · Retry-After bei 429
Filterung
Query-Parameter, z. B. ?status=active&region=eu-central
Fehler
JSON-Envelope mit error.code, error.message, request_id
Platform-API · Modul 01

Standorte

Standorte sind die Ränder Ihres Netzes, Niederlassungen, Rechenzentren und Clouds. Provisionieren, konfigurieren und nehmen Sie sie programmatisch ausser Betrieb; alles, was früher eine Appliance tat, als API-Objekt.

GET/sitesAlle Standorte auflisten

Request

curl https://api.open-systems.com/v1/sites \ -H "Authorization: Bearer $TOKEN"

Response · 200

{ "data": [{ "id": "site_DE04", "name": "berlin-04", "region": "eu-central", "status": "active", "ztna": true }], "next_cursor": null }
POST/sitesEinen neuen Standort provisionieren

Body-Parameter

nameerforderlichstring
regionerforderlichstring
ztnaboolean
bandwidth_mbpsinteger
haboolean

Request

curl -X POST …/v1/sites \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name": "berlin-04", "region": "eu-central", "ztna": true, "ha": true }'
DELETE/sites/{id}Einen Standort ausmustern
Platform-API · Modul 01

Tunnel & Konnektivität

Verwalten Sie verschlüsselte Overlays zwischen Standorten, Clouds und dem globalen Backbone. Tunnel sind anwendungsbasiert und selbstheilend.

POST/tunnelsEinen verschlüsselten Tunnel erstellen

Body-Parameter

fromerforderlichsite_id
toerforderlichsite_id
protocolipsec | wireguard
routingbgp | static

Response · 201

{ "id": "tun_8821", "protocol": "wireguard", "state": "up", "mtu": 1420 }
Platform-API · Modul 01

Policies · ZTNA

Zero-Trust-Zugriff als Code. Wenden Sie deklarative Policy aus YAML/JSON oder Ihrer CI-Pipeline an; Lucy validiert und markiert überschriebene oder widersprüchliche Regeln, bevor sie live gehen.

PUT/policies/{name}Eine Policy erstellen oder ersetzen (idempotent)

Request

curl -X PUT …/v1/policies/zero-trust \ -H "Authorization: Bearer $TOKEN" \ -H "Idempotency-Key: 4f1a…" \ --data-binary @zero-trust.json

Response · 200

{ "name": "zero-trust", "revision": 2291, "rules": 142, "conflicts": 0, "validated_by": "lucy" }
POST/policies/{name}/rollbackSofort auf eine frühere Revision zurückrollen
Platform-API · Modul 01

Web-Sicherheit · SWG / CASB DLP auf der Roadmap

Verwalten Sie Inline-Inspektion und Cloud-App-Kontrollen programmatisch über jeden Nutzer und Standort. DLP-Endpoints sind auf der Roadmap.

GET/web/categoriesURL- / App-Kategorien auflisten
POST/dlp/rulesEine Data-Loss-Prevention-Regel erstellen

Body-Parameter

classifiererforderlichpattern | fingerprint | ml
actionlog | block | quarantine
channelsarray<string>

Response · 201

{ "id": "dlp_4410", "classifier": "ml", "action": "block", "enabled": true }
Intelligence-API · Modul 02

Copilot

Fragen Sie die Plattform in natürlicher Sprache. Der Copilot-Endpoint beantwortet Betriebs- und Sicherheitsfragen mit fundiertem Kontext aus 35 Jahren Betriebsdaten und kann strukturierte Aktionen zur Freigabe zurückgeben.

POST/intelligence/copilot/queryEine Frage stellen, eine fundierte Antwort erhalten

Request

curl -X POST …/v1/intelligence/copilot/query \ -H "Authorization: Bearer $TOKEN" \ -d '{ "prompt": "Why is latency high to site berlin-04?" }'

Response · 200

{ "answer": "BGP flap on upstream…", "confidence": 0.91, "citations": ["evt_77…"], "suggested_action": { "type": "reroute", "requires_approval": true } }
Intelligence-API · Modul 02

Agents

Autonome Agents führen mehrstufige Operationen innerhalb von Human-in-the-loop-Freigabegrenzen aus. Starten Sie einen Run, prüfen Sie jeden Schritt, geben Sie gegatete Aktionen frei.

POST/intelligence/agents/runsEinen Agent-Run starten

Body-Parameter

taskerforderlichstring
scopesite_id | global
autonomypropose | act_with_approval

Response · 202

{ "run_id": "run_5d2a", "state": "running", "replicates": "L3-workflow" }
POST/intelligence/agents/runs/{id}/approveEine gegatete (HITL) Aktion freigeben
Intelligence-API · Modul 02

Untersuchungen

Automatisierte Root-Cause-Untersuchungen, abgebildet auf MITRE ATT&CK und Ihre historischen Baselines.

GET/intelligence/investigations/{id}Eine Untersuchung & ihre Belege abrufen
Mission-Control-API · Modul 03

Incidents

Steuern Sie die menschlich abgesicherte Ebene programmatisch. Erstellen Sie Incidents, verfolgen Sie die Level-3-Verantwortung und lesen Sie expertengeführte Lösungs-Timelines.

POST/mc/incidentsEinen Incident an Mission Control melden

Body-Parameter

severityerforderlichsev1 | sev2 | sev3
summaryerforderlichstring
site_idstring

Response · 201

{ "id": "inc_48217", "severity": "sev1", "owner": "L3-engineer", "ack_eta_sec": 900 }
GET/mc/incidents/{id}/timelineVollständige, unveränderliche Lösungs-Timeline
Mission-Control-API · Modul 03

Change Requests

Reichen Sie Change Requests ein und verfolgen Sie sie, bearbeitet von Level-3-Engineers, jede Aktion zurechenbar und protokolliert.

POST/mc/change-requestsEinen Change Request eröffnen
Plattformweit

Events & Webhooks

Abonnieren Sie Echtzeit-Events, Standort-Status, Policy-Änderungen, Agent-Aktionen, Incidents. Zustellungen sind mit HMAC-SHA256 signiert, sodass Sie die Authentizität prüfen können.

POST/webhooksEinen Webhook-Endpoint registrieren

Request

curl -X POST …/v1/webhooks \ -H "Authorization: Bearer $TOKEN" \ -d '{ "url": "https://acme.com/hook", "events": ["incident.created", "agent.action.gated"] }'

Delivery-Header

OS-Event: incident.created OS-Delivery: dlv_91a2 OS-Signature: sha256=4c1f…
Plattformweit

Observability

Streamen Sie Logs, Metriken und Audit-Events in Ihren eigenen Stack. Native Exporter halten Ihr SIEM und Ihren Data Lake synchron.

Export-Ziele & -Formate
Formate
JSONsyslogCEFOpenTelemetry
SIEM
SplunkMicrosoft SentinelQRadar, bidirektional
Audit
Unveränderlich, manipulationssicher; jede Admin- & Agent-Aktion über GET /audit/events
Plattformweit

SDKs & Tooling

Nutzen Sie die Sprache und den Workflow, die Sie schon kennen. Erstklassige SDKs, einen Terraform-Provider für Infrastructure-as-Code und eine Single-Binary-CLI.

Terraform

Deklarative Standorte, Tunnel & Policy.

registry.terraform.io/open-systems

SDKs

Idiomatische Clients, typisierte Modelle.

PythonGoTypeScriptJava

CLI

Skriptfähiges Single-Binary.

os sites listos policy apply
Referenz

Fehler & Status-Codes

Jeder Fehler liefert einen konsistenten JSON-Envelope mit einem stabilen error.code, einer menschenlesbaren Nachricht und einer request_id für den Support.

4xxFehler-EnvelopeGleiche Form für jeden Fehler

Beispiel · 422

{ "error": { "code": "validation_failed", "message": "region is required", "field": "region" }, "request_id": "req_2f9c…" }

Häufige Codes

200 OK
201 Created
202 Accepted
400 Bad request
401 Unauthorized
403 Forbidden
404 Not found
409 Conflict
422 Validation
429 Rate limited

Fangen Sie heute an zu bauen.

Holen Sie sich einen API-Key, installieren Sie die CLI und provisionieren Sie Ihren ersten Standort in Minuten.

Sie sind bereits KundeAlles, was Sie heute nutzen, läuft weiter.