Aller au contenu principal

Contrats API principaux de l'architecture / Main API contracts of the architecture

Référence : architecture produit, partie B, section 6.3. Chaque contrat nommé par la référence est servi par une route réelle du Control Plane (/v1/..., docs/api/openapi-v1.json) ou du Platform Manager (/api/v1/..., navin-manager/docs/api/manager-openapi.json). Le test services/control-plane/tests/test_architecture_contracts_map.py lit les deux tableaux ci-dessous et vérifie que chaque route existe dans la spécification OpenAPI correspondante.

Reference: product architecture, part B, section 6.3. Every contract named by the reference is served by a real route of the Control Plane (/v1/..., docs/api/openapi-v1.json) or of the Platform Manager (/api/v1/..., navin-manager/docs/api/manager-openapi.json). The test services/control-plane/tests/test_architecture_contracts_map.py reads both tables below and checks that every route exists in the matching OpenAPI specification.

Français​

Contrat de la référenceRoute réelleSuivi de l'opération longue
POST /platform/installationsPOST /api/v1/clusters/{cluster_id}/servicesoperation_id renvoyé, suivi par GET /api/v1/operations/{operation_id}
GET /componentsGET /api/v1/clusters/{cluster_id}/serviceslecture
POST /components/{id}/operationsPOST /api/v1/clusters/{cluster_id}/services/{service}/actionsoperation_id renvoyé, abandon et reprise par POST /api/v1/operations/{operation_id}/abort et /retry
PUT /components/{id}/configurationPUT /api/v1/clusters/{cluster_id}/services/{service}/configversion de configuration, application par POST .../config/apply (operation_id)
POST /agentsPOST /v1/agentssynchrone
POST /executionsPOST /v1/agents/{agent_id}/runsrun_id renvoyé, en-tête Idempotency-Key contre les doublons, suivi par GET /v1/runs/{run_id}
POST /delegationsPOST /v1/delegationssynchrone
POST /authorization/checkPOST /v1/authz/checksynchrone
POST /policies/validatePOST /v1/policies/simulatesynchrone (simulation sur une révision candidate)
POST /promptsPOST /v1/promptssynchrone
POST /skillsPOST /v1/skillssynchrone
POST /mcp-serversPOST /v1/mcp/serverssynchrone
POST /plugins/installationsPOST /v1/marketplace/installationsidentifiant d'installation, suivi par GET /v1/marketplace/installations/{installation_id}/events
POST /modelsPOST /v1/modelssynchrone
POST /evaluations/runsPOST /v1/evaluations/runsidentifiant de run, suivi par GET /v1/evaluations/runs/{run_id}
GET /audit/eventsGET /v1/audit/eventslecture
POST /incidentsPOST /v1/incidentssynchrone
POST /security/containmentsPOST /v1/soc/ordersidentifiant d'ordre, approbation par POST /v1/soc/orders/{order_id}/approve
POST /security/recoveriesPOST /v1/soc/recoveriesidentifiant de reprise, approbation à quatre yeux puis réautorisation
POST /license/activatePOST /v1/license/activationssynchrone, hors ligne possible

English​

Reference contractReal routeTracking of the long operation
POST /platform/installationsPOST /api/v1/clusters/{cluster_id}/servicesoperation_id returned, followed with GET /api/v1/operations/{operation_id}
GET /componentsGET /api/v1/clusters/{cluster_id}/servicesread
POST /components/{id}/operationsPOST /api/v1/clusters/{cluster_id}/services/{service}/actionsoperation_id returned, abort and retry with POST /api/v1/operations/{operation_id}/abort and /retry
PUT /components/{id}/configurationPUT /api/v1/clusters/{cluster_id}/services/{service}/configconfiguration version, applied with POST .../config/apply (operation_id)
POST /agentsPOST /v1/agentssynchronous
POST /executionsPOST /v1/agents/{agent_id}/runsrun_id returned, Idempotency-Key header against duplicates, followed with GET /v1/runs/{run_id}
POST /delegationsPOST /v1/delegationssynchronous
POST /authorization/checkPOST /v1/authz/checksynchronous
POST /policies/validatePOST /v1/policies/simulatesynchronous (simulation on a candidate revision)
POST /promptsPOST /v1/promptssynchronous
POST /skillsPOST /v1/skillssynchronous
POST /mcp-serversPOST /v1/mcp/serverssynchronous
POST /plugins/installationsPOST /v1/marketplace/installationsinstallation id, followed with GET /v1/marketplace/installations/{installation_id}/events
POST /modelsPOST /v1/modelssynchronous
POST /evaluations/runsPOST /v1/evaluations/runsrun id, followed with GET /v1/evaluations/runs/{run_id}
GET /audit/eventsGET /v1/audit/eventsread
POST /incidentsPOST /v1/incidentssynchronous
POST /security/containmentsPOST /v1/soc/ordersorder id, approved with POST /v1/soc/orders/{order_id}/approve
POST /security/recoveriesPOST /v1/soc/recoveriesrecovery id, four eyes approval then reauthorization
POST /license/activatePOST /v1/license/activationssynchronous, offline possible

Écart restant / Remaining gap​

Le Platform Manager renvoie un operation_id unique pour toutes ses opérations longues. Le Control Plane renvoie l'identifiant de la ressource suivie (run, installation, run d'évaluation, ordre, reprise) et n'accepte Idempotency-Key que sur la création de runs et d'approbations : un operation_id commun et la déduplication sur chaque création longue restent à faire.

The Platform Manager returns one operation_id for every long operation. The Control Plane returns the id of the tracked resource (run, installation, evaluation run, order, recovery) and accepts Idempotency-Key only on run and approval creation: a common operation_id and deduplication on every long creation remain to be done.