Build on the platform. Every capability is an endpoint.
One versioned REST API across all three modules, Platform, Intelligence and Mission Control. Provision sites, write zero-trust policy, query Lucy, drive incidents, stream events. Self-serve, fully documented, no black boxes.
https://api.open-systems.com/v1Authorization: Bearer <token>brew install open-ch/tap/osOverview
The Open Systems API is a resource-oriented REST API. It uses predictable, plural-noun URLs, accepts and returns JSON, authenticates with bearer tokens, and uses standard HTTP verbs and status codes. Every product capability you can drive in the portal is available here, and our own AI agents and partners use the exact same API.
HTTPS only · TLS 1.3 · JSON request & response bodieshttps://api.open-systems.com/v1 · EU region: https://eu.api.open-systems.com/v1/v1) · breaking changes ship as a new major versionOpenAPI 3.1, machine-readable at /v1/openapi.jsonapplication/json · timestamps in RFC 3339 / ISO 8601 UTCAuthentication
Authenticate every request with a bearer token. Use long-lived API keys for back-end integrations, or the OAuth 2.0 client-credentials flow for machine-to-machine access with short-lived tokens and scoped permissions.
Request
Response · 200
platform:readplatform:writeintelligence:readintelligence:invokemc:readmc:writeevents:readwebhooks:manageConventions
Consistent rules across every resource: cursor pagination, idempotency for writes, rate limits surfaced in headers, and standard error envelopes.
?limit=50&cursor=…; response carries next_cursorIdempotency-Key on POST to safely retryX-RateLimit-Limit · X-RateLimit-Remaining · Retry-After on 429?status=active®ion=eu-centralerror.code, error.message, request_idSites
Sites are the edges of your network, branches, data centers and clouds. Provision, configure and decommission them programmatically; everything an appliance used to do, as an API object.
Request
Response · 200
Body parameters
| namerequired | string |
| regionrequired | string |
| ztna | boolean |
| bandwidth_mbps | integer |
| ha | boolean |
Request
Tunnels & connectivity
Manage encrypted overlays between sites, clouds and the global backbone. Tunnels are application-aware and self-healing.
Body parameters
| fromrequired | site_id |
| torequired | site_id |
| protocol | ipsec | wireguard |
| routing | bgp | static |
Response · 201
Policies · ZTNA
Zero-trust access as code. Apply declarative policy from YAML/JSON or your CI pipeline; Lucy validates and flags shadowed or conflicting rules before they go live.
Request
Response · 200
Web security · SWG / CASB DLP on roadmap
Programmatically manage inline inspection and cloud-app controls across every user and location. DLP endpoints are on the roadmap.
Body parameters
| classifierrequired | pattern | fingerprint | ml |
| action | log | block | quarantine |
| channels | array<string> |
Response · 201
Copilot
Ask the platform in natural language. The Copilot endpoint answers operational and security questions with grounded context from 35 years of operational data, and can return structured actions for you to approve.
Request
Response · 200
Agents
Autonomous agents execute multi-step operations inside human-in-the-loop approval boundaries. Launch a run, inspect every step, approve gated actions.
Body parameters
| taskrequired | string |
| scope | site_id | global |
| autonomy | propose | act_with_approval |
Response · 202
Investigations
Automated root-cause investigations, mapped to MITRE ATT&CK and your historical baselines.
Incidents
Drive the human-backed layer programmatically. Create incidents, track Level-3 ownership, and read expert-led resolution timelines.
Body parameters
| severityrequired | sev1 | sev2 | sev3 |
| summaryrequired | string |
| site_id | string |
Response · 201
Change requests
Submit and track change requests handled by Level-3 engineers, every action attributable and logged.
Events & webhooks
Subscribe to real-time events, site state, policy changes, agent actions, incidents. Deliveries are signed with HMAC-SHA256 so you can verify authenticity.
Request
Delivery headers
Observability
Stream logs, metrics and audit events into your own stack. Native exporters keep your SIEM and data lake in sync.
JSONsyslogCEFOpenTelemetrySplunkMicrosoft SentinelQRadar, bi-directionalGET /audit/eventsSDKs & tooling
Use the language and workflow you already know. First-class SDKs, a Terraform provider for infrastructure-as-code, and a single-binary CLI.
Terraform
Declarative sites, tunnels & policy.
registry.terraform.io/open-systemsSDKs
Idiomatic clients, typed models.
PythonGoTypeScriptJavaCLI
Scriptable single binary.
os sites listos policy applyErrors & status codes
Every error returns a consistent JSON envelope with a stable error.code, a human-readable message and a request_id for support.
Example · 422
Common codes
200 OK201 Created202 Accepted400 Bad request401 Unauthorized403 Forbidden404 Not found409 Conflict422 Validation429 Rate limitedStart building today.
Grab an API key, install the CLI, and provision your first site in minutes.