SWISS POST GROUP · SOUVERAINETÉ PAR CONCEPTION
AI Matrix
Plateforme
Solutions
Passer à OS
Ressources
Partenaires
Entreprise
Développeurs · Public API

Développez sur la plateforme. Chaque fonction est accessible via un endpoint.

Une seule API REST versionnée sur les trois modules, Platform, Intelligence et Mission Control. Provisionnez des sites, écrivez la politique zero-trust, interrogez Lucy, pilotez les incidents, diffusez les événements en streaming. En self-service, entièrement documentée, sans boîte noire.

Base URL
https://api.open-systems.com/v1
Auth
Authorization: Bearer <token>
Installer la CLI
brew install open-ch/tap/os
Référence

Vue d'ensemble

L'API Open Systems est une API REST orientée ressources. Elle utilise des URLs prévisibles au pluriel, accepte et renvoie du JSON, s'authentifie par jetons bearer et emploie les verbes et codes de statut HTTP standard. Chaque fonction du produit que vous pouvez piloter dans le portail est disponible ici, et nos propres agents IA et partenaires utilisent exactement la même API.

En un coup d'œil
Protocole
HTTPS uniquement · TLS 1.3 · corps de requête & de réponse en JSON
Base URL
https://api.open-systems.com/v1 · Région UE : https://eu.api.open-systems.com/v1
Versionnage
Versionné par URI (/v1) · les changements incompatibles sont publiés dans une nouvelle version majeure
Spec
OpenAPI 3.1, lisible par machine à /v1/openapi.json
Formats
application/json · horodatages en RFC 3339 / ISO 8601 UTC
Pour commencer

Authentification

Authentifiez chaque requête avec un jeton bearer. Utilisez des clés API à longue durée de vie pour les intégrations back-end, ou le flux OAuth 2.0 client-credentials pour un accès machine-to-machine avec des jetons éphémères et des permissions à portée définie.

POST/oauth/tokenÉchanger les identifiants client contre un jeton d'accès

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
Pour commencer

Conventions

Des règles cohérentes sur chaque ressource : pagination par curseur, idempotence pour les écritures, limites de débit exposées dans les en-têtes et formats d'erreur standardisés.

Règles
Pagination
Par curseur, ?limit=50&cursor=… ; la réponse porte next_cursor
Idempotence
Envoyez Idempotency-Key sur POST pour réessayer sans risque
Limites de débit
X-RateLimit-Limit · X-RateLimit-Remaining · Retry-After sur 429
Filtrage
Paramètres de requête, p. ex. ?status=active&region=eu-central
Erreurs
Enveloppe JSON avec error.code, error.message, request_id
API Platform · Module 01

Sites

Les sites sont les bords de votre réseau, agences, centres de données et clouds. Provisionnez-les, configurez-les et décommissionnez-les par programmation ; tout ce que faisait une appliance, sous forme d'objet API.

GET/sitesLister tous les sites

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/sitesProvisionner un nouveau site

Paramètres du body

namerequisstring
regionrequisstring
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}Décommissionner un site
API Platform · Module 01

Tunnels & connectivité

Gérez des overlays chiffrés entre sites, clouds et le backbone mondial. Les tunnels tiennent compte des applications et se rétablissent automatiquement.

POST/tunnelsCréer un tunnel chiffré

Paramètres du body

fromrequissite_id
torequissite_id
protocolipsec | wireguard
routingbgp | static

Response · 201

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

Policies · ZTNA

L'accès zero-trust en tant que code. Appliquez une politique déclarative depuis YAML/JSON ou votre pipeline CI ; Lucy valide et signale les règles occultées ou en conflit avant leur mise en service.

PUT/policies/{name}Créer ou remplacer une policy (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}/rollbackRevenir instantanément à une révision antérieure
API Platform · Module 01

Sécurité web · SWG / CASB DLP sur la roadmap

Gérez par programmation l'inspection inline et les contrôles d'applications cloud pour chaque utilisateur et lieu. Les endpoints DLP sont sur la roadmap.

GET/web/categoriesLister les catégories d'URL / d'app
POST/dlp/rulesCréer une règle de prévention des pertes de données

Paramètres du body

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

Response · 201

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

Copilot

Interrogez la plateforme en langage naturel. L'endpoint Copilot répond aux questions d'exploitation et de sécurité avec un contexte ancré dans 35 ans de données d'exploitation, et peut renvoyer des actions structurées à approuver.

POST/intelligence/copilot/queryPoser une question, obtenir une réponse ancrée

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 } }
API Intelligence · Module 02

Agents

Des agents autonomes exécutent des opérations en plusieurs étapes dans des limites d'approbation human-in-the-loop. Lancez un run, inspectez chaque étape, approuvez les actions sous condition.

POST/intelligence/agents/runsDémarrer un run d'agent

Paramètres du body

taskrequisstring
scopesite_id | global
autonomypropose | act_with_approval

Response · 202

{ "run_id": "run_5d2a", "state": "running", "replicates": "L3-workflow" }
POST/intelligence/agents/runs/{id}/approveApprouver une action sous condition (HITL)
API Intelligence · Module 02

Investigations

Investigations automatisées des causes racines, mappées sur MITRE ATT&CK et vos référentiels historiques.

GET/intelligence/investigations/{id}Récupérer une investigation & ses preuves
API Mission Control · Module 03

Incidents

Pilotez la couche adossée à l'humain par programmation. Créez des incidents, suivez la responsabilité de niveau 3 et lisez les chronologies de résolution menées par des experts.

POST/mc/incidentsRemonter un incident à Mission Control

Paramètres du body

severityrequissev1 | sev2 | sev3
summaryrequisstring
site_idstring

Response · 201

{ "id": "inc_48217", "severity": "sev1", "owner": "L3-engineer", "ack_eta_sec": 900 }
GET/mc/incidents/{id}/timelineChronologie de résolution complète et immuable
API Mission Control · Module 03

Change requests

Soumettez et suivez des change requests traités par des ingénieurs de niveau 3, chaque action attribuable et journalisée.

POST/mc/change-requestsOuvrir un change request
Transverse

Events & webhooks

Abonnez-vous à des événements en temps réel, état des sites, changements de policy, actions d'agents, incidents. Les livraisons sont signées en HMAC-SHA256 pour que vous puissiez en vérifier l'authenticité.

POST/webhooksEnregistrer un endpoint webhook

Request

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

En-têtes de livraison

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

Observabilité

Streamez logs, métriques et événements d'audit dans votre propre stack. Des exporteurs natifs gardent votre SIEM et votre data lake synchronisés.

Cibles & formats d'export
Formats
JSONsyslogCEFOpenTelemetry
SIEM
SplunkMicrosoft SentinelQRadar, bidirectionnel
Audit
Immuable, inviolable ; chaque action admin & agent via GET /audit/events
Transverse

SDK & outillage

Utilisez le langage et le workflow que vous connaissez déjà. Des SDK de premier ordre, un provider Terraform pour l'infrastructure-as-code et une CLI en binaire unique.

Terraform

Sites, tunnels & policy déclaratifs.

registry.terraform.io/open-systems

SDK

Clients idiomatiques, modèles typés.

PythonGoTypeScriptJava

CLI

Binaire unique scriptable.

os sites listos policy apply
Référence

Erreurs & codes de statut

Chaque erreur renvoie une enveloppe JSON cohérente avec un error.code stable, un message lisible et un request_id pour le support.

4xxEnveloppe d'erreurMême forme pour chaque échec

Exemple · 422

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

Codes courants

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

Commencez à construire dès aujourd'hui.

Récupérez une clé API, installez la CLI et provisionnez votre premier site en quelques minutes.

Déjà clientTout ce que vous utilisez aujourd'hui continue de fonctionner.