endpoints_v13.go (package eai)
Source : sdks/go/endpoints_v13.go. Retour à l'index de la référence du SDK Go.
Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.
Classe LicenseService
Licences. Licence de l'installation : activation d'une licence signée, état courant et historique.
LicenseService.Activate
Activate(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Activer une licence. Vérifie localement une licence signée puis l'enregistre. Demande le rôle platform_admin et la décision de politique license.activate.
Route : /v1/license/activations (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | La licence signée reçue de l'éditeur. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Activer une licence ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LicenseService.Get
Get(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire l'état de la licence. État non sensible de la licence de l'installation : état, édition, produit, durée, dates de validité et de grâce, jours restants, renouvellement planifié ou non, actions restreintes à cet instant, fonctions qu'une licence ne restreint jamais, et bandeau affiché par le portail (niveau none, info, warning ou critical, avec un message en anglais et en français). Aucun identifiant client, aucune référence de support ni aucun jeton n'est renvoyé. Tout principal authentifié peut l'appeler, sous réserve de la décision de politique license.read (403 policy_denied).
Route : /v1/license (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'état de la licence ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
LicenseService.History
History(ctx context.Context, opts ...CallOption) (*Page, error)
Lister l'historique des licences. Historique des licences de l'installation, de l'événement le plus récent au plus ancien : activations, activations refusées, actions refusées après la grâce et avis d'expiration. La réponse donne aussi l'identité de l'installation (identifiant, groupe d'installations, date et auteur de la liaison), chaque licence enregistrée avec son identifiant client, sa référence de support et ses environnements, ainsi que les contrats de support. Demande le rôle platform_admin (403 forbidden) et la décision de politique license.history.read. Un curseur mal formé répond 400 invalid_cursor.
Route : /v1/license/history (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister l'historique des licences ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe ApplicationsService
ApplicationsService regroupe les points d'accès suivants : applications gouvernées, déploiements et agents tiers.
ApplicationsService.ActivateDeployment
ActivateDeployment(ctx context.Context, appID string, deploymentID string, opts ...CallOption) (json.RawMessage, error)
Activer un déploiement approuvé. Active le déploiement une fois son approbation accordée (la séparation des tâches est appliquée par le domaine des approbations ; une approbation manquante est auditée comme refus) : le déploiement actif précédent de l'environnement est retiré et l'application passe à active. 409 application_suspended ; 404 application_deployment_not_found. Demande tenant_admin, developer ou application_owner. Audité sous application.deployment.activate avec l'approbateur.
Route : /v1/applications/{app_id}/deployments/{deployment_id}/activate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
appID | string | oui | Identifiant (UUID) ou nom de l'application. | |
deploymentID | string | oui | Identifiant (UUID) du déploiement. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Activer un déploiement approuvé ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ApplicationsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer une application. Crée l'application (201). Un external_agent est toujours d'origine third_party. Le propriétaire est par défaut l'appelant, le projet l'en-tête X-Project. Un nom déjà utilisé répond 409 conflict. Demande tenant_admin, developer ou application_owner. Audité sous application.create.
Route : /v1/applications (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, type, origine, propriétaire, projet, environnements, niveau de risque et ressources accordées. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer une application ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ApplicationsService.CreateDeployment
CreateDeployment(ctx context.Context, appID string, body any, opts ...CallOption) (json.RawMessage, error)
Demander un déploiement. Enregistre le déploiement d'une version dans un environnement de l'application et ouvre une approbation application_deployment pour tenant_admin ou security_officer (201, le déploiement porte approval_id). L'environnement doit être déclaré par l'application (400 invalid_request) ; la même version dans le même environnement répond 409 conflict ; une application suspendue ou retirée répond 409 application_suspended. Demande tenant_admin, developer ou application_owner. Audité sous application.deployment.create.
Route : /v1/applications/{app_id}/deployments (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
appID | string | oui | Identifiant (UUID) ou nom de l'application. | |
body | any | oui | Version, environnement et raison montrée aux approbateurs. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander un déploiement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ApplicationsService.CreateExternalAgent
CreateExternalAgent(ctx context.Context, appID string, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer l'identité d'un agent tiers. Crée une clé d'API avec le rôle agent, liée à l'application et à son projet, avec les scopes tools:invoke, models:invoke plus ceux demandés (201). La clé figure dans api_key et n'est montrée qu'une fois. Demande tenant_admin. Audité sous application.external_agent.register.
Route : /v1/applications/{app_id}/external-agents (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
appID | string | oui | Identifiant (UUID) ou nom de l'application. | |
body | any | oui | Nom de l'identité et scopes supplémentaires. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer l'identité d'un agent tiers ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ApplicationsService.DeveloperKit
DeveloperKit(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Obtenir le kit du développeur. Kit du développeur d'une application, d'un agent ou d'un projet : valeurs, états et actions, jamais un secret. Indiquez exactement un paramètre parmi application_id, agent_id et project (400 invalid_request sinon). La réponse contient le subject (avec les modèles, outils, serveurs MCP, bases de connaissances et suites d'évaluation qu'il utilise), les neuf rows, les entrées env d'un fichier d'environnement (la clé d'API n'y est qu'un emplacement marqué secret), un summary des lignes prêtes et les next_steps (créer une clé, lancer les tests, lancer le red team). Une application ou un agent inconnu, ou un projet sans application, répond 404 not_found. Demande un principal de tenant (403 tenant_required) avec developer, application_owner ou tenant_admin (403 forbidden).
Route : /v1/developer/kit (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Obtenir le kit du développeur ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ApplicationsService.Get
Get(ctx context.Context, appID string, opts ...CallOption) (json.RawMessage, error)
Lire une application. Renvoie l'application et ses déploiements, du plus ancien au plus récent. 404 application_not_found.
Route : /v1/applications/{app_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
appID | string | oui | Identifiant (UUID) ou nom de l'application. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une application ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ApplicationsService.List
List(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les applications. Applications du tenant dans l'ordre des noms, avec type, origine, statut, environnements et ressources accordées. Une seule page.
Route : /v1/applications (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les applications ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ApplicationsService.SetStatus
SetStatus(ctx context.Context, appID string, body any, opts ...CallOption) (json.RawMessage, error)
Suspendre ou retirer une application. Passe l'application à suspended ou retired, ainsi que ses déploiements actifs ; tout appel de passerelle de ses agents externes est refusé dès lors. Demande tenant_admin ou security_officer. Audité sous application.suspended ou application.retired.
Route : /v1/applications/{app_id}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
appID | string | oui | Identifiant (UUID) ou nom de l'application. | |
body | any | oui | Statut visé et raison. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Suspendre ou retirer une application ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe BreakGlassService
Délégation, mandats et accès d'urgence. Comment un agent, une application ou un sous-agent agit pour le compte de quelqu'un, et comment des droits exceptionnels sont accordés.
BreakGlassService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Demander un accès d'urgence. Demande une élévation exceptionnelle et limitée dans le temps pour le bénéficiaire (l'appelant par défaut). Ouvert à tout membre du tenant.
Route : /v1/break-glass (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Rôles, portées, raison, durée, bénéficiaire et référence d'incident. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander un accès d'urgence ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
BreakGlassService.Get
Get(ctx context.Context, grantID string, opts ...CallOption) (json.RawMessage, error)
Lire un accès d'urgence. Renvoie un accès : demandeur, bénéficiaire, rôles, portées, raison, incident, durée, statut, validation et dates. Visible par son demandeur, son bénéficiaire et par tenant_admin, security_officer et auditor ; toute autre personne reçoit 404 break_glass_not_found.
Route : /v1/break-glass/{grant_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
grantID | string | oui | Identifiant (UUID) de l'accès d'urgence. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un accès d'urgence ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
BreakGlassService.IssueContext
IssueContext(ctx context.Context, grantID string, body any, opts ...CallOption) (json.RawMessage, error)
Obtenir un contexte d'exécution pour un accès d'urgence. Renvoie un ExecutionContext signé portant l'élévation active, dont la durée de vie ne dépasse jamais l'expiration de l'accès. Seul le bénéficiaire peut le demander (403 forbidden) ; l'accès doit être actif (409 break_glass_not_active) ; chaque audience doit être connue (400 context_wrong_audience). Les services en aval le vérifient comme tout contexte d'exécution.
Route : /v1/break-glass/{grant_id}/context (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
grantID | string | oui | Identifiant (UUID) de l'accès d'urgence. | |
body | any | oui | Audiences et durée de vie facultatives du contexte. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Obtenir un contexte d'exécution pour un accès d'urgence ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
BreakGlassService.List
List(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les accès d'urgence. Liste les accès d'urgence, les plus récents d'abord : tous pour tenant_admin, security_officer et auditor, sinon ceux que l'appelant a demandés ou dont il bénéficie. Les accès actifs dont l'expiration est passée sont marqués expired (audité une fois). Un statut inconnu répond 400.
Route : /v1/break-glass (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les accès d'urgence ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
BreakGlassService.Revoke
Revoke(ctx context.Context, grantID string, body any, opts ...CallOption) (json.RawMessage, error)
Révoquer un accès d'urgence. Met fin à un accès en attente ou actif et révoque les délégations créées sous lui. Autorisé au demandeur, à un tenant_admin ou à un security_officer (403 forbidden). Un accès déjà clos répond 409 break_glass_closed. Écrit l'événement d'audit break_glass.revoke.
Route : /v1/break-glass/{grant_id}/revoke (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
grantID | string | oui | Identifiant (UUID) de l'accès d'urgence. | |
body | any | oui | Raison facultative. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer un accès d'urgence ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe DelegationsService
DelegationsService regroupe les points d'accès suivants : délégations d'autorité et autorisation de chaîne.
DelegationsService.Authorize
Authorize(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Autoriser une action sous une délégation. Calcule la permission effective d'une action : utilisateur ET agent ET délégation ET restriction de ressource ET relation (OpenFGA ou les tuples intégrés) ET politique (OPA ou intégrée). Donnez delegation_id, ou run_id pour utiliser la délégation d'une exécution (400 invalid_request sans l'un ni l'autre ; 403 delegation_required pour une exécution sans délégation).
Route : /v1/delegations/authorize (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Action, délégation ou exécution, et la portée, la ressource, la relation, l'audience et la classification à vérifier. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Autoriser une action sous une délégation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
DelegationsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une délégation. Crée une délégation racine de l'appelant vers un délégataire. Ouvert aux membres du tenant ; un agent ne peut pas créer seul une délégation racine (403 delegation_root_forbidden).
Route : /v1/delegations (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Délégataire, droits, limites et expiration de la délégation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer une délégation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
DelegationsService.Get
Get(ctx context.Context, delegationID string, opts ...CallOption) (json.RawMessage, error)
Lire une délégation. Renvoie la délégation avec la vérification de sa chaîne depuis la racine (chaque maillon actif, non expiré, du même tenant, couvert par son parent). Visible par sa racine, son créateur et la personne représentée, ainsi que par tenant_admin, security_officer, auditor et agent ; sinon 404 delegation_not_found.
Route : /v1/delegations/{delegation_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
delegationID | string | oui | Identifiant (UUID) de la délégation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une délégation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
DelegationsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les délégations. Liste les délégations, les plus récentes d'abord, paginées : toutes pour tenant_admin, security_officer et auditor, sinon celles dont l'appelant est la racine, le créateur ou la personne représentée. Un statut inconnu répond 400.
Route : /v1/delegations (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les délégations ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
DelegationsService.Restrict
Restrict(ctx context.Context, delegationID string, body any, opts ...CallOption) (json.RawMessage, error)
Restreindre une délégation pour un sous-délégataire. Crée une délégation enfant, toujours couverte par son parent : un sous-agent n'obtient jamais de droits plus larges. Autorisé à la racine ou au créateur du parent, à un agent, à un tenant_admin ou à un security_officer (403 forbidden).
Route : /v1/delegations/{delegation_id}/restrict (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
delegationID | string | oui | Identifiant (UUID) de la délégation parente. | |
body | any | oui | Sous-délégataire et droits plus étroits. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Restreindre une délégation pour un sous-délégataire ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
DelegationsService.Revoke
Revoke(ctx context.Context, delegationID string, body any, opts ...CallOption) (json.RawMessage, error)
Révoquer une délégation. Révoque la délégation et tous ses descendants ; leurs contextes d'exécution sont révoqués avec eux, avec effet à l'action suivante. Autorisé à sa racine, à son créateur ou à la personne représentée, ainsi qu'à tenant_admin et security_officer (403 forbidden). Écrit l'événement d'audit delegation.revoke.
Route : /v1/delegations/{delegation_id}/revoke (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
delegationID | string | oui | Identifiant (UUID) de la délégation. | |
body | any | oui | Raison facultative. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer une délégation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
DelegationsService.RevokePrincipal
RevokePrincipal(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Révoquer toutes les délégations d'un principal. Révoque toutes les délégations actives dont un principal est la racine ou qui agissent pour lui, avec leurs descendants et leurs contextes d'exécution, par exemple au départ d'un utilisateur ou après la compromission d'un compte. Exige tenant_admin ou security_officer. Écrit l'événement d'audit delegation.revoke_principal.
Route : /v1/delegations/revoke-principal (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Principal et raison. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer toutes les délégations d'un principal ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
DelegationsService.Verify
Verify(ctx context.Context, token string, audience string, opts ...CallOption) (json.RawMessage, error)
Vérifier un contexte d'exécution signé. Contrôle un jeton et renvoie valid, context_id, kid, alg, les revendications et le document de contexte. Contrôles, dans l'ordre : structure et forme canonique (context_malformed), algorithme et signature (context_invalid_signature), clé connue et non révoquée (context_unknown_key), émetteur (context_wrong_issuer), audience (context_wrong_audience), durée de vie (context_expired), tenant de l'appelant (403 context_tenant_mismatch), enregistrement d'émission (context_revoked), empreinte du document et chaîne de délégation (une délégation révoquée donne context_revoked). Les refus répondent 401 sauf mention contraire et sont audités ; un succès rattache l'identité vérifiée aux événements d'audit de la requête.
Route : /v1/context/verify (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
token | string | oui | Le jeton JWS compact (10 à 65536 caractères). | |
audience | string | oui | Audience attendue par le vérificateur (200 caractères au plus). Par défaut : la première audience de la plateforme. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier un contexte d'exécution signé ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe MandatesService
Délégation, mandats et accès d'urgence. Comment un agent, une application ou un sous-agent agit pour le compte de quelqu'un, et comment des droits exceptionnels sont accordés.
MandatesService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Demander un mandat pour un agent. Demande un mandat pour qu'un agent (éventuellement l'une de ses planifications) s'exécute de façon autonome sous une identité de service. Exige tenant_admin, developer ou security_officer.
Route : /v1/mandates (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Agent, identité de service, planification, droits, finalité et durée du mandat. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander un mandat pour un agent ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MandatesService.Get
Get(ctx context.Context, mandateID string, opts ...CallOption) (json.RawMessage, error)
Lire un mandat. Renvoie un mandat : agent, planification, identité de service, portées, audience, ressources, plafond de classification, profondeur, finalité, statut, validation et expiration. Ouvert à tout membre du tenant. Répond 404 mandate_not_found.
Route : /v1/mandates/{mandate_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
mandateID | string | oui | Identifiant (UUID) du mandat. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un mandat ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MandatesService.List
List(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les mandats. Liste les mandats du tenant, les plus récents d'abord, éventuellement pour un agent, avec leur statut effectif (pending, approved, rejected, revoked ou expired). Ouvert à tout membre du tenant.
Route : /v1/mandates (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les mandats ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MandatesService.Revoke
Revoke(ctx context.Context, mandateID string, body any, opts ...CallOption) (json.RawMessage, error)
Révoquer un mandat. Révoque le mandat et les délégations qui en découlent : la prochaine exécution planifiée de l'agent est refusée (mandate_required). Autorisé au demandeur, à un tenant_admin ou à un security_officer (403 forbidden). Un mandat révoqué ou refusé répond 409 mandate_closed. Écrit l'événement d'audit mandate.revoke.
Route : /v1/mandates/{mandate_id}/revoke (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
mandateID | string | oui | Identifiant (UUID) du mandat. | |
body | any | oui | Raison facultative. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer un mandat ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe SOCService
SOC et réponse aux incidents IA. Opérations de sécurité pour l'IA (AI-SDR) : détections, ordres de confinement typés, registre des coupe-circuits (Kill Switch Registry), accusés de confinement, rétablissement à quatre yeux, preuves scellées des incidents et rapprochement des transactions à effet de bord.
SOCService.AddEvidence
AddEvidence(ctx context.Context, incidentID string, body any, opts ...CallOption) (json.RawMessage, error)
Sceller une preuve sur un incident. Ajoute un enregistrement scellé à la chaîne de preuves de l'incident : l'empreinte du contenu et celle de l'enregistrement précédent, si bien qu'un enregistrement supprimé, réordonné ou modifié rompt la chaîne. Les enregistrements ne peuvent jamais être modifiés ni supprimés. Exige security_officer, soc_analyst ou tenant_admin. Écrit l'événement d'audit soc.evidence.seal et une entrée de traçabilité. Répond 201 avec seq, kind, content_sha256, prev_hash, hash, sealed_by et sealed_at.
Route : /v1/soc/incidents/{incident_id}/evidence (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
incidentID | string | oui | Identifiant (UUID) de l'incident. | |
body | any | oui | Type et contenu de la preuve. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Sceller une preuve sur un incident ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.ApproveOrder
ApproveOrder(ctx context.Context, orderID string, opts ...CallOption) (json.RawMessage, error)
Approuver un ordre de confinement. Approuve un ordre en attente d'une seconde personne et l'applique (coupe-circuit écrit, adaptateur lancé). Exige security_officer ou tenant_admin (responsable SOC), qui n'est pas le demandeur (409 separation_of_duties). Un ordre qui n'est pas en attente répond 409 order_not_pending ; un ordre inconnu 404.
Route : /v1/soc/orders/{order_id}/approve (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
orderID | string | oui | Identifiant (UUID) de l'ordre de confinement. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Approuver un ordre de confinement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.ApproveRecovery
ApproveRecovery(ctx context.Context, recoveryID string, body any, opts ...CallOption) (json.RawMessage, error)
Approuver un rétablissement. Enregistre une approbation d'un rétablissement en attente ; deux responsables SOC distincts sont nécessaires, aucun n'étant le demandeur (409 separation_of_duties), chacun approuvant une seule fois (409 already_approved). Exige security_officer ou tenant_admin (responsable SOC). Une demande qui n'est pas en attente répond 409 recovery_not_pending.
Route : /v1/soc/recoveries/{recovery_id}/approve (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
recoveryID | string | oui | Identifiant (UUID) de la demande de rétablissement. | |
body | any | oui | Note facultative de l'approbation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Approuver un rétablissement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.Catalog
Catalog(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire le catalogue SOC. Renvoie les listes autorisées : reactions, les types de cibles admis par réaction (targets), les types de détections avec leur gravité de base et leur playbook (detections), les limites de la garde de proportionnalité (response : confiance minimale, rayon d'impact automatique maximal, rayon d'impact exigeant une validation manuelle, réactions toujours soumises à validation) et les rôles SOC. Ouvert à tout membre du tenant.
Route : /v1/soc/catalog (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire le catalogue SOC ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.CreateDetection
CreateDetection(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Signaler une détection. Ingère une détection. Exige un identifiant auquel la portée soc:detections a été accordée explicitement (la portée globale * ne compte pas), ou security_officer, agent ou soc_analyst.
Route : /v1/soc/detections (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | La détection à ingérer. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Signaler une détection ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.CreateOrder
CreateOrder(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Ordonner un confinement. Crée un ordre de confinement manuel. Exige security_officer, soc_analyst ou tenant_admin.
Route : /v1/soc/orders (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Réaction, cible, incident, raison, paramètres et limites de l'ordre. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Ordonner un confinement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.CreateRecovery
CreateRecovery(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Demander le rétablissement d'un coupe-circuit. Ouvre une demande de rétablissement à quatre yeux pour un coupe-circuit actif. Exige security_officer, soc_analyst ou tenant_admin. Un coupe-circuit inconnu répond 404, un coupe-circuit qui n'est plus suspendu 409 kill_switch_not_active, un coupe-circuit avec une demande ouverte 409 recovery_already_open. Répond 201 avec la demande.
Route : /v1/soc/recoveries (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Coupe-circuit et raison. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander le rétablissement d'un coupe-circuit ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.Custody
Custody(ctx context.Context, incidentID string, opts ...CallOption) (json.RawMessage, error)
Lire la chaîne de traçabilité. Renvoie le journal de traçabilité des preuves de l'incident (qui a scellé, lu ou exporté quoi, et quand) avec la vérification des deux chaînes de hachage. Exige security_officer, tenant_admin, auditor ou soc_analyst. La lecture elle-même est ajoutée au journal de traçabilité. Répond 404 not_found pour un incident inconnu.
Route : /v1/soc/incidents/{incident_id}/custody (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
incidentID | string | oui | Identifiant (UUID) de l'incident. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la chaîne de traçabilité ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.ExportEvidence
ExportEvidence(ctx context.Context, incidentID string, opts ...CallOption) (json.RawMessage, error)
Exporter les preuves d'un incident. Renvoie l'incident, ses preuves, les deux chaînes vérifiées et le journal de traçabilité. Le paquet est analysé à la recherche d'identifiants secrets avant que le moindre octet ne sorte : si l'un est trouvé, l'export est refusé avec 422 secret_detected, le refus est inscrit dans le journal de traçabilité et une détection secret_leak est levée. Exige security_officer, tenant_admin, auditor ou soc_analyst.
Route : /v1/soc/incidents/{incident_id}/evidence/export (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
incidentID | string | oui | Identifiant (UUID) de l'incident. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exporter les preuves d'un incident ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.GetOrder
GetOrder(ctx context.Context, orderID string, opts ...CallOption) (json.RawMessage, error)
Lire un ordre de confinement. Renvoie l'ordre avec son dernier coupe-circuit et les accusés reçus pour lui. Exige security_officer, tenant_admin, auditor ou soc_analyst. Répond 404 not_found.
Route : /v1/soc/orders/{order_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
orderID | string | oui | Identifiant (UUID) de l'ordre de confinement. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un ordre de confinement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.ListDetections
ListDetections(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les détections. Liste les détections du tenant, les plus récentes d'abord, éventuellement pour un incident ou un type. Exige security_officer, tenant_admin, auditor ou soc_analyst. La lecture est auditée.
Route : /v1/soc/detections (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les détections ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.ListEvidence
ListEvidence(ctx context.Context, incidentID string, opts ...CallOption) (json.RawMessage, error)
Lire les preuves d'un incident. Renvoie les preuves scellées de l'incident (détections, ordres, accusés, notes), la vérification de leur chaîne et custody_seq, l'entrée de traçabilité créée par cette lecture. Exige security_officer, tenant_admin, auditor ou soc_analyst. Répond 404 not_found.
Route : /v1/soc/incidents/{incident_id}/evidence (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
incidentID | string | oui | Identifiant (UUID) de l'incident. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les preuves d'un incident ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.ListKillSwitches
ListKillSwitches(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les coupe-circuits. Liste les coupe-circuits du tenant, les plus récents d'abord, 500 au plus : par défaut seulement ceux dont l'état voulu est SUSPENDED. Chacun donne réaction, cible, états voulu et observé, dernier accusé et levée. Exige security_officer, tenant_admin, auditor ou soc_analyst. La lecture est auditée.
Route : /v1/soc/kill-switches (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les coupe-circuits ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.ListOrders
ListOrders(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les ordres de confinement. Liste les ordres de confinement du tenant, les plus récents d'abord, éventuellement par statut (pending_approval, applied, rejected...) ou par incident. Chacun donne réaction, cible, rayon d'impact, confiance, gravité, mode (manual ou automatique), statut et décision du moteur de politique de réponse. Exige security_officer, tenant_admin, auditor ou soc_analyst.
Route : /v1/soc/orders (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les ordres de confinement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.ListRecoveries
ListRecoveries(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les demandes de rétablissement. Liste les demandes de rétablissement du tenant, les plus récentes d'abord, 500 au plus, éventuellement par statut, avec leurs approbations. Exige security_officer, tenant_admin, auditor ou soc_analyst.
Route : /v1/soc/recoveries (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les demandes de rétablissement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.ListTransactions
ListTransactions(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les transactions à effet de bord. Liste les appels d'outils et de connecteurs à effet de bord du tenant, les plus récents d'abord, 500 au plus : clé d'idempotence, opération, statut (in_flight, committed, interrupted, reconciled, compensating, compensated...) et rapprochement. Exige security_officer, tenant_admin, auditor ou soc_analyst.
Route : /v1/soc/transactions (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les transactions à effet de bord ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.ReauthorizeRecovery
ReauthorizeRecovery(ctx context.Context, recoveryID string, opts ...CallOption) (json.RawMessage, error)
Réautoriser et rétablir. Dernière étape d'un rétablissement, par l'un des approbateurs (403 reauthorization_by_approver sinon) une fois les deux approbations obtenues (409 recovery_not_approved). Le coupe-circuit est levé, la cible est réévaluée par la politique, qui doit l'autoriser (403 reauthorization_denied, tout est annulé), et seulement alors le plan propriétaire est rétabli, par exemple un agent repris. Une clé d'API révoquée le reste : émettez-en une nouvelle. Exige security_officer ou tenant_admin (responsable SOC).
Route : /v1/soc/recoveries/{recovery_id}/reauthorize (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
recoveryID | string | oui | Identifiant (UUID) de la demande de rétablissement. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Réautoriser et rétablir ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.ReconcileTransaction
ReconcileTransaction(ctx context.Context, transactionID string, body any, opts ...CallOption) (json.RawMessage, error)
Rapprocher une transaction. Enregistre le résultat réel d'un appel à effet de bord dont l'issue est inconnue (interrompu par un coupe-circuit, une panne ou un délai dépassé) : committed (il a eu lieu chez le fournisseur) ou not_executed. Une nouvelle tentative avec la même clé d'idempotence renvoie alors le résultat enregistré au lieu de rappeler le fournisseur. Exige security_officer ou tenant_admin (responsable SOC). Un résultat inconnu répond 400, une transaction non rapprochable 409 transaction_not_reconcilable, une transaction inconnue 404.
Route : /v1/soc/transactions/{transaction_id}/reconcile (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
transactionID | string | oui | Identifiant de la transaction à effet de bord. | |
body | any | oui | Résultat, référence du fournisseur et note. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Rapprocher une transaction ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.RecordReceipt
RecordReceipt(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Recevoir un accusé de confinement du cluster. Accusé envoyé depuis le cluster (politique Cilium observée, charge de travail ramenée à zéro) pour une réaction de cluster : JSON {kill_switch_id, verified, adapter, evidence}. Signé comme les webhooks de la plateforme : X-EAI-Signature: t=<unix>,v1=<hex HMAC-SHA256(secret, "<t>." + corps)>, une fenêtre anti-rejeu de 5 minutes, X-EAI-Delivery pour le dédoublonnage et X-EAI-Tenant (identifiant court du tenant). Sans le secret de webhook SOC configuré, toute livraison est refusée. Chaque livraison, acceptée ou non, est enregistrée et auditée. Un accusé vérifié fait passer l'état observé à SUSPENDED_VERIFIED ; un accusé pour une réaction qui n'en attend pas répond 409 receipt_not_expected. Aucun identifiant d'utilisateur n'est nécessaire : la signature authentifie l'émetteur. Répond 202 avec le coupe-circuit.
Route : /v1/soc/receipts (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Recevoir un accusé de confinement du cluster ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.RejectOrder
RejectOrder(ctx context.Context, orderID string, body any, opts ...CallOption) (json.RawMessage, error)
Refuser un ordre de confinement. Refuse un ordre en attente de validation, avec une raison facultative. Exige security_officer ou tenant_admin (responsable SOC). Un ordre qui n'est pas en attente répond 409 order_not_pending ; un ordre inconnu 404.
Route : /v1/soc/orders/{order_id}/reject (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
orderID | string | oui | Identifiant (UUID) de l'ordre de confinement. | |
body | any | oui | Raison facultative de la décision. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Refuser un ordre de confinement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.VerifyKillSwitch
VerifyKillSwitch(ctx context.Context, switchID string, opts ...CallOption) (json.RawMessage, error)
Vérifier un coupe-circuit. Lance la sonde du vérificateur de confinement pour le coupe-circuit : en cas de succès, l'état observé passe à SUSPENDED_VERIFIED. Les réactions de cluster (ISOLATE_NETWORK, TERMINATE_WORKLOAD) ne sont vérifiées que par un accusé signé depuis le cluster. Exige security_officer, soc_analyst ou tenant_admin. Écrit l'événement d'audit soc.kill_switch.verify. Répond 404 not_found.
Route : /v1/soc/kill-switches/{switch_id}/verify (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
switchID | string | oui | Identifiant (UUID) du coupe-circuit. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier un coupe-circuit ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
SOCService.Webhook
Webhook(ctx context.Context, source string, opts ...CallOption) (json.RawMessage, error)
Recevoir des constats de sécurité externes. Webhook des détecteurs externes : Falco, Tetragon ou OpenSearch Security Analytics. Le corps est un événement ou une liste (200 au plus traités), normalisés en détections (priorités Falco et étiquettes eai_* associées à des types et des gravités) et ingérés comme POST /v1/soc/detections. Signé comme les webhooks de la plateforme : X-EAI-Signature: t=<unix>,v1=<hex HMAC-SHA256(secret, "<t>." + corps)>, une fenêtre anti-rejeu de 5 minutes, X-EAI-Delivery pour le dédoublonnage et X-EAI-Tenant (identifiant court du tenant). Sans le secret de webhook SOC configuré, toute livraison est refusée. Chaque livraison, acceptée ou non, est enregistrée et auditée. Une source inconnue répond 404. Répond 202 avec received et les détections.
Route : /v1/soc/webhooks/{source} (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
source | string | oui | Détecteur : falco, tetragon ou opensearch. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Recevoir des constats de sécurité externes ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe StorageService
Stockage. Profils de stockage : les buckets et conteneurs du client dans lesquels la plateforme écrit (exports d'audit, preuves, documents, médias, exports, sauvegardes), avec leur référence d'identifiants et leurs capacités découvertes par de vrais appels.
StorageService.CreateProfile
CreateProfile(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer un profil de stockage. Crée un profil au statut unverified et répond 201. Demande tenant_admin pour la portée tenant (dans un tenant) ou platform_admin pour la portée platform (403 storage_scope_forbidden), et la décision de politique storage.profile.create. Audité (storage.profile.create).
Route : /v1/storage/profiles (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le nouveau profil de stockage. Les champs inconnus sont refusés. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un profil de stockage ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
StorageService.Delete
Delete(ctx context.Context, profileID string, key string, versionID string, opts ...CallOption) (json.RawMessage, error)
Supprimer un objet d'un profil. Supprime un objet (ou une de ses versions) à l'intérieur des préfixes de présignature du profil. Un profil qui sert audit_worm ou evidence ne supprime jamais par l'API (409 storage_object_protected) ; un refus de rétention du stockage est renvoyé tel quel. Demande tenant_admin, developer ou agent (profil de plateforme : platform_admin) et la décision de politique storage.object.delete ; audité avec la clé complète et la version. Autres erreurs : 403 storage_key_out_of_scope, 422 storage_key_invalid, 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/objects/delete (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de stockage. | |
key | string | oui | Clé de l'objet relative au préfixe de clé du profil, de 1 à 1024 caractères, dans un préfixe de présignature ; aucun caractère de contrôle, pas de / initial, aucun segment . ou ... | |
versionID | string | oui | Version de l'objet à supprimer sur un bucket versionné, de 1 à 1024 caractères. Omettez-la pour supprimer la version courante. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un objet d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
StorageService.DeleteObject
DeleteObject(ctx context.Context, profileID string, body any, opts ...CallOption) (json.RawMessage, error)
Supprimer un objet d'un profil. Supprime un objet (ou une de ses versions) à l'intérieur des préfixes de présignature du profil. Un profil qui sert audit_worm ou evidence ne supprime jamais par l'API (409 storage_object_protected) ; un refus de rétention du stockage est renvoyé tel quel. Demande tenant_admin, developer ou agent (profil de plateforme : platform_admin) et la décision de politique storage.object.delete ; audité avec la clé complète et la version. Autres erreurs : 403 storage_key_out_of_scope, 422 storage_key_invalid, 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/objects/delete (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de stockage. | |
body | any | oui | Clé, et éventuellement version, de l'objet à supprimer. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un objet d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
StorageService.DeleteProfile
DeleteProfile(ctx context.Context, profileID string, opts ...CallOption) error
Supprimer un profil de stockage. Supprime le profil (le bucket et ses objets ne sont pas touchés) et répond 204. Demande tenant_admin pour un profil de tenant, platform_admin pour un profil de plateforme (403 storage_scope_forbidden), et la décision de politique storage.profile.delete. L'événement d'audit storage.profile.delete enregistre le fournisseur, le bucket et le nombre d'exports d'audit qui l'utilisaient. Identifiant inconnu : 404 storage_profile_not_found.
Route : /v1/storage/profiles/{profile_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de stockage. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : error. Erreur de l'appel (une erreur typée du SDK), nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
StorageService.GetProfile
GetProfile(ctx context.Context, profileID string, opts ...CallOption) (json.RawMessage, error)
Lire un profil de stockage. Un profil de stockage avec son statut, ses capacités découvertes, sa date de vérification, ses capacités manquantes et nécessaires et sa dernière erreur. Jamais une valeur secrète. Mêmes lecteurs que la liste. Identifiant inconnu : 404 storage_profile_not_found.
Route : /v1/storage/profiles/{profile_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de stockage. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un profil de stockage ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
StorageService.List
List(ctx context.Context, profileID string, opts ...CallOption) (*Page, error)
Lister les objets d'un profil. Objets rangés sous un préfixe à l'intérieur des préfixes de présignature du profil : clé relative au préfixe de clé du profil (utilisable pour la présignature et la suppression), clé stockée, taille, ETag, type de contenu, SHA-256, version, dernière modification et classe de stockage. Demande tenant_admin, developer, agent ou auditor (profil de plateforme : platform_admin) et la décision de politique storage.object.list ; la liste est auditée. Erreurs : 422 storage_prefix_required si prefix est omis et que le profil n'a pas exactement un préfixe de présignature, 403 storage_key_out_of_scope hors des préfixes de présignature, 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/objects (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de stockage. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les objets d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
StorageService.ListObjects
ListObjects(ctx context.Context, profileID string, opts ...CallOption) (json.RawMessage, error)
Lister les objets d'un profil. Objets rangés sous un préfixe à l'intérieur des préfixes de présignature du profil : clé relative au préfixe de clé du profil (utilisable pour la présignature et la suppression), clé stockée, taille, ETag, type de contenu, SHA-256, version, dernière modification et classe de stockage. Demande tenant_admin, developer, agent ou auditor (profil de plateforme : platform_admin) et la décision de politique storage.object.list ; la liste est auditée. Erreurs : 422 storage_prefix_required si prefix est omis et que le profil n'a pas exactement un préfixe de présignature, 403 storage_key_out_of_scope hors des préfixes de présignature, 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/objects (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de stockage. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les objets d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
StorageService.ListProfileChecks
ListProfileChecks(ctx context.Context, profileID string, opts ...CallOption) (json.RawMessage, error)
Lister les vérifications d'un profil. Historique des vérifications de capacités du profil, de la plus récente à la plus ancienne : statut, capacités trouvées, capacités manquantes, sonde d'écriture lancée ou non, erreur, durée en millisecondes et auteur. Une seule page (next_cursor vaut toujours null). Mêmes lecteurs que la liste.
Route : /v1/storage/profiles/{profile_id}/checks (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de stockage. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les vérifications d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
StorageService.ListProfiles
ListProfiles(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les profils de stockage. Profils de stockage visibles par l'appelant, triés par portée puis par nom, chacun avec ses needed_capabilities (capacités exigées plus celles que demandent ses usages). Une seule page : next_cursor vaut toujours null. Demande platform_admin, ou un principal de tenant avec tenant_admin, security_officer, developer ou auditor.
Route : /v1/storage/profiles (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les profils de stockage ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
StorageService.PresignProfile
PresignProfile(ctx context.Context, profileID string, body any, opts ...CallOption) (json.RawMessage, error)
Émettre une URL présignée. Émet une URL présignée pour lire (GET) ou écrire (PUT) un objet directement dans le bucket, et répond 201 avec l'identifiant de l'autorisation, l'URL, la méthode, la clé complète, la durée de vie et l'échéance. La clé doit se trouver dans les préfixes de présignature (403 storage_key_out_of_scope) et le profil doit avoir une capacité presign vérifiée et récente (409 storage_capability_missing). La durée de vie ne peut dépasser EAI_STORAGE_PRESIGN_MAX_SECONDS (3600 par défaut, jamais plus de 604800 ; 422 storage_presign_expiry_invalid). Demande tenant_admin, developer ou agent (profil de plateforme : platform_admin) et la décision de politique storage.presign.read ou storage.presign.write. L'autorisation est enregistrée avec un SHA-256 de l'URL (jamais l'URL elle-même) et auditée.
Route : /v1/storage/profiles/{profile_id}/presign (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de stockage. | |
body | any | oui | Objet, sens et durée de vie de l'URL présignée. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Émettre une URL présignée ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
StorageService.UpdateProfile
UpdateProfile(ctx context.Context, profileID string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un profil de stockage. Modifie les champs fournis ; le profil fusionné est validé comme un nouveau. Un changement de fournisseur, de point d'accès, de région, de bucket, de auth, de credential_ref, de encryption ou d'options efface les capacités et remet le statut à unverified ; status: disabled désactive le profil, status: active sur un profil désactivé le rend unverified. Ajouter l'usage audit_worm sans un tel changement demande une capacité de verrouillage d'objet vérifiée (409 storage_capability_missing). Demande tenant_admin (profil de plateforme : platform_admin) et la décision de politique storage.profile.update ; audité avec les champs modifiés.
Route : /v1/storage/profiles/{profile_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de stockage. | |
body | any | oui | Champs à modifier ; les champs omis gardent leur valeur. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un profil de stockage ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
StorageService.VerifyProfile
VerifyProfile(ctx context.Context, profileID string, body any, opts ...CallOption) (json.RawMessage, error)
Vérifier les capacités d'un profil. Découvre les capacités du bucket par de vrais appels et les enregistre. Demande tenant_admin ou security_officer (profil de plateforme : platform_admin) et la décision de politique storage.profile.verify. Un profil désactivé répond 409 storage_profile_disabled.
Route : /v1/storage/profiles/{profile_id}/verify (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de stockage. | |
body | any | oui | Options de vérification ; le corps peut être omis. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier les capacités d'un profil ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe MarketplaceService
Marketplace. Catalogue de packs signés (ensembles d'agents, sous-agents, skills, outils, connecteurs, serveurs MCP et ressources), leurs contrôles de publication, le contrôle de mise en production, les éditeurs de confiance, les installations par environnement et le circuit de gestion des changements.
MarketplaceService.AdvanceChange
AdvanceChange(ctx context.Context, changeID string, body any, opts ...CallOption) (json.RawMessage, error)
Faire avancer un changement. Fait passer le changement à l'étape suivante. Demande tenant_admin, developer ou security_officer. Contrôles par étape visée : 1. test : seul l'auteur (ou tenant_admin) quitte draft (403 change_not_author). 2. security_review : evidence.tests doit réussir (passed > 0, aucun failed, aucune errors), sinon 422 change_evidence_missing. 3. business_approval : approbation change.security_review par un security_officer. 4. staging : approbation change.business_approval par un tenant_admin. 5. production : staging_smoke réussi, puis approbation change.production avec un quorum de deux. 6. monitoring : production_smoke réussi. Sans approval_id, une étape soumise à approbation répond 202 avec l'approbation à obtenir ; rappelez avec l'identifiant approuvé pour obtenir 200. L'auteur n'approuve jamais. Un changement clos répond 409 change_closed.
Route : /v1/marketplace/changes/{change_id}/advance (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
changeID | string | oui | Identifiant (UUID) de la demande de changement. | |
body | any | oui | Preuves à ajouter et demande approuvée, quand l'étape en exige une. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Faire avancer un changement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.ApplyInstallation
ApplyInstallation(ctx context.Context, installationID string, opts ...CallOption) (json.RawMessage, error)
Appliquer une installation approuvée. Exécute l'installation ou la mise à niveau en attente une fois son approbation accordée : la politique et le preflight sont revérifiés, les objets du pack sont créés dans un point de sauvegarde, les objets de l'ancienne version qui n'en font plus partie sont retirés et un smoke test s'exécute. Un smoke test en échec annule tout et répond 422 smoke_failed. Demande tenant_admin. 409 installation_state quand rien n'est en attente. Audité sous marketplace.install ou marketplace.upgrade.
Route : /v1/marketplace/installations/{installation_id}/apply (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
installationID | string | oui | Identifiant (UUID) de l'installation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Appliquer une installation approuvée ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.AuthorizeInstallation
AuthorizeInstallation(ctx context.Context, installationID string, body any, opts ...CallOption) (json.RawMessage, error)
Vérifier une permission à l'exécution. Contrôle de permission à l'exécution utilisé par les serveurs MCP et les connecteurs du pack : permis seulement si l'installation est installed, que la permission a été accordée, n'est pas suspendue et n'est pas un export externe refusé par les réglages de protection des données. Sinon 403 avec permission_not_granted, permission_suspended, installation_suspended ou external_export_denied, enregistré comme événement authorize_denied. Demande tenant_admin, developer, agent ou service.
Route : /v1/marketplace/installations/{installation_id}/authorize (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
installationID | string | oui | Identifiant (UUID) de l'installation. | |
body | any | oui | Scope de permission à vérifier. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier une permission à l'exécution ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.CreateChange
CreateChange(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Ouvrir une demande de changement. Ouvre un changement d'un prompt, skill, connecteur, règle, modèle, politique, outil, agent ou pack à l'étape draft. Demande tenant_admin ou developer ; la politique change.create est évaluée. Audité sous change.create.
Route : /v1/marketplace/changes (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Type, nom d'objet, version et titre du changement. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Ouvrir une demande de changement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.CreateInstallation
CreateInstallation(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Demander l'installation d'un pack. Ouvre une demande d'installation et répond 202 avec l'installation, l'approval_id, le quorum et le rapport de preflight. Demande tenant_admin. Étapes : 1. Le preflight s'exécute (voir POST /v1/marketplace/preflight) ; un échec répond 403 permission_unsafe, 422 config_invalid, 422 permission_not_requested, 409 package_suspended ou 422 preflight_failed. 2. Une approbation marketplace.install est ouverte pour tenant_admin ou security_officer : quorum 1 par défaut, au moins 2 quand une permission sensible est accordée ou que l'environnement est prod. 3. Une fois approuvée, appelez POST .../installations/{id}/apply. 409 installation_exists quand le paquet est déjà installé ou suspendu dans cet environnement.
Route : /v1/marketplace/installations (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Paquet, version, environnement, permissions accordées, configuration et références de secrets. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander l'installation d'un pack ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.CreatePackage
CreatePackage(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Publier une version de paquet. Publie une archive de pack comme nouvelle version (201). Demande tenant_admin ou developer ; la politique marketplace.publish est évaluée. Étapes : 1. L'archive est décodée (422 marketplace_archive_invalid) et analysée par ClamAV et YARA-X avant d'être dépaquetée (422 file_blocked, 503 file_scan_unavailable). 2. Tous les contrôles s'exécutent : schéma, signature, SBOM, analyse de vulnérabilités, tests, évaluations, licence, permissions, documentation, secrets, provenance, confidentialité, sécurité, approbations, configuration, résilience. Tout échec répond 422 publication_gate_failed avec le résultat de chaque contrôle. 3. Le paquet est créé à la première publication. 409 package_suspended quand son kill switch est actif, 409 marketplace_version_exists pour une version déjà publiée. Audité sous marketplace.publish.
Route : /v1/marketplace/packages (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | L'archive du pack et ses preuves de chaîne d'approvisionnement. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Publier une version de paquet ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.CreatePublisher
CreatePublisher(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Ajouter une clé d'éditeur de confiance. Enregistre une clé publique de signature pour le tenant ; les signatures des packs sont vérifiées avec les clés actives. Demande tenant_admin ou security_officer. Une clé illisible répond 422 publisher_invalid_key. Audité sous marketplace.publisher.add.
Route : /v1/marketplace/publishers (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom de l'éditeur et clé publique. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Ajouter une clé d'éditeur de confiance ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.GetChange
GetChange(ctx context.Context, changeID string, opts ...CallOption) (json.RawMessage, error)
Lire une demande de changement. Renvoie le changement avec son étape, ses preuves, son approbation en attente et son history (une entrée par transition avec acteur et date). 404 change_not_found.
Route : /v1/marketplace/changes/{change_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
changeID | string | oui | Identifiant (UUID) de la demande de changement. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une demande de changement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.GetInstallation
GetInstallation(ctx context.Context, installationID string, opts ...CallOption) (json.RawMessage, error)
Lire une installation. Renvoie l'installation : statut, paquet et version, permissions accordées et suspendues, configuration, derniers résultats de preflight et de smoke test, objets et ressources créés. 404 installation_not_found.
Route : /v1/marketplace/installations/{installation_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
installationID | string | oui | Identifiant (UUID) de l'installation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une installation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.GetPackage
GetPackage(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Lire un paquet et ses versions. Renvoie le paquet et toutes ses versions, de la plus ancienne à la plus récente, avec résultats des contrôles et résumé des vulnérabilités. 404 marketplace_package_not_found.
Route : /v1/marketplace/packages/{name} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du paquet. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un paquet et ses versions ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.GetPackageVersion
GetPackageVersion(ctx context.Context, name string, version string, opts ...CallOption) (json.RawMessage, error)
Lire une version de paquet. Renvoie une version : manifeste, empreinte, empreintes des fichiers, signature et son statut, licence, référence OCI, résultats des contrôles, statut de provenance et approbation de production. L'archive et le SBOM ne sont pas inclus. 404 marketplace_version_not_found.
Route : /v1/marketplace/packages/{name}/versions/{version} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du paquet. | |
version | string | oui | Version sémantique, par exemple 1.2.0. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une version de paquet ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.InstallationEvents
InstallationEvents(ctx context.Context, installationID string, opts ...CallOption) (json.RawMessage, error)
Lister les événements d'une installation. Historique du cycle de vie de l'installation, du plus ancien au plus récent : demandes, installations, mises à niveau, retours arrière, smoke tests en échec, suspensions, reprises, autorisations refusées, avec versions, résultat et acteur. Une seule page.
Route : /v1/marketplace/installations/{installation_id}/events (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
installationID | string | oui | Identifiant (UUID) de l'installation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les événements d'une installation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.ListChanges
ListChanges(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les demandes de changement. Demandes de changement du tenant, de la plus récente à la plus ancienne, 200 au plus, filtrables par type, référence et étape. Tout principal du tenant peut l'appeler.
Route : /v1/marketplace/changes (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les demandes de changement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.ListInstallations
ListInstallations(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les installations. Installations du tenant, de la plus ancienne à la plus récente, chacune avec paquet, version et ressources créées. Une seule page.
Route : /v1/marketplace/installations (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les installations ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.ListPackages
ListPackages(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les paquets. Paquets du catalogue dans l'ordre des noms, avec statut, dernière version, éditeur et catégorie. Une seule page.
Route : /v1/marketplace/packages (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les paquets ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.ListPublishers
ListPublishers(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les éditeurs. Clés de signature de confiance, par nom : algorithme, statut (active ou revoked) et scope (platform pour une clé commune à tous les tenants, tenant pour une clé de ce tenant). Les clés publiques ne sont pas renvoyées.
Route : /v1/marketplace/publishers (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les éditeurs ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.PackageSBOM
PackageSBOM(ctx context.Context, name string, version string, opts ...CallOption) (json.RawMessage, error)
Lire le SBOM d'une version. Renvoie la nomenclature logicielle (SBOM) enregistrée à la publication, son empreinte et le rapport d'analyse de vulnérabilités.
Route : /v1/marketplace/packages/{name}/versions/{version}/sbom (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du paquet. | |
version | string | oui | Version sémantique, par exemple 1.2.0. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire le SBOM d'une version ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.Preflight
Preflight(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Simuler les contrôles d'installation. Simulation des contrôles d'installation, rien n'est installé : paquet actif, environnement, configuration selon le configSchema du pack, version disponible (et en production pour prod), compatibilité de plateforme, dépendances installées, empreinte de l'archive, signature, permissions demandées et sûres, références de secrets des connecteurs, modèle approuvé, absence de conflit de noms. Renvoie passed, chaque vérification, les permissions accordées, non accordées et sensibles, les approbations requises et la protection des données appliquée. Demande tenant_admin ou security_officer. Audité sous marketplace.preflight.
Route : /v1/marketplace/preflight (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Même corps qu'une demande d'installation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Simuler les contrôles d'installation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.PromotePackageVersion
PromotePackageVersion(ctx context.Context, name string, version string, body any, opts ...CallOption) (json.RawMessage, error)
Promouvoir une version en production. Contrôle de mise en production, requis pour installer une version en prod. Demande tenant_admin ou security_officer. Étapes : 1. Sans approval_id : tous les contrôles enregistrés doivent avoir réussi, la signature doit toujours être valide et une empreinte d'artefact OCI doit être jointe (sinon 422 publication_gate_failed) ; ensuite une approbation marketplace.promote est ouverte avec un quorum d'au moins deux et la réponse est 202 avec les vérifications. 2. Avec l'approval_id approuvé : la version passe à production (200). Une version déjà en production répond 200 aussitôt ; 409 package_suspended tant que le kill switch est actif.
Route : /v1/marketplace/packages/{name}/versions/{version}/production (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du paquet. | |
version | string | oui | Version sémantique, par exemple 1.2.0. | |
body | any | oui | Demande approuvée, au second appel. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Promouvoir une version en production ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.RejectChange
RejectChange(ctx context.Context, changeID string, body any, opts ...CallOption) (json.RawMessage, error)
Rejeter une demande de changement. Clôt le changement à l'étape rejected depuis n'importe quelle étape ouverte, la raison étant gardée dans history. Demande tenant_admin ou security_officer. 409 change_closed s'il est déjà clos. Audité sous change.reject.
Route : /v1/marketplace/changes/{change_id}/reject (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
changeID | string | oui | Identifiant (UUID) de la demande de changement. | |
body | any | oui | Raison du rejet. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Rejeter une demande de changement ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.RevokePublisher
RevokePublisher(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Révoquer un éditeur. Révoque toutes les clés du tenant enregistrées sous ce nom ; les signatures faites avec elles ne sont plus valides. Demande tenant_admin ou security_officer. 404 publisher_not_found. Les clés de plateforme ne peuvent pas être révoquées ici. Audité sous marketplace.publisher.revoke.
Route : /v1/marketplace/publishers/{name}/revoke (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom de l'éditeur. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer un éditeur ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.RollbackInstallation
RollbackInstallation(ctx context.Context, installationID string, opts ...CallOption) (json.RawMessage, error)
Revenir à la version précédente. Réinstalle la version précédente avec ses permissions précédentes, dans un point de sauvegarde avec smoke test (422 smoke_failed garde la version courante). Demande tenant_admin. 409 installation_state sauf si installed ; 409 rollback_unavailable quand il n'y a pas de version précédente. Audité sous marketplace.rollback.
Route : /v1/marketplace/installations/{installation_id}/rollback (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
installationID | string | oui | Identifiant (UUID) de l'installation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Revenir à la version précédente ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.SetInstallationStatus
SetInstallationStatus(ctx context.Context, installationID string, body any, opts ...CallOption) (json.RawMessage, error)
Suspendre ou reprendre une installation. Demande tenant_admin ou security_officer. - status: suspended : immédiat. Sans permissions, toute l'installation est suspendue (outils bloqués, agents suspendus, serveurs MCP désactivés, ressources suspendues) ; avec permissions, seulement ces capacités accordées (422 permission_not_granted pour les autres). Répond 200. - status: installed : reprise. Sans approval_id, ouvre une approbation marketplace.resume avec un quorum de deux et répond 202 ; avec l'identifiant approuvé, lève la suspension et répond 200. Refusé avec 409 package_suspended tant que le kill switch du paquet est actif. 409 installation_state pour un état qui ne permet pas le changement.
Route : /v1/marketplace/installations/{installation_id}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
installationID | string | oui | Identifiant (UUID) de l'installation. | |
body | any | oui | Statut visé, raison, capacités à suspendre et approbation pour une reprise. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Suspendre ou reprendre une installation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.SetPackageStatus
SetPackageStatus(ctx context.Context, name string, body any, opts ...CallOption) (json.RawMessage, error)
Actionner le kill switch d'un paquet. Demande tenant_admin ou security_officer. - status: suspended : immédiat. Toutes les installations actives du paquet sont suspendues ; installations, mises à niveau, publications et promotions sont refusées. Répond 200 avec suspended_installations. - status: active : lève le kill switch. Sans approval_id, ouvre une approbation marketplace.package.resume avec un quorum de deux (202) ; avec l'identifiant approuvé, le paquet et les installations qu'il avait suspendues reprennent (200 avec resumed_installations). 409 installation_state pour lever un paquet qui n'est pas suspendu.
Route : /v1/marketplace/packages/{name}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du paquet. | |
body | any | oui | Statut visé, raison et approbation pour une levée. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Actionner le kill switch d'un paquet ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.Supervision
Supervision(ctx context.Context, installationID string, opts ...CallOption) (json.RawMessage, error)
Superviser un pack installé. Activité, qualité, coûts et incidents d'un pack installé, agrégés à partir des objets qu'il a créés : invocations d'outils et runs par état, autorisations refusées, résultats d'évaluation, dernier smoke test, taux de réussite des runs, coûts des runs par devise, et incidents citant ses objets (les 50 plus récents).
Route : /v1/marketplace/installations/{installation_id}/supervision (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
installationID | string | oui | Identifiant (UUID) de l'installation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Superviser un pack installé ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.UninstallInstallation
UninstallInstallation(ctx context.Context, installationID string, opts ...CallOption) (json.RawMessage, error)
Désinstaller un pack. Retire tous les objets et ressources créés par l'installation et la passe à uninstalled (permissions, suspensions et version précédente effacées). Permis depuis installed, failed, pending_approval ou suspended (sinon 409 installation_state). Demande tenant_admin ; la politique marketplace.uninstall est évaluée. La réponse liste removed. Audité sous marketplace.uninstall.
Route : /v1/marketplace/installations/{installation_id}/uninstall (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
installationID | string | oui | Identifiant (UUID) de l'installation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Désinstaller un pack ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
MarketplaceService.UpgradeInstallation
UpgradeInstallation(ctx context.Context, installationID string, body any, opts ...CallOption) (json.RawMessage, error)
Demander la mise à niveau d'une installation. Ouvre une demande de mise à niveau vers une version supérieure (202 avec approbation, quorum et preflight), puis appliquez-la avec POST .../apply une fois approuvée. L'installation doit être installed et la version strictement supérieure (sinon 409 installation_state). La configuration et les références de secrets reprennent par défaut les actuelles. Demande tenant_admin. Les échecs de preflight répondent comme pour une demande d'installation.
Route : /v1/marketplace/installations/{installation_id}/upgrade (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
installationID | string | oui | Identifiant (UUID) de l'installation. | |
body | any | oui | Version visée, permissions accordées, configuration et références de secrets. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Demander la mise à niveau d'une installation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe EvidenceService
Preuves. Couche de preuve du journal d'audit : sceaux signés, paquets vérifiables hors ligne, moniteur d'intégrité, Audit Gateway, charges utiles chiffrées, accès audités, gels juridiques et preuves de purge, et configuration d'exécution des exécutions d'agents.
EvidenceService.AccessLog
AccessLog(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire le journal d'accès à l'audit. Renvoie les derniers accès au journal d'audit, les plus récents d'abord : acteur, rôles, type (read, search, verify, export, payload_decrypt, seal_read), requête, nombre de résultats, raison et événement d'audit écrit. Exige auditor ou security_officer. La lecture du journal est elle-même enregistrée.
Route : /v1/evidence/access-log (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire le journal d'accès à l'audit ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.Alerts
Alerts(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les alertes d'intégrité. Liste les alertes d'intégrité du tenant ouvertes par le moniteur : chain_broken, sequence_gap, seal_invalid, outbox_missing ou clock_skew, rafraîchies tant que le problème persiste. Exige auditor, security_officer ou tenant_admin.
Route : /v1/evidence/alerts (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les alertes d'intégrité ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.Bundle
Bundle(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Exporter un paquet de preuves hors ligne. Renvoie bundle (événements, sceaux et clés publiques du tenant) et manifest (format, nombres, SHA-256 du paquet canonique, alg: Ed25519, identifiant de clé, clé publique et signature par la clé de scellement). Un auditeur externe le vérifie hors ligne avec python -m eai.domains.evidence.verify. Exige auditor ou security_officer. Répond 503 audit_seal_key_unavailable sans clé de signature. L'export est inscrit dans le journal d'accès.
Route : /v1/evidence/bundle (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Exporter un paquet de preuves hors ligne ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.CreateHold
CreateHold(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Poser un gel juridique de preuves. Pose un gel juridique sur les charges utiles du tenant pour un dossier et une période facultative de date d'événement : tant qu'il est actif, la purge des charges utiles et les effacements ignorent les événements qu'il couvre. time_to doit suivre time_from (400 invalid_request). Exige auditor, security_officer ou tenant_admin. Écrit l'événement d'audit audit.legal_hold.create. Répond 201 avec le gel.
Route : /v1/evidence/holds (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Dossier, raison et période facultative du gel. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Poser un gel juridique de preuves ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.CreateSeal
CreateSeal(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Sceller la chaîne d'audit maintenant. Écrit un sceau sur les événements écrits depuis le sceau précédent (jusqu'au maximum par sceau de la plateforme) et le renvoie (201). Exige security_officer ou auditor. Répond 409 audit_nothing_to_seal quand aucun événement n'attend, 503 audit_seal_key_unavailable sans clé de signature.
Route : /v1/evidence/seals (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Sceller la chaîne d'audit maintenant ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.EventPayload
EventPayload(ctx context.Context, eventID string, body any, opts ...CallOption) (json.RawMessage, error)
Déchiffrer la charge utile d'un événement d'audit. Renvoie dans payload les champs sensibles déchiffrés d'un événement, avec access_event_id, l'événement d'audit qui enregistre cet accès. Uniquement auditor ou security_officer détenus explicitement : platform_admin ne suffit pas (403 forbidden). Une reason est obligatoire. Erreurs : 404 not_found (pas de charge utile), 410 audit_payload_purged (expirée ou effacée), 409 audit_payload_tampered (empreinte du chiffré différente), 503 audit_payload_key_unavailable.
Route : /v1/evidence/events/{event_id}/payload (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
eventID | string | oui | Identifiant (UUID) de l'événement d'audit. | |
body | any | oui | Raison du déchiffrement, inscrite dans le journal d'accès. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Déchiffrer la charge utile d'un événement d'audit ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.Gateway
Gateway(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire l'état de l'Audit Gateway. Renvoie l'état de livraison des événements d'audit du tenant vers le SIEM : targets configurées, nombres pending et delivered, max_attempts d'un événement en attente et oldest_pending. Exige auditor, security_officer ou tenant_admin.
Route : /v1/evidence/gateway (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'état de l'Audit Gateway ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.ListHolds
ListHolds(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les gels juridiques de preuves. Liste les gels juridiques du tenant avec leur dossier, leur période, leur raison, leur statut et leurs approbations de levée. Exige auditor, security_officer ou tenant_admin.
Route : /v1/evidence/holds (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les gels juridiques de preuves ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.ListSeals
ListSeals(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les sceaux d'audit. Liste les sceaux de la chaîne du tenant : numéro, plage de séquences, racine de Merkle, premières et dernières empreintes, empreinte du sceau précédent, identifiant de clé, signature et date. Exige auditor, security_officer ou tenant_admin. La lecture est inscrite dans le journal d'accès.
Route : /v1/evidence/seals (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les sceaux d'audit ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.RecordRunComponents
RecordRunComponents(ctx context.Context, runID string, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer les composants d'une exécution. Enregistre, en ajout seul, les versions des composants utilisés par une exécution d'agent, ou par l'une de ses étapes avec step_seq (appel d'outil, appel de modèle). Chaque déclaration est auditée avec le champ versions de l'événement d'audit. Exige tenant_admin, agent_operator ou developer. Répond 201 avec les éléments enregistrés, ou 404 not_found pour une exécution inconnue.
Route : /v1/evidence/runs/{run_id}/components (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
runID | string | oui | Identifiant (UUID) de l'exécution d'agent. | |
body | any | oui | Étape facultative et 1 à 100 composants. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Enregistrer les composants d'une exécution ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.ReleaseHold
ReleaseHold(ctx context.Context, holdID string, body any, opts ...CallOption) (json.RawMessage, error)
Approuver la levée d'un gel juridique. Enregistre une approbation de levée avec sa raison. Le gel est levé à la seconde approbation par un approbateur distinct ; la même personne deux fois répond 409 audit_hold_same_approver, un gel qui n'est plus actif 409 audit_hold_not_active, un gel inconnu 404. Exige auditor, security_officer ou tenant_admin. Écrit audit.legal_hold.release_approve, puis audit.legal_hold.release.
Route : /v1/evidence/holds/{hold_id}/release (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
holdID | string | oui | Identifiant (UUID) du gel juridique. | |
body | any | oui | Raison de l'approbation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Approuver la levée d'un gel juridique ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.RetentionEvidence
RetentionEvidence(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les preuves de purge. Liste les preuves de purge du tenant : type, date limite, nombres purgés et gelés, séquences purgées et racine de Merkle des empreintes des chiffrés purgés, jamais les contenus. Exige auditor, security_officer ou tenant_admin.
Route : /v1/evidence/retention/evidence (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les preuves de purge ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.RunConfiguration
RunConfiguration(ctx context.Context, runID string, opts ...CallOption) (json.RawMessage, error)
Lire la configuration d'exécution d'une exécution. Reconstitue la configuration d'exécution d'une exécution d'agent : version de l'agent et empreinte du manifeste, composants déclarés par type (modèle, prompt, outil, compétence, plugin) avec leurs versions et empreintes, et décisions de politique enregistrées pour l'exécution. Exige auditor, security_officer ou tenant_admin, agent_operator ou developer. La lecture est inscrite dans le journal d'accès. Répond 404 not_found pour une exécution inconnue.
Route : /v1/evidence/runs/{run_id}/configuration (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
runID | string | oui | Identifiant (UUID) de l'exécution d'agent. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la configuration d'exécution d'une exécution ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.RunRetention
RunRetention(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Purger les charges utiles d'audit expirées. Supprime des charges utiles d'audit chiffrées ; les événements, la chaîne et les sceaux restent et continuent de se vérifier.
Route : /v1/evidence/retention/run (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Type de purge, date limite, événements et indicateur de simulation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Purger les charges utiles d'audit expirées ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.Verify
Verify(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Vérifier la chaîne et tous les sceaux. Vérifie toute la chaîne du tenant et tous ses sceaux et renvoie tenant_id, valid, chain (résultat de la chaîne de hachage), seals (nombre et échecs), clock (échecs d'horodatage) et events (nombre vérifié). Exige auditor, security_officer ou tenant_admin. La vérification est inscrite dans le journal d'accès.
Route : /v1/evidence/verify (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier la chaîne et tous les sceaux ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvidenceService.VerifySeal
VerifySeal(ctx context.Context, sealID string, opts ...CallOption) (json.RawMessage, error)
Vérifier un sceau d'audit. Recalcule le sceau à partir des événements qu'il couvre et des sceaux qui le précèdent et vérifie sa signature. Renvoie seal, valid et failures. Exige auditor, security_officer ou tenant_admin. Répond 404 not_found pour un sceau inconnu. La vérification est inscrite dans le journal d'accès.
Route : /v1/evidence/seals/{seal_id}/verify (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
sealID | string | oui | Identifiant (UUID) du sceau. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier un sceau d'audit ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe ContextService
Contexte d'exécution. Context Authority : émet, vérifie et révoque des documents ExecutionContext signés, la preuve qu'un appel est fait par un principal, un run d'agent et une chaîne de délégation donnés, pour une audience donnée et pour peu de temps.
ContextService.Issue
Issue(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Émettre un contexte d'exécution signé. Construit et signe un ExecutionContext pour l'appelant et renvoie token, context_id, kid, alg, issued_at et expires_at (201). - Avec run_id : l'appelant doit avoir créé le run, en être le principal racine ou l'utilisateur pour qui il agit, ou détenir agent, tenant_admin ou security_officer (403 forbidden) ; la délégation du run est revérifiée et le manifeste de l'agent est inclus. - Avec delegation_id : la délégation doit être valide et l'appelant l'une de ses parties, ou agent ou tenant_admin. Erreurs : 400 context_wrong_audience pour une audience que la plateforme n'accepte pas, 400 context_ttl_exceeded, 403 delegation_expired, 503 context_authority_unavailable. Audité sous context.issue.
Route : /v1/context/issue (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Audience, durée de vie et run ou délégation visés par le contexte. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Émettre un contexte d'exécution signé ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ContextService.JWKS
JWKS(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire les clés publiques de vérification. Clés publiques de vérification sous forme de JWKS (actives, et retirées encore dans leur fenêtre de vérification), chacune avec kid, alg (ES256 ou EdDSA) et use: sig. Tout principal authentifié peut la lire. 503 context_authority_unavailable quand le registre de clés est illisible.
Route : /v1/context/jwks (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les clés publiques de vérification ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ContextService.ListKeys
ListKeys(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les clés de signature. Registre des clés de signature des contextes : kid, algorithme, statut, dates d'utilisation, de retrait et de révocation. Demande security_officer ou auditor. 503 context_authority_unavailable quand le registre est illisible.
Route : /v1/context/keys (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les clés de signature ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ContextService.Revoke
Revoke(ctx context.Context, contextID string, opts ...CallOption) (json.RawMessage, error)
Révoquer un contexte d'exécution. Révoque un contexte émis avant son expiration ; sa vérification répond ensuite context_revoked. Permis pour le principal qui l'a émis, ou tenant_admin ou security_officer (403 forbidden). Une seconde révocation garde la première date. 404 context_not_found. Audité sous context.revoke.
Route : /v1/context/{context_id}/revoke (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
contextID | string | oui | Identifiant (UUID) du contexte, la revendication jti de son jeton. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer un contexte d'exécution ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ContextService.RevokeKey
RevokeKey(ctx context.Context, kid string, body any, opts ...CallOption) (json.RawMessage, error)
Révoquer une clé de signature. Révoque immédiatement une clé de signature des contextes : les contextes qu'elle a signés ne sont plus valides. Demande platform_admin. 404 signing_key_not_found. Audité sous context.key.revoke au niveau de la plateforme.
Route : /v1/context/keys/{kid}/revoke (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kid | string | oui | Identifiant de clé, l'empreinte RFC 7638 de la clé publique. | |
body | any | oui | Raison de la révocation. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Révoquer une clé de signature ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
ContextService.Verify
Verify(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Vérifier un contexte d'exécution signé. Contrôle un jeton et renvoie valid, context_id, kid, alg, les revendications et le document de contexte. Contrôles, dans l'ordre : structure et forme canonique (context_malformed), algorithme et signature (context_invalid_signature), clé connue et non révoquée (context_unknown_key), émetteur (context_wrong_issuer), audience (context_wrong_audience), durée de vie (context_expired), tenant de l'appelant (403 context_tenant_mismatch), enregistrement d'émission (context_revoked), empreinte du document et chaîne de délégation (une délégation révoquée donne context_revoked). Les refus répondent 401 sauf mention contraire et sont audités ; un succès rattache l'identité vérifiée aux événements d'audit de la requête.
Route : /v1/context/verify (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Jeton à vérifier et audience attendue. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Vérifier un contexte d'exécution signé ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe EvaluationsService
Évaluation et red team. Qualité des systèmes d'IA du tenant : suites d'évaluation, exécutions, barrières de qualité avant promotion, comparaisons A/B avec une référence et campagnes de red team.
EvaluationsService.CreateComparison
CreateComparison(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Comparer un candidat à une référence. Exécute une suite deux fois, sur la référence baseline et sur le candidate (chacun {type, ref, version}, type model par défaut, agent ou prompt), et enregistre les deux exécutions, les écarts par métrique et le verdict. Les écarts sont orientés par le comparateur de chaque métrique (gte : plus haut est mieux, lte : plus bas est mieux).
Route : /v1/evaluations/comparisons (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Objet JSON : suite_id, baseline, candidate, et en option tolerance (0 à 1, 0 par défaut) et outputs ({"baseline": [...], "candidate": [...]}, sorties précalculées par cas). | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Comparer un candidat à une référence ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvaluationsService.GetComparison
GetComparison(ctx context.Context, comparisonID string, opts ...CallOption) (json.RawMessage, error)
Lire une comparaison A/B. Renvoie une comparaison. Exige tenant_admin, developer, security_officer, auditor, viewer ou finops. Répond 404 comparison_not_found.
Route : /v1/evaluations/comparisons/{comparison_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
comparisonID | string | oui | Identifiant (UUID) de la comparaison. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une comparaison A/B ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
EvaluationsService.ListComparisons
ListComparisons(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les comparaisons A/B. Liste les comparaisons du tenant, les plus récentes d'abord, 200 au plus, éventuellement pour une seule suite. Chacune donne la référence, le candidat, les identifiants des deux exécutions, les écarts par métrique, la tolérance et le verdict. Exige tenant_admin, developer, security_officer, auditor, viewer ou finops.
Route : /v1/evaluations/comparisons (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les comparaisons A/B ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe GatewayService
GatewayService regroupe les points d'accès suivants : AI Gateway, le seul chemin par lequel les agents appellent les modèles (corps compatibles OpenAI plus l'extension eai).
GatewayService.ChatCompletions
ChatCompletions(ctx context.Context, req ChatRequest, opts ...CallOption) (*ChatResponse, error)
Appeler un modèle de conversation. Complétion de conversation compatible OpenAI à travers chaque contrôle de la passerelle ; avec stream: true la réponse est en Server-Sent Events, et les garde-fous de coût sont vérifiés pendant le flux. Demande un principal de tenant (403 platform_only) dont l'identifiant porte le scope models:invoke.
Route : /v1/gateway/chat/completions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
req | ChatRequest | oui | Requête de conversation OpenAI (model est l'identifiant du registre, messages, stream, max_tokens, tools...) plus l'objet facultatif eai : data_classification (public, internal par défaut, confidential, restricted, secret), agent_id, session_id, run_id, purpose, project_id, effort, max_cost, fallback_policy et des listes d'autorisation qui ne peuvent que restreindre celles du tenant (provider_allow, model_allow, region_allow). | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (*ChatResponse, error). Réponse JSON décodée de l'opération « Appeler un modèle de conversation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
GatewayService.ChatCompletionsStream
ChatCompletionsStream(ctx context.Context, req ChatRequest, opts ...CallOption) (*ChatStream, error)
Appeler un modèle de conversation. Complétion de conversation compatible OpenAI à travers chaque contrôle de la passerelle ; avec stream: true la réponse est en Server-Sent Events, et les garde-fous de coût sont vérifiés pendant le flux. Demande un principal de tenant (403 platform_only) dont l'identifiant porte le scope models:invoke.
Route : /v1/gateway/chat/completions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
req | ChatRequest | oui | Requête de conversation OpenAI (model est l'identifiant du registre, messages, stream, max_tokens, tools...) plus l'objet facultatif eai : data_classification (public, internal par défaut, confidential, restricted, secret), agent_id, session_id, run_id, purpose, project_id, effort, max_cost, fallback_policy et des listes d'autorisation qui ne peuvent que restreindre celles du tenant (provider_allow, model_allow, region_allow). | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (*ChatStream, error). Réponse JSON décodée de l'opération « Appeler un modèle de conversation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
GatewayService.Embed
Embed(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Calculer des embeddings. Embeddings compatibles OpenAI à travers les mêmes contrôles que la conversation (kill switches, listes d'autorisation, classification, DLP sur chaque entrée, garde-fous de coût, décision de politique, audit). Le modèle doit déclarer la capacité embeddings et, si dimensions est fourni, la prendre en charge (422 capability_not_supported, 422 embedding_dimensions_invalid). Demande un principal de tenant avec le scope models:invoke.
Route : /v1/gateway/embeddings (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Requête d'embeddings OpenAI (model, input sous forme de texte ou de liste, dimensions facultatif) plus l'objet facultatif eai. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Calculer des embeddings ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
GatewayService.Generate
Generate(ctx context.Context, req ChatRequest, opts ...CallOption) (*ChatResponse, error)
Appeler un modèle de conversation. Complétion de conversation compatible OpenAI à travers chaque contrôle de la passerelle ; avec stream: true la réponse est en Server-Sent Events, et les garde-fous de coût sont vérifiés pendant le flux. Demande un principal de tenant (403 platform_only) dont l'identifiant porte le scope models:invoke.
Route : /v1/gateway/chat/completions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
req | ChatRequest | oui | Requête de conversation OpenAI (model est l'identifiant du registre, messages, stream, max_tokens, tools...) plus l'objet facultatif eai : data_classification (public, internal par défaut, confidential, restricted, secret), agent_id, session_id, run_id, purpose, project_id, effort, max_cost, fallback_policy et des listes d'autorisation qui ne peuvent que restreindre celles du tenant (provider_allow, model_allow, region_allow). | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (*ChatResponse, error). Réponse JSON décodée de l'opération « Appeler un modèle de conversation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
GatewayService.Isolation
Isolation(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire le mode d'isolation. Mode d'isolation effectif du tenant ou d'un de ses projets : le réglage du projet s'il existe, sinon celui du tenant, sinon connected, avec les hôtes internes déclarés. Demande un principal de tenant (400 tenant_required) avec tenant_admin, platform_admin, security_officer, finops, developer, auditor ou viewer.
Route : /v1/llm/isolation (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire le mode d'isolation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
GatewayService.SetIsolation
SetIsolation(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Définir le mode d'isolation. Définit le mode d'isolation du tenant ou d'un projet. En local_only ou air_gapped, seuls les fournisseurs locaux (vLLM, Ollama, LM Studio) et les hôtes internes déclarés sont joignables : une route externe est refusée au contrôle préalable (403 isolation_external_route) et l'appel sortant est vérifié à nouveau (403 isolation_egress_denied). Audité (llm.isolation.set). Demande un principal de tenant avec tenant_admin, platform_admin ou security_officer.
Route : /v1/llm/isolation (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | mode (connected, local_only ou air_gapped), project_id facultatif (vide pour tout le tenant) et internal_hosts (noms d'hôtes, éventuellement avec un port, en lettres minuscules, chiffres, points et tirets). | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Définir le mode d'isolation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
GatewayService.Stream
Stream(ctx context.Context, req ChatRequest, opts ...CallOption) (*ChatStream, error)
Appeler un modèle de conversation. Complétion de conversation compatible OpenAI à travers chaque contrôle de la passerelle ; avec stream: true la réponse est en Server-Sent Events, et les garde-fous de coût sont vérifiés pendant le flux. Demande un principal de tenant (403 platform_only) dont l'identifiant porte le scope models:invoke.
Route : /v1/gateway/chat/completions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
req | ChatRequest | oui | Requête de conversation OpenAI (model est l'identifiant du registre, messages, stream, max_tokens, tools...) plus l'objet facultatif eai : data_classification (public, internal par défaut, confidential, restricted, secret), agent_id, session_id, run_id, purpose, project_id, effort, max_cost, fallback_policy et des listes d'autorisation qui ne peuvent que restreindre celles du tenant (provider_allow, model_allow, region_allow). | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (*ChatStream, error). Réponse JSON décodée de l'opération « Appeler un modèle de conversation ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
GatewayService.Vision
Vision(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Analyser une image. Lance un travail d'analyse d'image sur un média image ou une image fournie directement avec un prompt (201, le travail). La réponse passe par la DLP avec dlp_mode. detail répond 422 parameter_unsupported quand le fournisseur configuré ne peut pas l'honorer ; une entrée qui n'est pas une image répond 422 unsupported_media. Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/vision (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Image d'entrée, prompt, modèle, mode DLP et niveau de détail. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Analyser une image ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
Classe PoliciesService
Politiques. Politiques fondées sur les attributs (ABAC) qui décident de chaque action sensible de la plateforme, avec le Policy Contract v1, le journal des décisions, la simulation, les révisions et les bundles OPA signés.
PoliciesService.CreateBundle
CreateBundle(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Publier un bundle OPA. Emballe les politiques opa du tenant dans un bundle OPA signé et l'enregistre comme nouvelle révision current. Les politiques actives sont décidées par OPA ; les brouillons sont livrés comme bibliothèques ; les désactivées sont exclues. Aucune politique opa répond 409 policy_bundle_empty ; aucune clé de signature en production 503 policy_bundle_signing_unavailable. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.bundle_publish. Répond 201 avec l'enregistrement du bundle.
Route : /v1/policies/bundles (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom de révision et contenu de data.json facultatifs. Un corps vide génère la révision. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Publier un bundle OPA ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
PoliciesService.DownloadBundle
DownloadBundle(ctx context.Context, revision string, opts ...CallOption) ([]byte, error)
Télécharger un bundle OPA. Renvoie le bundle qu'OPA interroge, en application/gzip : modules Rego, data.json facultatif, .manifest et .signatures.json (JWT RS256 sur le SHA-256 de chaque fichier). L'en-tête ETag est son SHA-256 et X-Bundle-Revision sa révision. Exige tenant_admin, security_officer ou auditor. Répond 404 not_found pour une révision inconnue.
Route : /v1/policies/bundles/{revision}/bundle.tar.gz (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
revision | string | oui | Révision du bundle, ou current pour la dernière publiée. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : ([]byte, error). Réponse JSON décodée de l'opération « Télécharger un bundle OPA ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
PoliciesService.Engines
Engines(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire l'état des moteurs de politique. Renvoie les services de politique (moteur intégré, OPA, OpenFGA) et la version de politique ou la révision de bundle que chacun exécute réellement, lue auprès du moteur lui-même. Exige tenant_admin, security_officer ou auditor.
Route : /v1/policies/engines (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire l'état des moteurs de politique ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
PoliciesService.Evaluate
Evaluate(ctx context.Context, request any, opts ...CallOption) (*PolicyDecision, error)
Évaluer une demande de politique. Renvoie la décision pour une demande du Policy Contract. Le corps est un Policy Contract ({schema_version, request}) ou seulement son objet request (subject, action, resource, context) ; il est validé avec le contrat policy-contract (422 validation_error).
Route : /v1/policies/evaluate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
request | any | oui | Document Policy Contract, ou son seul objet request. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (*PolicyDecision, error). Réponse JSON décodée de l'opération « Évaluer une demande de politique ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
PoliciesService.ListBundles
ListBundles(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les bundles OPA. Liste les bundles OPA publiés pour le tenant : révision, SHA-256, état de signature, politiques incluses et date. Exige tenant_admin, security_officer ou auditor.
Route : /v1/policies/bundles (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les bundles OPA ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
PoliciesService.Revisions
Revisions(ctx context.Context, policyID string, opts ...CallOption) (json.RawMessage, error)
Lister les révisions d'une politique. Liste les révisions immuables de la politique (une par création, modification et suppression, écrite dans la même transaction), avec leur numéro, opération, auteur, date et contenu. Exige tenant_admin, security_officer, auditor ou developer. Répond 404 not_found.
Route : /v1/policies/{policy_id}/revisions (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
policyID | string | oui | Identifiant (UUID) de la politique. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les révisions d'une politique ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
PoliciesService.RevisionsDiff
RevisionsDiff(ctx context.Context, policyID string, opts ...CallOption) (json.RawMessage, error)
Comparer deux révisions d'une politique. Renvoie les différences entre deux révisions de la politique. Par défaut : la révision précédente face à la dernière. La politique est d'abord recherchée (404 not_found), puis les révisions (404 not_found). Exige tenant_admin, security_officer, auditor ou developer.
Route : /v1/policies/{policy_id}/revisions/diff (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
policyID | string | oui | Identifiant (UUID) de la politique. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Comparer deux révisions d'une politique ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).
PoliciesService.Simulate
Simulate(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Simuler une politique candidate. Compare, entrée par entrée, les décisions des politiques actives avec celles du même ensemble où la candidate remplace policy_id (ou est ajoutée). Rien n'est modifié.
Route : /v1/policies/simulate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Politique candidate, politique remplacée, entrées et nombre de décisions enregistrées à rejouer. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Simuler une politique candidate ». L'error est une erreur typée du SDK, nil en cas de succès.
Erreurs levées : error, les erreurs typées du transport (Erreurs).