resources_gen.go (package eai)
Source : sdks/go/resources_gen.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 MetaService
Système. Points techniques du Control Plane : sondes de vie et de disponibilité, description de l'instance, identité de l'appelant, catalogue des briques de la plateforme et feuille de route du produit.
MetaService.Get
Get(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Décrire l'instance du Control Plane. Nom, version et version d'API de l'instance, langues prises en charge et langue par défaut, domaines chargés, et fonctions activées par la configuration : authentification OIDC, par clé d'API, SPIFFE et de développement, OpenBao, OpenFGA, OPA et LiteLLM (vrai quand leur adresse est renseignée). Sans authentification.
Route : /v1/meta (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 « Décrire l'instance du Control Plane ». 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).
MetaService.Health
Health(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Vérifier que le processus est vivant. Sonde de vie : répond toujours 200 avec status: ok et la version du Control Plane tant que le processus sert des requêtes. Elle ne vérifie aucune dépendance. Sans authentification ni limitation de débit.
Route : /healthz (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 que le processus est vivant ». 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).
MetaService.Me
Me(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire le principal courant. Qui est l'appelant : identifiant du principal, type, tenant, habilitation, projet, environnement, méthode d'authentification et nom affiché, avec ses rôles et ses scopes. Si le principal appartient à un tenant, le tenant (identifiant, slug, nom, statut, résidence des données) est aussi renvoyé. Demande une authentification (401 sinon).
Route : /v1/me (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 principal courant ». 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).
MetaService.Ready
Ready(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Vérifier que l'instance est prête. Sonde de disponibilité : vérifie que la base de données répond et que les migrations du schéma ont été appliquées. Répond 200 ready quand chaque contrôle réussit, sinon 503 not_ready, avec le résultat de chaque contrôle et un message dans la langue de la requête. L'état du cache Redis est indiqué mais ne rend jamais l'instance indisponible. Sans authentification ni limitation de débit.
Route : /readyz (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 que l'instance est prête ». 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 CatalogService
Système. Points techniques du Control Plane : sondes de vie et de disponibilité, description de l'instance, identité de l'appelant, catalogue des briques de la plateforme et feuille de route du produit.
CatalogService.Brick
Brick(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire une brique de la plateforme. Une brique du catalogue, retrouvée par son id sans tenir compte de la casse. Répond 404 not_found si aucune brique ne porte cet identifiant. Sans authentification.
Route : /v1/catalog/bricks/{brick_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant de la brique dans le catalogue, insensible à la casse. | |
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 brique de la plateforme ». 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).
CatalogService.Bricks
Bricks(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les briques de la plateforme. Catalogue des briques de la plateforme lu dans bricks.yaml du dossier de catalogue, en une seule page (next_cursor vaut toujours null). Le fichier est chargé en YAML sûr (sans ancres ni alias, 2 Mo au plus). Sans authentification.
Route : /v1/catalog/bricks (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 briques de la plateforme ». 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 RoadmapService
Système. Points techniques du Control Plane : sondes de vie et de disponibilité, description de l'instance, identité de l'appelant, catalogue des briques de la plateforme et feuille de route du produit.
RoadmapService.Get
Get(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire la feuille de route du produit. Feuille de route lue dans roadmap.yaml du dossier de catalogue, toujours avec une liste phases (vide si le fichier est absent). Chargée en YAML sûr. Sans authentification.
Route : /v1/roadmap (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 la feuille de route du produit ». 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 ContractsService
Contrats et manifestes. Schémas JSON publiés (contrats) des documents de la plateforme, et manifestes déclaratifs qui créent ou mettent à jour des objets à partir d'un document, dans l'esprit de l'infrastructure as code.
ContractsService.Get
Get(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Lire un contrat. Renvoie le schéma JSON du contrat tel qu'il est publié. Ouvert à tout appelant authentifié. Un nom inconnu répond 404 unknown_contract.
Route : /v1/contracts/{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 contrat, par exemple agent-manifest. | |
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 contrat ». 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).
ContractsService.List
List(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les contrats. Liste les contrats publiés avec leur name, title, kind, type, file, l'id du schéma et sa description. Ouvert à tout appelant authentifié. next_cursor vaut toujours null.
Route : /v1/contracts (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 contrats ». 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).
ContractsService.ValidateRemote
ValidateRemote(ctx context.Context, name string, body any, opts ...CallOption) (json.RawMessage, error)
Valider un document avec un contrat. Valide le corps avec le contrat, formats compris, sans rien enregistrer. La réponse donne contract, valid et errors, chacune avec le path JSON de la valeur fautive et un message. Ouvert à tout appelant authentifié. Un contrat inconnu répond 404 unknown_contract.
Route : /v1/contracts/{name}/validate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du contrat, par exemple agent-manifest. | |
body | any | oui | Tout document JSON à valider. | |
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 « Valider un document avec un contrat ». 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 ManifestsService
Contrats et manifestes. Schémas JSON publiés (contrats) des documents de la plateforme, et manifestes déclaratifs qui créent ou mettent à jour des objets à partir d'un document, dans l'esprit de l'infrastructure as code.
ManifestsService.Apply
Apply(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Appliquer un manifeste. Crée ou met à jour l'objet décrit par un manifeste, en une transaction. Exige tenant_admin ou developer.
Route : /v1/manifests/apply (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Document de manifeste avec kind, metadata et la spécification de l'objet. | |
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 un manifeste ». 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).
ManifestsService.Export
Export(ctx context.Context, kind string, name string, opts ...CallOption) (json.RawMessage, error)
Exporter un manifeste. Renvoie le manifeste courant d'un objet du tenant : construit par le registre du type quand il sait exporter, sinon le dernier document appliqué. Ouvert à tout membre du tenant. Un type inconnu répond 422 unknown_kind (avec les types pris en charge) ; un objet inconnu 404 not_found.
Route : /v1/manifests/{kind}/{name} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kind | string | oui | Type de manifeste, sans tenir compte de la casse : Agent, Model, Tool, Skill, Plugin, Connector ou Channel. | |
name | string | oui | Nom de l'objet, le metadata.name de son manifeste. | |
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 manifeste ». 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 TenantsService
Tenants et organisation. Les tenants, leur hiérarchie, les projets, les environnements et les membres.
TenantsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer un tenant. Crée un tenant et fait de chaque sujet de admins son tenant_admin. Exige platform_admin. Un identifiant court déjà utilisé répond 409 conflict. Écrit l'événement d'audit tenant.create dans la chaîne du nouveau tenant.
Route : /v1/tenants (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Identifiant court, nom, résidence, paramètres et premiers administrateurs du tenant. | |
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 tenant ». 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).
TenantsService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire un tenant. Renvoie un tenant : identifiant court, nom, statut, résidence des données et paramètres. Un tenant que l'appelant ne peut pas voir répond 404 not_found.
Route : /v1/tenants/{tenant_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du tenant. | |
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 tenant ». 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).
TenantsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les tenants. Liste les tenants visibles par l'appelant, triés par identifiant court, paginés : son propre tenant pour un identifiant de tenant, tous les tenants pour un administrateur de plateforme.
Route : /v1/tenants (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 tenants ». 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).
TenantsService.Update
Update(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un tenant. Modifie le nom, la résidence des données, les paramètres ou le statut d'un tenant. Exige tenant_admin ; changer status (active ou suspended) exige un administrateur de plateforme (403 forbidden). Un tenant suspendu répond 403 tenant_suspended à tout identifiant. Écrit l'événement d'audit tenant.update.
Route : /v1/tenants/{tenant_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du tenant. | |
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 tenant ». 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 ProjectsService
Tenants et organisation. Les tenants, leur hiérarchie, les projets, les environnements et les membres.
ProjectsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer un projet. Crée un projet dans le tenant de l'appelant. Exige tenant_admin.
Route : /v1/projects (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Identifiant court, nom, paramètres, environnements et rattachement du projet. | |
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 projet ». 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).
ProjectsService.CreateEnvironment
CreateEnvironment(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Créer un environnement. Ajoute un environnement (dev, test, staging ou prod) au projet. Exige tenant_admin et la relation editor sur le projet. Un environnement qui existe déjà répond 409 conflict. Écrit l'événement d'audit environment.create.
Route : /v1/projects/{project_id}/environments (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du projet. | |
body | any | oui | Nom et paramètres de l'environnement. | |
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 environnement ». 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).
ProjectsService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer un projet. Supprime le projet et ses environnements. Exige tenant_admin et la relation owner sur le projet (403 relation_required). Des objets qui référencent encore le projet peuvent bloquer la suppression (409 conflict). Écrit l'événement d'audit project.delete. Répond 204.
Route : /v1/projects/{project_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du projet. | |
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).
ProjectsService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire un projet. Renvoie le projet avec ses environnements. Exige la relation viewer sur le projet (403 relation_required, audité). Répond 404 not_found pour un projet inconnu.
Route : /v1/projects/{project_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du projet. | |
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 projet ». 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).
ProjectsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les projets. Liste les projets du tenant triés par identifiant court, paginés, éventuellement filtrés par organisation ou unité métier. Ouvert à tout membre du tenant.
Route : /v1/projects (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 projets ». 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).
ProjectsService.ListEnvironments
ListEnvironments(ctx context.Context, id string, opts ...CallOption) (*Page, error)
Lister les environnements d'un projet. Liste les environnements du projet, triés par nom. Exige la relation viewer sur le projet. Non paginé : next_cursor vaut toujours null.
Route : /v1/projects/{project_id}/environments (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du projet. | |
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 environnements d'un projet ». 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).
ProjectsService.Update
Update(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un projet. Modifie le nom, la description, les paramètres, les métadonnées ou le rattachement d'un projet. Envoyer organization_id ou business_unit_id à null détache le projet. L'unité doit appartenir à l'organisation (422 invalid_hierarchy). Exige tenant_admin et la relation editor sur le projet. Envoyez expected_version pour détecter une modification concurrente (409 version_conflict). Écrit l'événement d'audit project.update.
Route : /v1/projects/{project_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du projet. | |
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 projet ». 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 MembersService
Tenants et organisation. Les tenants, leur hiérarchie, les projets, les environnements et les membres.
MembersService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Ajouter un membre. Donne à un utilisateur (sujet OIDC) un rôle et une habilitation dans le tenant, ou dans un projet avec project_id. La fiche utilisateur est créée si elle est inconnue ; une appartenance existante pour le même utilisateur et le même projet est mise à jour. Exige tenant_admin ; accorder platform_admin exige un administrateur de plateforme (403 forbidden). Écrit l'événement d'audit member.assign.
Route : /v1/members (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Utilisateur, rôle, habilitation et projet facultatif de l'appartenance. | |
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 un membre ». 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).
MembersService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Retirer un membre. Supprime l'appartenance : l'utilisateur perd le rôle qu'elle donnait dès la requête suivante. Exige tenant_admin. Écrit l'événement d'audit member.remove. Répond 204, ou 404 not_found.
Route : /v1/members/{member_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de l'appartenance. | |
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).
MembersService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les membres. Liste les appartenances du tenant, paginées : sujet de l'utilisateur, e-mail, nom affiché, rôle, habilitation, projet et date de création. Ouvert à tout membre du tenant.
Route : /v1/members (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 membres ». 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).
MembersService.Update
Update(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un membre. Modifie le rôle ou l'habilitation d'une appartenance. Exige tenant_admin ; accorder platform_admin exige un administrateur de plateforme (403 forbidden). Écrit l'événement d'audit member.update. Répond 404 not_found pour une appartenance inconnue.
Route : /v1/members/{member_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de l'appartenance. | |
body | any | oui | Nouveau rôle et/ou nouvelle habilitation. | |
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 membre ». 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 APIKeysService
Identité. Qui appelle l'API et avec quels droits. Ce tag couvre l'identité de l'appelant (whoami), les clés d'API des scripts et des services, les identités de service (charges de travail SPIFFE) qu'un utilisateur peut endosser temporairement, et les correspondances de groupes de l'annuaire qui transforment les groupes Keycloak en appartenances à des projets et en quotas.
APIKeysService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une clé d'API. Crée une clé d'API pour les scripts et les services. Exige tenant_admin ou developer. La réponse (201) porte le secret complet dans key, montré une seule fois : rangez-le aussitôt dans un magasin de secrets.
Route : /v1/api-keys (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, droits, rattachement et expiration de la nouvelle clé. | |
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 clé d'API ». 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).
APIKeysService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Révoquer une clé d'API. Révoque la clé immédiatement : toute requête ultérieure faite avec elle répond 401 api_key_revoked. Révoquer une clé déjà révoquée réussit sans changement. Autorisé à tenant_admin, security_officer et developer ; un développeur ne révoque que les clés qu'il a créées, toute autre clé répond 404 not_found. Écrit l'événement d'audit api_key.revoke. Répond 204 sans corps.
Route : /v1/api-keys/{key_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la clé d'API. | |
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).
APIKeysService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les clés d'API. Liste les clés d'API du tenant, paginées par limit et cursor, triées par identifiant. Chaque élément donne le nom, le préfixe public, les rôles, les portées, l'habilitation, le projet, l'environnement, le créateur, l'expiration et l'état de révocation ; jamais le secret ni son empreinte. tenant_admin et security_officer voient toutes les clés, un developer uniquement celles qu'il a créées.
Route : /v1/api-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 : (*Page, error). Réponse JSON décodée de l'opération « Lister les clés d'API ». 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).
APIKeysService.Rotate
Rotate(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Faire tourner une clé d'API. Émet une clé de remplacement avec le même nom, les mêmes rôles, portées, habilitation, projet et environnement, et retire l'ancienne. Le nouveau secret figure dans key de la réponse 201, montré une seule fois.
Route : /v1/api-keys/{key_id}/rotate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la clé d'API. | |
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 tourner une clé d'API ». 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 ServiceIdentitiesService
Identité. Qui appelle l'API et avec quels droits. Ce tag couvre l'identité de l'appelant (whoami), les clés d'API des scripts et des services, les identités de service (charges de travail SPIFFE) qu'un utilisateur peut endosser temporairement, et les correspondances de groupes de l'annuaire qui transforment les groupes Keycloak en appartenances à des projets et en quotas.
ServiceIdentitiesService.Assume
Assume(ctx context.Context, identityID string, body any, opts ...CallOption) (json.RawMessage, error)
Endosser une identité de service. Renvoie un ExecutionContext signé et de courte durée dont le sujet est l'identité de service, pour l'appelant. Ce n'est pas un identifiant d'API : les services en aval le vérifient (POST /v1/context/verify ou le JWKS) et l'appelant le révoque avec POST /v1/context/{context_id}/revoke.
Route : /v1/service-identities/{identity_id}/assume (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
identityID | string | oui | Identifiant (UUID) de l'identité de service. | |
body | any | oui | Finalité, audiences, durée de vie et portées du contexte demandé. | |
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 « Endosser une identité de service ». 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).
ServiceIdentitiesService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une identité de service. Enregistre une identité de charge de travail du tenant avec son identifiant SPIFFE, ses rôles, ses portées et son habilitation. Exige tenant_admin ou security_officer ; les rôles et portées accordés suivent les mêmes règles que les clés d'API (uniquement ce que l'appelant détient). Un identifiant SPIFFE déjà enregistré répond 409 conflict. Écrit l'événement d'audit service_identity.create. Endosser l'identité exige en plus la relation explicite can_assume (voir la route d'endossement).
Route : /v1/service-identities (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, identifiant SPIFFE et droits de l'identité. | |
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 identité de service ». 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).
ServiceIdentitiesService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer une identité de service. Supprime l'identité de service ; elle ne peut plus être endossée ni s'authentifier avec son identifiant SPIFFE. Exige tenant_admin ou security_officer. Écrit l'événement d'audit service_identity.delete. Répond 204, ou 404 not_found.
Route : /v1/service-identities/{identity_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de l'identité de service. | |
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).
ServiceIdentitiesService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les identités de service. Liste les identités de service du tenant, triées par nom, avec leur identifiant SPIFFE, leurs rôles, leurs portées et leur habilitation. Ouvert à tout membre du tenant. Non paginé : next_cursor vaut toujours null.
Route : /v1/service-identities (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 identités de service ». 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 AuthzService
Autorisation par relations. Contrôle d'accès fondé sur les relations (ReBAC) : vérifier et gérer les tuples d'autorisation du tenant. Le moteur est OpenFGA quand il est configuré, sinon la table de tuples intégrée, avec les mêmes règles.
AuthzService.Check
Check(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Vérifier une relation. Indique si subject détient relation sur object, en suivant l'héritage. Jusqu'à 20 contextual_tuples sont tenus pour vrais pour cette seule vérification et jamais enregistrés (un tuple invalide répond 422 validation_error). Ouvert à tout membre du tenant. La réponse donne allowed, engine, subject, relation et object. Écrit l'événement d'audit authz.check avec la décision. Quand le moteur ne peut pas répondre, la décision est un refus, elle est auditée et l'API répond 502 authz_backend_error.
Route : /v1/authz/check (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Sujet, relation, objet et tuples contextuels facultatifs. | |
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 relation ». 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).
AuthzService.DeleteTuples
DeleteTuples(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Supprimer des tuples d'autorisation. Supprime un tuple ({subject, relation, object}) ou jusqu'à 100 ({"tuples": [...]}). Exige tenant_admin ou security_officer. Les tuples inexistants sont ignorés ; la réponse donne deleted (nombre supprimé) et engine. Écrit l'événement d'audit authz.delete. 502 authz_backend_error quand le moteur ne peut pas répondre.
Route : /v1/authz/tuples (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Un tuple, ou un objet tuples avec 1 à 100 tuples. | |
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 des tuples d'autorisation ». 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).
AuthzService.ListTuples
ListTuples(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les tuples d'autorisation. Liste les tuples enregistrés du tenant, triés par objet, relation et sujet, 1000 au plus, éventuellement filtrés par objet et par sujet (égalité exacte). Ouvert à tout membre du tenant. next_cursor vaut toujours null.
Route : /v1/authz/tuples (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 tuples d'autorisation ». 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).
AuthzService.WriteTuples
WriteTuples(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Écrire des tuples d'autorisation. Accorde un tuple ({subject, relation, object}) ou jusqu'à 100 ({"tuples": [...]}) en une transaction. Exige tenant_admin ou security_officer. Un sujet générique (user:*) sur une relation réservée aux sujets nommés, comme can_assume, répond 422 authz_wildcard_not_allowed. La réponse (201) donne written et engine. Écrit l'événement d'audit authz.write. 502 authz_backend_error quand le moteur ne peut pas répondre.
Route : /v1/authz/tuples (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Un tuple, ou un objet tuples avec 1 à 100 tuples. | |
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 « Écrire des tuples d'autorisation ». 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.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une politique. Crée une politique du tenant et ajoute sa première révision. Une politique opa exige rego (422 validation_error) et, sauf si OPA charge des bundles signés, est poussée immédiatement dans OPA (503 policy_engine_unavailable quand OPA est injoignable). Un nom déjà utilisé répond 409 conflict. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.create.
Route : /v1/policies (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, moteur, règles ou Rego, priorité et statut 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 « Créer 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.Decisions
Decisions(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les décisions de politique. Liste les décisions du tenant, les plus récentes d'abord, paginées : sujet, action, ressource, contexte, autorisation, politique et version, raisons, obligations, moteur et date. Exige tenant_admin, security_officer ou auditor.
Route : /v1/policies/decisions (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écisions 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.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer une politique. Supprime la politique et ajoute une révision delete. Une politique OPA poussée directement dans OPA en est aussi retirée (503 policy_engine_unavailable quand OPA est injoignable). Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.delete. Répond 204, ou 404 not_found.
Route : /v1/policies/{policy_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la politique. | |
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).
PoliciesService.EvaluateRaw
EvaluateRaw(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, 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. | |
body | 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 : (json.RawMessage, 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.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire une politique. Renvoie une politique. Ouvert à tout membre du tenant. Répond 404 not_found.
Route : /v1/policies/{policy_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | 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 « Lire 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.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les politiques. Liste les politiques du tenant dans l'ordre d'évaluation (priorité, puis nom), avec leurs règles ou leur Rego. Ouvert à tout membre du tenant. next_cursor vaut toujours null.
Route : /v1/policies (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 politiques ». 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.Replace
Replace(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Remplacer une politique. Remplace tous les champs de la politique et ajoute une révision update. Même validation qu'à la création (rego pour opa, nom unique). Une politique opa est poussée dans OPA sauf si OPA charge des bundles. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.update. Répond 404 not_found pour une politique inconnue.
Route : /v1/policies/{policy_id} (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la politique. | |
body | any | oui | Nouveau contenu complet 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 « Remplacer 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).
Classe ApprovalsService
Validations. Humain dans la boucle : demandes de validation des actions sensibles, avec séparation des tâches, quorum et expiration. Les exécutions d'agents qui atteignent un outil soumis à validation, les promotions de modèles, d'agents, d'outils, de compétences, de serveurs MCP ou de plugins, les accès d'urgence et les mandats créent tous leurs demandes de validation ici.
ApprovalsService.Cancel
Cancel(ctx context.Context, approvalID string, body any, opts ...CallOption) (json.RawMessage, error)
Annuler une demande de validation. Retire une demande en attente. Autorisé à son demandeur, à un tenant_admin ou à un security_officer (403 forbidden sinon, le refus étant audité). La demande finit cancelled et son sujet réagit comme à un refus : une exécution en attente échoue (approval_cancelled), un accès d'urgence ou un mandat en attente est refusé. Une demande qui n'est plus en attente répond 409 approval_closed. Écrit l'événement d'audit approval.cancel avec la raison. La réponse porte run_state quand une exécution est rattachée.
Route : /v1/approvals/{approval_id}/cancel (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
approvalID | string | oui | Identifiant (UUID) de la demande de validation. | |
body | any | oui | Raison de l'annulation. | |
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 « Annuler une demande de validation ». 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).
ApprovalsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Demander une validation. Crée une demande de validation en attente. Exige tenant_admin, developer, agent, security_officer ou finops.
Route : /v1/approvals (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Action, ressource, quorum, valideurs et expiration de la demande. | |
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 une validation ». 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).
ApprovalsService.Decide
Decide(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Approuver ou refuser une demande. Enregistre la décision de l'appelant sur une demande en attente.
Route : /v1/approvals/{approval_id}/decide (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la demande de validation. | |
body | any | oui | Décision et commentaire facultatif. | |
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 ou refuser une demande ». 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).
ApprovalsService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire une demande de validation. Renvoie une demande de validation avec ses décisions (valideur, décision, commentaire, date) et approvals_count. Une demande en attente dont l'expiration est passée est marquée expired et son exécution en attente échoue. Ouvert à tout membre du tenant. Répond 404 approval_not_found.
Route : /v1/approvals/{approval_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la demande de validation. | |
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 validation ». 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).
ApprovalsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les demandes de validation. Liste les demandes de validation du tenant, les plus récentes d'abord, paginées, éventuellement filtrées par statut. Les demandes en attente dont l'expiration est passée sont d'abord marquées expired. Chaque élément porte ses decisions et approvals_count. Ouvert à tout membre du tenant.
Route : /v1/approvals (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 demandes de validation ». 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 RiskService
Risques et conformité. Gestion des risques des systèmes d'IA du tenant : évaluations au titre de l'AI Act européen, contrôles rattachés à l'ISO/IEC 42001, au NIST AI RMF, au RGPD et à l'AI Act, preuves et dérogations limitées dans le temps.
RiskService.CreateAssessment
CreateAssessment(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Évaluer le risque d'un système d'IA. Classe la cible au titre de l'AI Act européen et enregistre l'évaluation. Exige tenant_admin, security_officer, developer ou ai_governance_officer ; le statut approved exige tenant_admin, security_officer ou ai_governance_officer (403 forbidden).
Route : /v1/risk/assessments (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Cible, cas d'usage, réponses, responsable, statut et preuves de l'évaluation. | |
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 « Évaluer le risque d'un système d'IA ». 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).
RiskService.CreateControl
CreateControl(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Adopter ou modifier un contrôle. Crée ou modifie le contrôle du code donné. Pour un code du catalogue, le titre et les référentiels valent par défaut ceux du catalogue. Exige tenant_admin ou security_officer. Erreurs 400 invalid_request : statut autre que planned, implemented, partially_implemented ou not_applicable ; absence de titre pour un code personnalisé ; référentiel autre que iso_42001, nist_ai_rmf, gdpr ou eu_ai_act. Les preuves fournies sont ajoutées. Écrit l'événement d'audit risk.control.upsert.
Route : /v1/risk/controls (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Code, titre, référentiels, statut, responsable et preuves du contrôle. | |
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 « Adopter ou modifier un contrôle ». 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).
RiskService.CreateException
CreateException(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Demander une dérogation à un contrôle. Enregistre une dérogation limitée dans le temps sur un contrôle (control_id ou control_code) ou sur une cible (target_ref). Exige tenant_admin, security_officer ou developer.
Route : /v1/risk/exceptions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Contrôle ou cible, raison, contrôles compensatoires, approbateur et expiration. | |
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 une dérogation à un contrôle ». 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).
RiskService.Evidence
Evidence(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire les preuves de conformité. Renvoie les preuves enregistrées sur les contrôles et les évaluations, les plus récentes d'abord, plus les preuves collectées automatiquement sur la plateforme et rattachées aux contrôles du catalogue : nombres d'agents, d'outils, de modèles, d'évaluations, de règles DLP et de politiques de conservation actives, de clés, d'événements et d'exports d'audit avec l'état de la chaîne d'audit, d'évaluations, de campagnes de red team, d'incidents et de validations. Ouvert à tout membre du tenant.
Route : /v1/risk/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 « Lire les preuves de conformité ». 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).
RiskService.ListAssessments
ListAssessments(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les évaluations de risques. Liste les évaluations du tenant, les plus récentes d'abord, 500 au plus, éventuellement pour une seule cible. Chaque élément donne la cible, eu_ai_act_category (aussi en risk_level), les cas d'usage, les réponses, la justification, les obligations, le statut et le responsable. Ouvert à tout membre du tenant. next_cursor vaut toujours null.
Route : /v1/risk/assessments (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 évaluations de risques ». 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).
RiskService.ListControls
ListControls(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les contrôles. Liste les contrôles adoptés par le tenant, triés par code, chacun avec evidence_count, ses exceptions et active_exceptions, ainsi que le catalog intégré où adopted indique ceux que le tenant utilise. Ouvert à tout membre du tenant.
Route : /v1/risk/controls (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 contrôles ». 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 IncidentsService
Incidents. Incidents de sécurité et d'exploitation du tenant : gravité, statut, chronologie, actions de confinement, alertes Alertmanager et transmission au SIEM.
IncidentsService.Action
Action(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Lancer une action de confinement. Lance une action de confinement par le domaine propriétaire de la cible et l'enregistre sur l'incident. Exige tenant_admin ou security_officer.
Route : /v1/incidents/{incident_id}/actions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de l'incident. | |
body | any | oui | Action, cible 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 « Lancer une action 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).
IncidentsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Ouvrir un incident. Ouvre un incident au statut open, ajoute l'entrée created à la chronologie et le transmet au SIEM. Exige tenant_admin, security_officer, developer ou agent. Une gravité inconnue répond 400 invalid_request. Écrit l'événement d'audit incident.create. La réponse (201) porte l'incident avec sa chronologie.
Route : /v1/incidents (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Titre, gravité, description, catégorie, ressources et responsable. | |
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 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).
IncidentsService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire un incident. Renvoie l'incident avec sa timeline (type, message, données, acteur, date) et ses actions de confinement (action, cible, statut, résultat). Ouvert à tout membre du tenant. Répond 404 not_found.
Route : /v1/incidents/{incident_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | 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 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).
IncidentsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les incidents. Liste les incidents du tenant, identifiant le plus récent d'abord, paginés, éventuellement filtrés par statut et gravité. Les éléments ne portent ni la chronologie ni les actions (lisez un incident pour les obtenir). Ouvert à tout membre du tenant.
Route : /v1/incidents (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 incidents ». 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).
IncidentsService.Update
Update(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un incident. Modifie le statut, la gravité ou le responsable et ajoute éventuellement une note. Chaque changement est ajouté à la chronologie et transmis au SIEM ; passer à resolved ou closed renseigne resolved_at. Exige tenant_admin ou security_officer. Un statut ou une gravité inconnus répondent 400 invalid_request. Écrit l'événement d'audit incident.update.
Route : /v1/incidents/{incident_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de l'incident. | |
body | any | oui | Champs à modifier et note 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 « Modifier 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).
Classe GovernanceService
Gouvernance. Registre de gouvernance : une vue agrégée des actifs d'IA du tenant, pour savoir ce qui existe, qui en est responsable et quel est son niveau de risque.
GovernanceService.Registry
Registry(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire le registre de gouvernance. Inventaire des agents, modèles, fournisseurs, outils, skills, plugins et connecteurs (5000 éléments par type au plus, par nom), une liste par type (agents, models, ...), avec un summary par type : total, nombre par statut, nombre par niveau de risque (unassessed à défaut) et nombre d'éléments sans responsable. missing_sources liste les tables non installées sur cette instance ; leur liste est vide. Demande un principal de tenant (403 tenant_required). Un type inconnu répond 400 invalid_request avec les types autorisés.
Route : /v1/governance/registry (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 registre de gouvernance ». 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 SecretsService
Secrets. Magasin en écriture seule des secrets du tenant : clés de fournisseurs, mots de passe de connecteurs, jetons de serveurs MCP. Les valeurs sont chiffrées (dans OpenBao quand il est configuré, sinon en AES-GCM dans la base) et ne sont jamais renvoyées par l'API. Les autres objets désignent un secret par son chemin ; la plateforme ne lit la valeur côté serveur que lorsqu'elle en a besoin.
SecretsService.Delete
Delete(ctx context.Context, path string, opts ...CallOption) error
Supprimer un secret. Supprime le secret et, avec OpenBao, sa valeur dans le coffre. Exige tenant_admin, security_officer ou developer ; un développeur ne supprime que les secrets qu'il a écrits (403 forbidden). Les objets qui désignent encore ce chemin cessent de fonctionner. Écrit l'événement d'audit secret.delete. Répond 204, 404 not_found, ou 502 secret_backend_error quand le coffre est injoignable.
Route : /v1/secrets/{path} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
path | string | oui | Chemin du secret, barres obliques comprises, par exemple connectors/crm/password. | |
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).
SecretsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les secrets. Liste les métadonnées des secrets du tenant triées par chemin : id, path, backend (openbao ou local), version, created_by, created_at, updated_at. Jamais la valeur. Ouvert à tout membre du tenant. next_cursor vaut toujours null.
Route : /v1/secrets (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 secrets ». 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).
SecretsService.Put
Put(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Écrire un secret. Crée le secret, ou remplace sa valeur quand le chemin existe (la version augmente de un). Exige tenant_admin, security_officer ou developer ; un développeur ne remplace que les secrets qu'il a écrits (403 forbidden). Un chemin contenant un segment .. répond 400 invalid_request. La réponse (201) donne les métadonnées, jamais la valeur. Écrit l'événement d'audit secret.write. 502 secret_backend_error quand le coffre est injoignable.
Route : /v1/secrets (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Chemin et valeur du secret. | |
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 « Écrire un secret ». 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 ProvidersService
LLM et passerelle de modèles. Fournisseurs de modèles, registre des modèles, règles de routage et passerelle de modèles (Model Gateway) : le seul chemin par lequel agents et applications appellent les modèles.
ProvidersService.Catalog
Catalog(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire le catalogue des fournisseurs. Chaque type de fournisseur pris en charge par la plateforme, avec les champs et identifiants nécessaires, les libellés dans la langue de la requête, les fournisseurs configurés de chaque type, et la façon de trouver ses modèles (api : API de liste, manual_only : saisie par l'administrateur). Demande un rôle de lecteur.
Route : /v1/providers/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 des fournisseurs ». 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).
ProvidersService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer un fournisseur de modèles. Crée un fournisseur pour le tenant, ou un fournisseur partagé avec scope: platform (platform_admin seulement), et répond 201 sans les identifiants. Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/providers (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | provider_type (ou type, un type du catalogue ou un alias), name facultatif (le type par défaut), api_base (ou base_url), config, credentials (champs secrets), regions, retention, scope (platform pour un fournisseur partagé). | |
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 fournisseur de modèles ». 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).
ProvidersService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer un fournisseur de modèles. Supprime le fournisseur et répond 204 ; un fournisseur partagé demande platform_admin (403 platform_only). Audité (provider.delete). Fournisseur inconnu ou invisible : 404 provider_not_found. Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/providers/{pid} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du fournisseur. | |
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).
ProvidersService.Disable
Disable(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Désactiver un fournisseur (kill switch). Kill switch du fournisseur : la passerelle refuse immédiatement ses modèles (403 provider_disabled) et la découverte est refusée (409). Un fournisseur partagé demande platform_admin. Audité (provider.disable). Demande tenant_admin, platform_admin, ai_platform_engineer ou security_officer.
Route : /v1/providers/{pid}/disable (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du fournisseur. | |
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ésactiver un fournisseur (kill switch) ». 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).
ProvidersService.Enable
Enable(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Réactiver un fournisseur désactivé. Lève le kill switch du fournisseur. Un fournisseur partagé demande platform_admin. Audité (provider.enable). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/providers/{pid}/enable (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du fournisseur. | |
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éactiver un fournisseur désactivé ». 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).
ProvidersService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire un fournisseur configuré. Un fournisseur sans ses identifiants. Un fournisseur d'un autre tenant, ou un identifiant qui n'est pas un UUID, répond 404 provider_not_found. Demande un rôle de lecteur.
Route : /v1/providers/{pid} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du fournisseur. | |
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 fournisseur configuré ». 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).
ProvidersService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les fournisseurs configurés. Fournisseurs partagés et fournisseurs du tenant de l'appelant, avec leur type, leur adresse, leur configuration, leurs régions, leur rétention, leur état et leur dernier test ; les identifiants ne sont jamais renvoyés (seulement les noms des champs renseignés). Demande un rôle de lecteur.
Route : /v1/providers (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 fournisseurs configurés ». 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).
ProvidersService.Test
Test(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Tester la connexion d'un fournisseur. Appelle le point de liste du fournisseur avec ses identifiants enregistrés (pour les protocoles signés comme Bedrock et Vertex, vérifie que le jeu d'identifiants est complet) et répond ok, le statut HTTP, un détail et les modèles vus. Le résultat est enregistré comme état de connexion et audité (provider.test). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/providers/{pid}/test (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du fournisseur. | |
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 « Tester la connexion d'un fournisseur ». 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).
ProvidersService.Update
Update(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un fournisseur de modèles. Modifie la configuration, l'adresse, les régions, la rétention ou les identifiants d'un fournisseur. Les nouveaux identifiants sont écrits dans le magasin de secrets et remettent à zéro l'état de connexion jusqu'au prochain test. Une adresse distante doit utiliser TLS (422 tls_required) et respecter les règles d'adresses sortantes ; un champ d'identifiant inconnu répond 422. Un fournisseur partagé demande platform_admin. Audité (provider.update, sans les valeurs). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/providers/{pid} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du fournisseur. | |
body | any | oui | Champs à modifier : config, api_base (ou base_url), credentials (champs secrets ; un champ secret envoyé dans config y est déplacé), regions, retention. | |
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 fournisseur de modèles ». 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 ModelsService
LLM et passerelle de modèles. Fournisseurs de modèles, registre des modèles, règles de routage et passerelle de modèles (Model Gateway) : le seul chemin par lequel agents et applications appellent les modèles.
ModelsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer un modèle. Enregistre un modèle pour le tenant, ou un modèle partagé avec scope: platform (platform_admin seulement), et répond 201. Le corps est un Model Manifest v1 ou une spec seule ; il doit être valide (422 invalid_manifest) et sa catégorie doit exister. Un identifiant de modèle déjà enregistré dans la même portée répond 409 model_exists. Audité (model.create). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/models (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Un Model Manifest v1 (kind: Model, metadata, spec) ou la spec seule (model_id, provider, provider_model_id, capabilities, context_window, status...), avec les champs de la fiche, pricing et scope facultatifs. | |
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 un modèle ». 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).
ModelsService.Delete
Delete(ctx context.Context, modelID string, opts ...CallOption) error
Supprimer un modèle du registre. Supprime l'entrée du modèle propre au tenant (la suppression d'une surcharge d'un modèle partagé fait réapparaître l'entrée partagée), ou l'entrée partagée s'il n'y a pas d'entrée du tenant ; l'entrée partagée demande platform_admin (403 platform_only). Répond 204 ; audité (model.delete). Modèle inconnu : 404 model_not_found. Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/models/{model_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
modelID | string | oui | Identifiant du modèle dans le registre (pas l'identifiant du modèle chez le fournisseur). | |
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).
ModelsService.Disable
Disable(ctx context.Context, modelID string, opts ...CallOption) (json.RawMessage, error)
Désactiver un modèle (kill switch). Kill switch du modèle pour le tenant : la passerelle le refuse immédiatement (403 model_disabled). Sur un modèle partagé, cela crée une surcharge propre au tenant. Audité (model.disable). Demande tenant_admin, platform_admin, ai_platform_engineer ou security_officer.
Route : /v1/models/{model_id}/disable (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
modelID | string | oui | Identifiant du modèle dans le registre. | |
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ésactiver un modèle (kill switch) ». 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).
ModelsService.Get
Get(ctx context.Context, modelID string, opts ...CallOption) (json.RawMessage, error)
Lire un modèle enregistré. Un modèle du registre, ou son Model Manifest v1 avec format=manifest. Modèle inconnu : 404 model_not_found. Demande un rôle de lecteur.
Route : /v1/models/{model_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
modelID | string | oui | Identifiant du modèle dans le registre. | |
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 modèle enregistré ». 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).
ModelsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les modèles enregistrés. Modèles visibles par l'appelant (modèles partagés avec les surcharges du tenant appliquées, et modèles du tenant), éventuellement filtrés. Une seule page (next_cursor vaut toujours null). Demande un rôle de lecteur.
Route : /v1/models (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 modèles enregistrés ». 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).
ModelsService.Resolve
Resolve(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Résoudre les paramètres natifs d'appel. Capability Resolver : traduit des paramètres d'appel normalisés (par exemple l'effort de raisonnement none, low, medium, high, max) en paramètres natifs du modèle, d'après ce que déclare son manifeste. Une valeur non prise en charge est refusée avec un code explicite ou ajustée avec un avertissement dans la réponse, jamais silencieusement. Modèle inconnu : 404 model_not_found. Demande un rôle de lecteur.
Route : /v1/models/resolve (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | model (ou model_id) et les paramètres normalisés, soit dans params, soit à la racine du corps. | |
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ésoudre les paramètres natifs d'appel ». 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).
ModelsService.SetStatus
SetStatus(ctx context.Context, modelID string, body any, opts ...CallOption) (json.RawMessage, error)
Changer le statut d'un modèle. Fixe le statut à approved, restricted, deprecated ou blocked (422 status_invalid sinon). Pour un tenant, une promotion vers approved n'est pas appliquée tout de suite : une demande d'approbation est ouverte et la réponse est 202 avec elle ; le statut change une fois la demande approuvée. Les autres changements s'appliquent immédiatement et sont audités (model.status, avec l'ancien et le nouveau statut). Demande tenant_admin, platform_admin, ai_platform_engineer ou security_officer.
Route : /v1/models/{model_id}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
modelID | string | oui | Identifiant du modèle dans le registre. | |
body | any | oui | status (approved, restricted, deprecated ou blocked) et une reason 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 « Changer le statut d'un modèle ». 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).
ModelsService.Update
Update(ctx context.Context, modelID string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un modèle enregistré. Modifie des champs de la spec du modèle, de la fiche (category, display_name, knowledge_cutoff) ou des prix ; l'identifiant du modèle ne change jamais. Une modification d'un modèle partagé par un tenant crée une surcharge propre au tenant. La spec fusionnée doit rester un Model Manifest v1 valide (422 invalid_manifest) et la catégorie doit exister. Audité (model.update). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/models/{model_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
modelID | string | oui | Identifiant du modèle dans le registre. | |
body | any | oui | Champs de la spec à modifier, champs de la fiche et pricing (par million de jetons : input_per_mtok, output_per_mtok, cached_input_per_mtok, cache_write_per_mtok ; par unité : per_image, per_second, per_character ; avec une devise). Utilisez POST .../status pour changer le statut. | |
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 modèle enregistré ». 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 RoutesService
LLM et passerelle de modèles. Fournisseurs de modèles, registre des modèles, règles de routage et passerelle de modèles (Model Gateway) : le seul chemin par lequel agents et applications appellent les modèles.
RoutesService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une règle de routage. Crée une règle de routage du tenant et répond 201. Un principal de plateforme sans tenant répond 403 platform_only ; une stratégie inconnue 422 parameter_invalid. Audité (route.create). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/routes (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | name (default par défaut), match (champs de la requête auxquels la règle s'applique, une valeur ou une liste de valeurs), strategy (priority par défaut, cost, latency, quality), candidates (identifiants de modèles, ou un seul target_model), fallbacks, constraints, priority (100 par défaut, la plus basse d'abord), enabled (vrai par défaut). | |
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 règle de routage ». 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).
RoutesService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer une règle de routage. Supprime une règle de routage du tenant et répond 204. Règle inconnue : 404 route_not_found. Audité (route.delete). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/routes/{rid} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant de la règle de routage. | |
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).
RoutesService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les règles de routage. Règles de routage du tenant par priorité puis par nom, chacune avec ses critères, sa stratégie, ses candidats, ses replis, ses contraintes et son target_model (le premier candidat). Demande un rôle de lecteur.
Route : /v1/routes (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 règles de routage ». 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).
RoutesService.Replace
Replace(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Remplacer une règle de routage. Remplace les critères, la stratégie, les candidats, les replis, les contraintes, la priorité et l'indicateur d'activation d'une règle du tenant (les champs omis prennent leur valeur par défaut ; le nom est conservé). Règle inconnue : 404 route_not_found. Audité (route.update). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/routes/{rid} (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant de la règle de routage. | |
body | any | oui | La règle complète : mêmes champs qu'à la création sauf name. | |
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 « Remplacer une règle de routage ». 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).
RoutesService.Simulate
Simulate(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Simuler le routage d'une requête. Indique vers quel modèle une requête serait routée, sans l'appeler : la règle donnée par route_id ou la première règle active qui correspond, les listes d'autorisation et d'interdiction du tenant (restreintes par la requête), la classification et la politique de repli. Répond le modèle choisi, les replis, les candidats écartés avec leur raison et la règle utilisée ; aucun modèle éligible répond 422 no_eligible_model. Les modèles restreints ne sont admis que pour tenant_admin et security_officer avec allow_restricted. Demande un rôle de lecteur.
Route : /v1/routes/simulate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Requête à simuler : model, candidates, strategy, purpose, capabilities, data_classification (internal par défaut), region_allow, provider_allow, model_allow, allow_restricted, fallback_policy (allowed par défaut), route_id facultatif, et tout champ sur lequel portent les règles. | |
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 le routage d'une requête ». 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 LiteLLMService
LLM et passerelle de modèles. Fournisseurs de modèles, registre des modèles, règles de routage et passerelle de modèles (Model Gateway) : le seul chemin par lequel agents et applications appellent les modèles.
LiteLLMService.Config
Config(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Générer la configuration LiteLLM. Configuration du proxy LiteLLM générée à partir des modèles visibles et des fournisseurs activés (un fournisseur du tenant l'emporte sur un fournisseur partagé du même type). Elle ne contient jamais de valeur secrète : les identifiants sont des références os.environ/<NOM> résolues par le déploiement LiteLLM. Demande tenant_admin, platform_admin, ai_platform_engineer, security_officer ou auditor.
Route : /v1/litellm/config (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 « Générer la configuration LiteLLM ». 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).
LiteLLMService.Sync
Sync(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Envoyer la configuration à LiteLLM. Fait en sorte que le proxy LiteLLM contienne exactement la liste de modèles générée : les modèles créés par le Control Plane et devenus inutiles sont retirés, ceux qui manquent sont ajoutés ; les modèles ajoutés à la main dans LiteLLM ne sont pas touchés. Sans EAI_LITELLM_URL rien n'est envoyé (mode: in_process). Une erreur de transport répond 502 upstream_error. Audité (litellm.sync). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/litellm/sync (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 « Envoyer la configuration à LiteLLM ». 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 AdaptersService
LLM et passerelle de modèles. Fournisseurs de modèles, registre des modèles, règles de routage et passerelle de modèles (Model Gateway) : le seul chemin par lequel agents et applications appellent les modèles.
AdaptersService.List
List(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les adaptateurs spécialisés. Adaptateurs spécialisés de la passerelle (génération d'images, transcription, synthèse vocale, génération de vidéo...) avec leur modalité, leur libellé dans la langue de la requête et dans les deux langues, leur statut (configured quand leur adresse est renseignée, sinon not_configured) et les contrôles qui leur sont appliqués. Demande un rôle de lecteur.
Route : /v1/adapters (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 adaptateurs spécialisés ». 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
LLM et passerelle de modèles. Fournisseurs de modèles, registre des modèles, règles de routage et passerelle de modèles (Model Gateway) : le seul chemin par lequel agents et applications appellent les modèles.
ContextService.Plan
Plan(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Planifier la fenêtre de contexte. Simulation du Context Manager : calcule le budget de jetons d'une fenêtre de modèle (réserves de sortie, de raisonnement et de sécurité) et les segments conservés, compressés ou écartés selon leur priorité. Avec model, la fenêtre et la réserve de sortie viennent du registre. Une fenêtre qui n'est pas un entier positif répond 422 parameter_invalid ; des segments qui ne peuvent pas tenir répondent 422 context_overflow. Demande un rôle de lecteur.
Route : /v1/context/plan (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | model (ou model_id), ou window (jetons) ; output (jetons de sortie réservés, par défaut le maximum du modèle plafonné à 4096), reasoning (jetons de raisonnement réservés), safety (marge) et segments (chacun avec type, et facultativement segment_id, priority, classification et son contenu). | |
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 « Planifier la fenêtre de contexte ». 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
LLM et passerelle de modèles. Fournisseurs de modèles, registre des modèles, règles de routage et passerelle de modèles (Model Gateway) : le seul chemin par lequel agents et applications appellent les modèles.
GatewayService.AudioSpeech
AudioSpeech(ctx context.Context, body any, opts ...CallOption) ([]byte, error)
Synthétiser de la parole à partir d'un texte. Synthèse vocale par l'adaptateur TTS, au format OpenAI audio/speech ; l'audio est renvoyé tel quel (audio/*). Le kill switch du tenant, la classification des données et l'habilitation de l'appelant, l'isolation des secrets et l'audit s'appliquent, et le coût est réservé sur les quotas selon le nombre de caractères. Demande un principal de tenant avec le scope models:invoke. Sans adaptateur configuré : 501 adapter_not_available ; adaptateur injoignable : 502 upstream_error.
Route : /v1/gateway/audio/speech (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Requête de synthèse OpenAI (model, input, voice, response_format...) plus l'objet facultatif eai (data_classification, agent_id, run_id). | |
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 « Synthétiser de la parole à partir d'un texte ». 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.AudioTranscriptions
AudioTranscriptions(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Transcrire un fichier audio. Transcription par l'adaptateur STT, au format OpenAI audio/transcriptions. Demande un principal de tenant avec le scope models:invoke.
Route : /v1/gateway/audio/transcriptions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Multipart file plus model, language, prompt, response_format (json, text, srt, verbose_json, vtt), temperature (de 0 à 1), timestamp_granularities (word, segment) et eai (un objet JSON sous forme de texte) ; ou JSON avec content_base64, mime_type, filename et les mêmes champs. | |
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 « Transcrire un fichier audio ». 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.ChatCompletionsRaw
ChatCompletionsRaw(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, 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. | |
body | any | 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 : (json.RawMessage, 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.Embeddings
Embeddings(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.Estimate
Estimate(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Estimer un appel à la passerelle. Exécute chaque contrôle préalable de la passerelle sans appeler le modèle et renvoie le modèle résolu, l'identifiant de décision, les jetons d'entrée, les jetons de sortie maximaux, l'estimateur, le coût estimé, la limite de coût, les replis, les avertissements et le plan de contexte. Une requête refusée par un contrôle répond la même erreur que l'appel réel. Demande un principal de tenant avec le scope models:invoke.
Route : /v1/gateway/estimate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le corps de l'appel à estimer, avec kind facultatif (chat, embeddings ou rerank) ; sans kind, il est déduit de input (embeddings) ou query (rerank), sinon conversation. | |
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 « Estimer un appel à la passerelle ». 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.ImageGenerations
ImageGenerations(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Générer des images. Génération d'images par l'adaptateur d'images au format OpenAI. Le prompt passe par la DLP du tenant (422 dlp_blocked), le kill switch, la classification, l'isolation des secrets et l'audit s'appliquent, et le coût est réservé selon le nombre d'images ; les champs texte de la réponse (revised_prompt) sont aussi analysés. Demande un principal de tenant avec le scope models:invoke. Sans adaptateur configuré : 501 adapter_not_available.
Route : /v1/gateway/images/generations (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'image OpenAI (model, prompt, n, size...) 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 « Générer des images ». 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.Rerank
Rerank(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Réordonner des documents. Réordonne des documents par rapport à une query à travers les mêmes contrôles que la conversation (DLP sur la requête, garde-fous de coût, décision de politique, audit). Le modèle doit déclarer la capacité rerank (422 capability_not_supported). Demande un principal de tenant avec le scope models:invoke.
Route : /v1/gateway/rerank (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Requête de réordonnancement : model, query, documents (textes ou objets), top_n 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 « Réordonner des documents ». 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.VideoGeneration
VideoGeneration(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire une tâche de génération de vidéo. État et résultat d'une tâche de génération de vidéo, lus auprès de l'adaptateur vidéo avec le même kill switch et le même audit que les autres appels d'adaptateur. Demande un principal de tenant (403 platform_only sinon) dont l'identifiant porte le scope models:invoke. Sans adaptateur vidéo configuré : 501 adapter_not_available.
Route : /v1/gateway/video/generations/{job_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant de la tâche renvoyé par POST /v1/gateway/video/generations. | |
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 tâche de génération de vidéo ». 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.VideoGenerations
VideoGenerations(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Lancer une génération de vidéo. Lance une tâche de génération de vidéo sur l'adaptateur vidéo, avec le même kill switch, la même classification, la même DLP du prompt, la même réservation de coût et le même audit que les autres adaptateurs ; lisez la tâche avec GET /v1/gateway/video/generations/{job_id}. Demande un principal de tenant avec le scope models:invoke. Sans adaptateur configuré : 501 adapter_not_available.
Route : /v1/gateway/video/generations (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Requête de génération de vidéo de l'adaptateur (model, prompt et ses options) 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 « Lancer une génération de vidéo ». 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 AgentsService
Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
AgentsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer un agent ou une version. Applique un manifeste Agent : crée l'agent, ou ajoute une version à un agent existant et la rend courante. Le manifeste est validé selon le contrat v1 (422 invalid_manifest) ; le niveau de risque unacceptable est refusé (422 agent_risk_unacceptable) ; la même version avec un autre contenu est refusée (409 version_immutable). apply_status dans la réponse vaut created, version_added ou unchanged. Demande tenant_admin, developer ou application_owner ; l'appelant devient propriétaire ReBAC. Audité sous agent.apply.
Route : /v1/agents (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Manifeste Agent (kind: Agent, metadata avec nom, version et propriétaire, spec). | |
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 un agent ou 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).
AgentsService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer un agent. Supprime l'agent et ses versions. Demande le rôle tenant_admin et la relation ReBAC owner sur l'agent. Refusé avec 409 agent_has_active_runs tant qu'un run de l'agent est encore actif (en attente, en cours, en pause ou suspendu) ; 404 agent_not_found pour un agent inconnu. Audité sous agent.delete.
Route : /v1/agents/{agent_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) ou nom de l'agent. | |
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).
AgentsService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire un agent. Renvoie l'agent, le manifeste de sa version courante et runs, le nombre de ses runs par état. Demande la relation ReBAC viewer sur l'agent. 404 agent_not_found.
Route : /v1/agents/{agent_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) ou nom de l'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 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).
AgentsService.Kill
Kill(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Arrêter définitivement un agent. Kill switch : tous les runs actifs de l'agent sont annulés avec l'erreur killed et le statut de l'agent devient killed définitivement (il ne peut plus reprendre). Demande tenant_admin ou security_officer. 409 agent_killed s'il est déjà arrêté. La réponse liste affected_runs. Audité sous agent.kill.
Route : /v1/agents/{agent_id}/kill (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) ou nom de l'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 « Arrêter définitivement 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).
AgentsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les agents. Agents du tenant, dans l'ordre des noms, paginés avec cursor. Tout principal du tenant peut l'appeler.
Route : /v1/agents (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 agents ». 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).
AgentsService.Resume
Resume(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Demander la reprise d'un agent. Ouvre une approbation de promotion pour ramener un agent suspendu à active et répond 202 avec approval_id et status: pending_approval ; les approbateurs sont tenant_admin ou security_officer. Une fois approuvée, les runs suspendus par la suspension de l'agent reprennent. Demande tenant_admin ou security_officer. Refusé avec 409 agent_killed, ou 409 kill_switch_active tant qu'un confinement SOC retient l'agent (levé uniquement via POST /v1/soc/recoveries).
Route : /v1/agents/{agent_id}/resume (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) ou nom de l'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 « Demander la reprise d'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).
AgentsService.Suspend
Suspend(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Suspendre un agent. Kill switch réversible : le statut de l'agent devient suspended, ses runs actifs passent à suspended et les nouveaux runs sont refusés. Demande tenant_admin ou security_officer. 409 agent_killed pour un agent arrêté. La réponse liste affected_runs. Audité sous agent.suspend.
Route : /v1/agents/{agent_id}/suspend (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) ou nom de l'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 « Suspendre 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).
AgentsService.Update
Update(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un agent. Modifie les champs de registre de l'agent (propriétaire, niveau de risque, description, libellés) sans créer de version. Demande tenant_admin, developer ou application_owner et la relation ReBAC editor. Une valeur invalide répond 400 invalid_request. Audité sous agent.update avec les noms des champs modifiés.
Route : /v1/agents/{agent_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) ou nom de l'agent. | |
body | any | oui | Champs à modifier ; ceux omis sont conservé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 « Modifier 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).
AgentsService.Versions
Versions(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lister les versions d'un agent. Toutes les versions enregistrées de l'agent, de la plus récente à la plus ancienne, avec manifeste, empreinte, auteur et current (vrai pour la version en service). Demande la relation ReBAC viewer. Une seule page.
Route : /v1/agents/{agent_id}/versions (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) ou nom de l'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 « Lister les versions d'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).
Classe RunsService
Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
RunsService.AddStep
AddStep(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Déclarer une étape d'un run. Enregistre une étape déclarée par le runtime et renvoie la décision du Loop Controller : run_state, next_kind, retry, backoff_seconds, error, approval_id et les budgets. Demande tenant_admin, developer ou agent. Étapes : 1. Le Kill Switch Registry et, pour une étape sensible, la chaîne de délégation, la session et la politique sont vérifiés. 2. Un run pending passe à running ; tout autre état que running répond 409 run_not_running. 3. L'usage et le coût s'ajoutent à la consommation de budget (coût dans la devise du run, sinon 400 invalid_request). 4. Une étape qui correspond à autonomy.human_approval_for sans approval_id reste pending, une approbation est ouverte et le run passe à waiting_approval ; une étape de type approval à l'état pending ouvre une approbation avec quorum. 5. Les budgets, le nombre maximal d'étapes et les nouvelles tentatives décident de l'état suivant (failed ou timed_out en cas de dépassement).
Route : /v1/runs/{run_id}/steps (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du run. | |
body | any | oui | L'étape : type, état, usage, coût, erreur et indications d'état du run. | |
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éclarer une étape d'un run ». 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).
RunsService.Cancel
Cancel(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Annuler un run. Fait passer le run à cancelled avec l'erreur cancelled ; ses runs de sous-agents actifs sont aussi annulés. Demande tenant_admin, developer, agent ou security_officer. Un run déjà terminé répond 409 invalid_transition. Audité sous run.transition.
Route : /v1/runs/{run_id}/cancel (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du run. | |
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 « Annuler un run ». 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).
RunsService.Events
Events(ctx context.Context, id string, opts ...CallOption) (*SSEStream, error)
Suivre les événements d'un run. Flux Server-Sent Events (text/event-stream) des événements du run : run.created, run.state, step.recorded, checkpoint.created, subagent.spawned. Chaque message porte id, event et data (type, data, at). Étapes : 1. Les événements déjà enregistrés après Last-Event-ID sont envoyés. 2. Sans follow, le flux se termine aussitôt ; avec follow=true, il interroge chaque seconde. 3. Le flux se termine par un événement end portant l'état (state) du run quand le run est terminé, quand timeout est écoulé ou quand le client se déconnecte. 404 run_not_found.
Route : /v1/runs/{run_id}/events (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du run. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (*SSEStream, error). Réponse JSON décodée de l'opération « Suivre les événements d'un run ». 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).
RunsService.GetRaw
GetRaw(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire un run. Renvoie l'Execution Contract v1 du run : agent et version, tâche, état, étapes, limites et consommation de budget, erreurs, politique de nouvelle tentative, informations de reprise et trace. 404 run_not_found.
Route : /v1/runs/{run_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du run. | |
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 run ». 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).
RunsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les runs. Runs du tenant, du plus récent au plus ancien, paginés avec cursor. Filtres : agent_id (identifiant ou nom ; agent en est un alias), state, session_id, parent_run_id. Un état inconnu ou un UUID mal formé répond 400 invalid_request.
Route : /v1/runs (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 runs ». 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).
RunsService.Replay
Replay(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Rejouer un run. Renvoie l'historique complet d'un run pour revue : son Execution Contract, ses étapes, ses points de reprise, les événements d'audit qui le citent et une timeline unique triée par date (événements du run et d'audit). Demande tenant_admin, developer, agent, auditor ou security_officer. Lecture seule : rien n'est réexécuté.
Route : /v1/runs/{run_id}/replay (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du run. | |
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 « Rejouer un run ». 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).
RunsService.Resume
Resume(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Reprendre un run. Ramène à running un run suspended, failed, timed_out ou waiting_input (sinon 409 invalid_transition). Demande tenant_admin, developer ou agent ; l'agent doit être actif (409 agent_not_active). Stratégies : 1. from_last_checkpoint (par défaut, sauf pour waiting_input) : reprendre depuis checkpoint_id ou le dernier point de reprise (409 no_checkpoint s'il n'y en a pas). 2. restart_step (par défaut pour waiting_input) : rejouer l'étape courante. 3. restart_run : tout recommencer avec la consommation de budget remise à zéro. Un run en échec sur budget_exceeded, max_steps_exceeded, killed ou approval_rejected ne peut utiliser que restart_run (409 run_not_resumable). Renvoie le run et le point de reprise utilisé.
Route : /v1/runs/{run_id}/resume (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du run. | |
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 « Reprendre un run ». 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).
RunsService.SpawnSubagent
SpawnSubagent(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Lancer un run de sous-agent. Lance un run enfant depuis un parent pending ou running (sinon 409 run_not_running) et renvoie son Execution Contract. Demande tenant_admin, developer ou agent et le scope agents:run. Contrôles, dans l'ordre : le Kill Switch Registry ; la profondeur selon autonomy.max_depth (1 par défaut, 409 subagent_depth_exceeded) ; le nombre d'enfants selon autonomy.max_subagents (3 par défaut, 409 subagent_count_exceeded) ; l'agent enfant selon la liste subagents du manifeste parent (403 subagent_not_allowed) ; la délégation du parent. Le budget de l'enfant ne peut dépasser ce qu'il reste au parent, l'enfant rejoint la session du parent et un parent en cours enregistre une étape subagent.
Route : /v1/runs/{run_id}/subagents (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du run parent. | |
body | any | oui | Agent enfant, tâche et budget. | |
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 « Lancer un run de sous-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).
RunsService.Start
Start(ctx context.Context, agentID string, body any, opts ...CallOption) (json.RawMessage, error)
Lancer un run d'un agent. Crée un run et renvoie son Execution Contract (201). Demande tenant_admin, developer ou agent, le scope agents:run et la relation ReBAC can_invoke. Étapes : 1. L'agent doit être active (sinon 409 agent_not_active, audité comme refus). 2. La politique agent.run est évaluée avec le risque, le propriétaire et la finalité de l'agent et la data_classification de la tâche (403 policy_denied). 3. Le budget est celui du manifeste, resserré par budgets (une requête ne peut jamais l'élargir ; 422 invalid_budget). 4. La délégation et l'identité de workload sont rattachées, le run est créé en pending (ou running avec start=true) et audité sous run.create. Une Idempotency-Key répétée renvoie le premier run ; la même clé pour un autre agent répond 409 idempotency_conflict. Un session_id inconnu répond 404 session_not_found.
Route : /v1/agents/{agent_id}/runs (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
agentID | string | oui | Identifiant (UUID) ou nom de l'agent. | |
body | any | oui | Tâche du run, session facultative, budget, politique de nouvelle tentative et 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 « Lancer un run d'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).
RunsService.Steps
Steps(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lister les étapes d'un run. Étapes du run dans l'ordre, chacune avec seq, type, état, tentative, jetons, coût et erreur le cas échéant. Une seule page. 404 run_not_found.
Route : /v1/runs/{run_id}/steps (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du run. | |
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 étapes d'un run ». 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).
RunsService.Subagents
Subagents(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lister les runs de sous-agents. Résumés des runs enfants lancés par ce run, du plus ancien au plus récent. Une seule page. 404 run_not_found.
Route : /v1/runs/{run_id}/subagents (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du run parent. | |
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 runs de sous-agents ». 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 CheckpointsService
Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
CheckpointsService.Create
Create(ctx context.Context, runID string, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer un point de reprise. Enregistre un état du run avec le numéro de séquence suivant et la séquence d'étape courante, pour que le run puisse reprendre à partir de là. Demande tenant_admin, developer ou agent. Refusé avec 409 run_finished sur un run succeeded ou cancelled. Émet checkpoint.created ; audité sous run.checkpoint.
Route : /v1/runs/{run_id}/checkpoints (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
runID | string | oui | Identifiant (UUID) du run. | |
body | any | oui | État à enregistrer et libellé facultatif. | |
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 un point de reprise ». 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).
CheckpointsService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire un point de reprise. Renvoie un point de reprise : run, numéro de séquence, séquence d'étape au moment de l'enregistrement, libellé et état enregistré. 404 checkpoint_not_found.
Route : /v1/checkpoints/{checkpoint_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du point de 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 « Lire un point de reprise ». 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).
CheckpointsService.List
List(ctx context.Context, runID string, opts ...CallOption) (json.RawMessage, error)
Lister les points de reprise d'un run. Points de reprise du run dans l'ordre de séquence. Une seule page. 404 run_not_found.
Route : /v1/runs/{run_id}/checkpoints (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
runID | string | oui | Identifiant (UUID) du run. | |
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 points de reprise d'un run ». 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 HeartbeatsService
Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
HeartbeatsService.Beat
Beat(ctx context.Context, runID string, body any, opts ...CallOption) (json.RawMessage, error)
Envoyer un heartbeat de run. Enregistre que le runtime est vivant et lui indique s'il doit continuer : action vaut continue, ou stop avec une reason (run_cancelled, run_terminal, run_suspended, agent_killed, agent_suspended). La réponse donne aussi stale_after_seconds. Un run terminé n'est pas mis à jour. Demande tenant_admin, developer ou agent. Audité seulement pour le premier heartbeat d'un run et quand le runtime reçoit l'ordre d'arrêter.
Route : /v1/runs/{run_id}/heartbeat (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
runID | string | oui | Identifiant (UUID) du run. | |
body | any | oui | Informations de progression facultatives. | |
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 « Envoyer un heartbeat de run ». 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).
HeartbeatsService.Stale
Stale(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les heartbeats des runs. Vivacité des runs censés envoyer des heartbeats (running et waiting_input). Par défaut, seuls les runs sans heartbeat dans le délai sont renvoyés, avec active, stale_count et stale_after_seconds. Avec format=prometheus, la réponse est un texte d'exposition Prometheus (eai_runs_total, eai_runs_active, eai_runs_stale, eai_heartbeat_stale_threshold_seconds).
Route : /v1/heartbeats (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 heartbeats des runs ». 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 A2AService
Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
A2AService.Inbox
Inbox(ctx context.Context, recipient string, opts ...CallOption) (*Page, error)
Lire une boîte de réception A2A. Renvoie les messages A2A adressés à recipient, du plus ancien au plus récent, chacun avec verified (la signature HMAC-SHA256 de l'enveloppe correspond à la clé du tenant). La lecture marque les messages renvoyés comme lus. Une seule page (next_cursor vaut toujours null).
Route : /v1/a2a/inbox (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
recipient | string | oui | Partie dont la boîte est lue : agent:<nom> ou run:<id> (au moins 3 caractères). | |
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 « Lire une boîte de réception A2A ». 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).
A2AService.Send
Send(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Envoyer un message A2A. Envoie un message signé d'agent à agent (enveloppe a2a.v1, signature HMAC-SHA256 propre au tenant). Demande tenant_admin, developer ou agent. Étapes : 1. to et from sont résolus : agent:<nom> ou run:<id> (400 invalid_request sinon). Sans from, l'expéditeur est le principal appelant. 2. Un expéditeur run: doit être un run créé par l'appelant (ou l'appelant est tenant_admin, sinon 403 forbidden) et non terminé (409 run_finished). 3. La politique agent.a2a.send est évaluée et la charge utile est filtrée comme contenu non fiable ; une injection de prompt est refusée avec prompt_injection_blocked après enregistrement de l'événement de sécurité. 4. L'enveloppe est déposée dans la boîte du destinataire et auditée sous a2a.send.
Route : /v1/a2a/messages (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Destinataire, type de message, charge utile et fil de conversation facultatif. | |
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 « Envoyer un message A2A ». 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 SessionsService
Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
SessionsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Ouvrir une session. Ouvre une session de conversation, détenue par user_id ou par l'appelant. Ouvrir une session pour un autre utilisateur demande tenant_admin ou agent (403 forbidden). Demande tenant_admin, developer ou agent. 404 agent_not_found pour un agent_id inconnu. Audité sous session.create.
Route : /v1/sessions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Agent, propriétaire, canal, titre, métadonnées et durée de vie de la session. | |
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 session ». 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).
SessionsService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer une session. Supprime la session et ses messages. Demande tenant_admin, developer ou agent, et l'appelant doit voir la session (son propriétaire, ou tenant_admin, auditor, security_officer, agent) ; sinon 404 session_not_found. Audité sous session.delete.
Route : /v1/sessions/{session_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la session. | |
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).
SessionsService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire une session. Renvoie une session. Visible par son propriétaire, par tenant_admin, auditor, security_officer et par le rôle agent ; sinon 404 session_not_found.
Route : /v1/sessions/{session_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la session. | |
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 session ». 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).
SessionsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les sessions. Sessions, de la plus récente à la plus ancienne, paginées avec cursor. Un appelant voit ses propres sessions ; tenant_admin, auditor et security_officer voient toutes les sessions du tenant.
Route : /v1/sessions (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 sessions ». 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).
SessionsService.Messages
Messages(ctx context.Context, id string, opts ...CallOption) (*Page, error)
Lister les messages d'une session. Messages dans l'ordre, paginés avec cursor. after (identifiant de message ou horodatage) permet à un runtime de ne récupérer que les nouveaux messages ; un identifiant inconnu ou un horodatage mal formé répond 400 invalid_request.
Route : /v1/sessions/{session_id}/messages (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la session. | |
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 messages d'une session ». 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).
SessionsService.PostMessage
PostMessage(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Ajouter un message à une session. Ajoute un message avec le numéro de séquence suivant. La session doit être ouverte et non expirée (409 session_closed). Demande tenant_admin, developer ou agent. L'événement d'audit session.message.add ne garde que le rôle et la longueur, jamais le contenu.
Route : /v1/sessions/{session_id}/messages (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la session. | |
body | any | oui | Rôle, contenu et métadonnées du message. | |
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 un message à une session ». 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 SchedulesService
Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
SchedulesService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une planification. Planifie des runs d'un agent à partir d'une expression cron évaluée dans un fuseau horaire ; la première échéance next_run_at est calculée (422 invalid_cron). Quand Temporal est configuré, la planification y est créée (503 scheduler_unavailable en cas d'échec). Demande tenant_admin, developer ou application_owner. 404 agent_not_found. Audité sous schedule.create.
Route : /v1/schedules (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Agent, expression cron, fuseau horaire, entrée du run et activation. | |
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 planification ». 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).
SchedulesService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer une planification. Supprime la planification ; elle ne lance plus aucun run. Demande tenant_admin, developer ou application_owner. Quand la planification est portée par Temporal, elle y est aussi supprimée (503 scheduler_unavailable si Temporal est injoignable). 404 schedule_not_found. Audité sous schedule.delete.
Route : /v1/schedules/{schedule_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la planification. | |
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).
SchedulesService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les planifications. Planifications cron du tenant, de la plus ancienne à la plus récente, éventuellement pour un seul agent. Une seule page.
Route : /v1/schedules (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 planifications ». 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).
SchedulesService.Update
Update(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier une planification. Modifie l'expression cron, le fuseau horaire, l'entrée ou l'activation. La prochaine échéance est recalculée (422 invalid_cron pour une expression ou un fuseau invalide) et la planification Temporal est mise à jour quand Temporal la porte (503 scheduler_unavailable). Demande tenant_admin, developer ou application_owner. Audité sous schedule.update.
Route : /v1/schedules/{schedule_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la planification. | |
body | any | oui | Champs à modifier ; ceux omis sont conservé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 « Modifier une planification ». 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 TriggersService
Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
TriggersService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer un déclencheur. Lance un run de l'agent pour chaque événement publié dont le sujet correspond (jokers NATS * et > admis) et dont la charge utile passe le filtre. Demande tenant_admin, developer ou application_owner. 422 invalid_subject ou invalid_filter ; 404 agent_not_found. Audité sous trigger.create.
Route : /v1/triggers (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Agent, sujet et filtre facultatif sur la charge utile. | |
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 déclencheur ». 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).
TriggersService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer un déclencheur. Supprime le déclencheur sur événement ; les événements correspondants ne lancent plus de run. Demande tenant_admin, developer ou application_owner. 404 trigger_not_found. Audité sous trigger.delete.
Route : /v1/triggers/{trigger_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du déclencheur. | |
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).
TriggersService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les déclencheurs. Déclencheurs sur événement du tenant, du plus ancien au plus récent : agent, sujet et filtre. Une seule page.
Route : /v1/triggers (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éclencheurs ». 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 EventsService
Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
EventsService.Publish
Publish(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Publier un événement. Publie un événement (202) : sur NATS JetStream quand il est configuré, sinon dans l'outbox de la plateforme. Le contexte de trace W3C courant est ajouté aux en-têtes. Chaque déclencheur dont le sujet et le filtre correspondent lance un run de son agent (idempotent par événement et déclencheur) ; la réponse les liste dans triggered, avec skipped et un code d'erreur quand un run n'a pas pu démarrer. Demande tenant_admin, developer ou agent. 422 invalid_subject. Audité sous event.publish.
Route : /v1/events/publish (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Sujet, charge utile et en-têtes de l'événement. | |
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 événement ». 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 SandboxService
Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.
SandboxService.Execute
Execute(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Exécuter une commande en sandbox. Crée une exécution en sandbox : l'image et la commande tournent comme Job Kubernetes avec la classe de runtime du profil (gVisor, Kata, Wasm) quand Kubernetes est configuré (status: submitted, ou failed si la soumission échoue). Demande tenant_admin, developer ou agent ; le profil none demande tenant_admin (403). Un profil, une image ou des limites invalides répondent 422 invalid_sandbox. L'usage est mesuré et la demande auditée sous sandbox.execute.
Route : /v1/sandbox/executions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Profil, image, commande, environnement et limites de ressources. | |
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 « Exécuter une commande en sandbox ». 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).
SandboxService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire une exécution en sandbox. Renvoie l'exécution en sandbox : profil, image, commande, limites, spécification de Job Kubernetes générée, statut, exécuteur et résultat. 404 sandbox_execution_not_found.
Route : /v1/sandbox/executions/{execution_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de l'exécution en sandbox. | |
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 exécution en sandbox ». 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 ToolsService
Outils. Tool Registry et Tool Gateway. Un outil est une action déclarée avec un schéma d'entrée, un point d'accès (http, mcp, builtin, sandbox), une classification de données, un niveau de risque et, en option, une approbation, une limite de débit et un coût. Chaque appel passe par la passerelle, qui applique les contrôles et enregistre une invocation.
ToolsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer un outil. Applique un manifeste Tool : crée ou met à jour l'outil (apply_status : created, updated ou unchanged). Contrôles : schémas JSON d'entrée et de sortie valides, un point d'accès http demande une URL http(s) permise par la politique de sortie réseau, un point d'accès mcp demande mcp_server, un gestionnaire builtin doit être echo ou time.now, le niveau de risque unacceptable est refusé (422 invalid_manifest). Demande tenant_admin, developer ou application_owner ; l'appelant devient propriétaire ReBAC. Audité sous tool.apply.
Route : /v1/tools (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Manifeste Tool (kind: Tool, metadata, spec avec description, action, schéma d'entrée, point d'accès, classification de données et options). | |
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 un outil ». 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).
ToolsService.Delete
Delete(ctx context.Context, name string, opts ...CallOption) error
Supprimer un outil. Retire l'outil du registre. Demande tenant_admin et la relation ReBAC owner. 404 tool_not_found. Audité sous tool.delete.
Route : /v1/tools/{name} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom de l'outil. | |
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).
ToolsService.Get
Get(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Lire un outil. Renvoie l'outil avec son manifeste, son niveau de risque, son propriétaire et son statut. Demande la relation ReBAC viewer. 404 tool_not_found.
Route : /v1/tools/{name} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom de l'outil. | |
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 outil ». 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).
ToolsService.Invocations
Invocations(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les invocations d'outils. Invocations enregistrées par la Tool Gateway, de la plus récente à la plus ancienne, paginées avec cursor : outil et version, acteur, run, agent, statut, décision, approbation, arguments et résultat expurgés, détections DLP, statut HTTP, erreur et durée. Les arguments et résultats ne sont conservés qu'expurgés.
Route : /v1/tools/invocations (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 invocations d'outils ». 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).
ToolsService.Invoke
Invoke(ctx context.Context, name string, body any, opts ...CallOption) (json.RawMessage, error)
Invoquer un outil via la passerelle. Exécute la chaîne de la passerelle décrite dans l'introduction du tag et renvoie l'invocation : status, result masqué, error, duration_ms, decision_id, détections DLP, événement d'usage et coût. Demande tenant_admin, developer ou agent et la relation ReBAC can_invoke. Réponses : 200 une fois exécuté (aussi quand l'amont a échoué, voir status et error) ; 202 pending_approval avec approval_id quand une validation humaine est requise (rappelez avec l'approval_id approuvé et les mêmes arguments) ; 202 pour un outil sandbox, avec l'identifiant de l'exécution en sandbox. Erreurs : 403 tool_blocked, insufficient_scope, tool_not_granted, classification_exceeded, policy_denied, dlp_blocked ; 422 invalid_arguments ; 409 approval_consumed (une approbation sert un seul appel réussi) ; 429 rate_limited avec Retry-After: 60 ou quota_exceeded.
Route : /v1/tools/{name}/invoke (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'outil. | |
body | any | oui | Arguments de l'appel et son contexte (run, agent, approbation, finalité, classification). | |
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 « Invoquer un outil via la passerelle ». 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).
ToolsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les outils. Outils du tenant dans l'ordre des noms, éventuellement d'un seul statut. Une seule page.
Route : /v1/tools (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 outils ». 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).
ToolsService.Update
Update(ctx context.Context, name string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un outil. Modifie le propriétaire, la description ou le statut. Un changement de statut demande tenant_admin ou security_officer, les autres champs tenant_admin, developer ou application_owner ; la relation ReBAC editor est vérifiée. approved passe par une promotion (202 avec approval_id) ; les autres statuts s'appliquent aussitôt (200). Audité sous tool.update.
Route : /v1/tools/{name} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom de l'outil. | |
body | any | oui | Champs à modifier ; ceux omis sont conservé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 « Modifier un outil ». 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 MCPService
Passerelle MCP. Registre des serveurs MCP amont (Model Context Protocol) et MCP Gateway, un proxy JSON-RPC 2.0 qui applique les contrôles de la plateforme à chaque appel : isolation par projet, appelants permis, listes d'autorisation d'outils et de ressources, scopes, DLP, politique, quota, contrôle d'injection de prompt, comptage et audit.
MCPService.CreateServer
CreateServer(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer un serveur MCP. Enregistre un serveur amont (201). L'URL doit être http(s) sur un hôte interne permis par la politique de sortie MCP (403 mcp_online_forbidden sinon) ; bearer, api_key et query_param demandent un credential_ref openbao:// ou env://, query_param demande param, connector demande connector (400 invalid_request). Un nom déjà utilisé répond 409 conflict. Le projet (par défaut X-Project) doit être celui de la requête (403 mcp_project_forbidden). Demande tenant_admin, developer ou application_owner ; l'appelant devient propriétaire ReBAC. Audité sous mcp.server.create.
Route : /v1/mcp/servers (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, URL, transport, authentification amont, listes d'autorisation, propriétaire et projet. | |
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 un serveur MCP ». 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).
MCPService.DeleteServer
DeleteServer(ctx context.Context, id string, opts ...CallOption) error
Supprimer un serveur MCP. Retire le serveur du registre. Demande tenant_admin, la relation ReBAC owner et l'accès au projet du serveur. 404 mcp_server_not_found. Audité sous mcp.server.delete.
Route : /v1/mcp/servers/{server_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) ou nom du serveur MCP. | |
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).
MCPService.ListServers
ListServers(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les serveurs MCP. Serveurs visibles par la requête : project (identifiant ou slug) ne garde que les serveurs de ce projet ; une requête faite dans un projet (en-tête X-Project ou clé d'API liée à un projet) voit les serveurs de son projet et ceux partagés par le tenant, jamais ceux d'un autre projet (403 mcp_project_forbidden). Les secrets amont ne sont jamais renvoyés, seulement leurs références.
Route : /v1/mcp/servers (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 serveurs MCP ». 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).
MCPService.Rpc
Rpc(ctx context.Context, serverID string, body any, opts ...CallOption) (json.RawMessage, error)
Appeler un serveur MCP via la passerelle. Proxy JSON-RPC 2.0. Le corps est une requête ou un lot (50 au plus sont traitées). Demande tenant_admin, developer ou agent et la relation ReBAC can_invoke. Les refus sont renvoyés comme erreurs JSON-RPC avec le statut HTTP 200, et audités. Contrôles, dans l'ordre : JSON-RPC 2.0 valide ; serveur active ; isolation par projet (mcp_server_project_mismatch) ; appelants permis (mcp_principal_not_allowed) ; une instance hébergée en sommeil est réveillée ; une application tierce doit être active et avoir reçu le serveur ; méthode permise ; pour tools/call : outil dans allowed_tools, scope tools:invoke, DLP sur les arguments ; politique mcp.call ; réservation de quota ; pour resources/read : URI dans allowed_resources. L'appel est ensuite transmis avec les identifiants amont ; tools/list et resources/list sont filtrés par les listes d'autorisation, les résultats de tools/call sont masqués par la DLP et contrôlés contre l'injection de prompt, et l'appel est compté comme usage d'outil.
Route : /v1/mcp/gateway/{server_id} (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
serverID | string | oui | Identifiant (UUID) ou nom du serveur MCP. | |
body | any | oui | Une requête JSON-RPC 2.0 (jsonrpc, id, method, params) ou un tableau de requêtes. | |
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 « Appeler un serveur MCP via la passerelle ». 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).
MCPService.ServerTools
ServerTools(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lister les outils d'un serveur MCP. Appelle tools/list sur le serveur via la passerelle et renvoie les outils permis par allowed_tools. Demande la relation ReBAC can_invoke et l'accès au projet du serveur. Une erreur amont répond 502 upstream_error.
Route : /v1/mcp/servers/{server_id}/tools (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) ou nom du serveur MCP. | |
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 outils d'un serveur MCP ». 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).
MCPService.SyncHosted
SyncHosted(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Publier les serveurs MCP hébergés par le Navin Manager. Publie les serveurs MCP hébergés par le Navin Manager (service mcp-host) dans leur projet : jeton conservé dans le Credential Broker, serveur du projet créé ou mis à jour, serveurs qui ne sont plus hébergés désactivés. project (identifiant ou slug, par défaut le projet de la requête) limite la synchronisation à un projet ; un projet différent de celui de la requête répond 403 mcp_project_forbidden. Demande tenant_admin et un tenant (403 tenant_required).
Route : /v1/mcp/hosted/sync (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 « Publier les serveurs MCP hébergés par le Navin Manager ». 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 SkillsService
Skills. Skill Registry et Skill Loader. Un skill est un ensemble d'instructions signé et versionné (en ligne, ou artefact Git ou OCI) avec les permissions dont il a besoin ; les agents chargent les skills accordés dans leur manifeste.
SkillsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer un skill. Applique un manifeste Skill : crée le skill ou le remplace (un skill remplacé revient à draft, un skill bloqué reste blocked). L'empreinte et la signature sont vérifiées aussitôt : le skill passe à approved si elles sont valides. Un artefact Git ou OCI demande artifact.digest (422 invalid_manifest). apply_status vaut created ou updated. Demande tenant_admin, developer ou application_owner ; l'appelant devient propriétaire ReBAC. Audité sous skill.apply.
Route : /v1/skills (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Manifeste Skill (kind: Skill, metadata avec nom, version et propriétaire, spec avec description, instructions, permissions, signature et artefact facultatif). | |
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 un skill ». 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).
SkillsService.Get
Get(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Lire un skill. Renvoie le skill avec son manifeste, son contenu, son empreinte, sa signature et sa vérification. Demande la relation ReBAC viewer. 404 skill_not_found.
Route : /v1/skills/{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 skill. | |
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 skill ». 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).
SkillsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les skills. Skills du tenant dans l'ordre des noms, avec version, propriétaire, empreinte, résultat de vérification et statut. Une seule page.
Route : /v1/skills (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 skills ». 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).
SkillsService.Load
Load(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Charger un skill pour un agent. Skill Loader : renvoie ce dont un runtime a besoin pour utiliser le skill (instructions d'un skill en ligne, artefact, point d'entrée, permissions, dépendances, signataire). Demande la relation ReBAC can_invoke. Refus, chacun audité comme skill.load refusé : - 403 skill_blocked : le skill est blocked ou deprecated ; - 409 skill_digest_mismatch : le contenu ne correspond plus à son empreinte ; - 403 skill_unsigned : la signature n'est pas valide ; - 403 skill_not_granted : avec agent, le skill n'est pas listé dans le manifeste de l'agent ; - 403 skill_permission_denied : le skill demande des scopes que l'agent n'a pas, ou son plafond de classification est inférieur à celui de l'agent.
Route : /v1/skills/{name}/load (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du skill. | |
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 « Charger un skill 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).
SkillsService.Verify
Verify(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Vérifier la signature d'un skill. Revérifie l'empreinte du contenu et la signature avec les clés de confiance et enregistre le résultat : verified, method, signer, reason. Un skill vérifié passe à approved, sinon à draft (un skill bloqué reste blocked). Demande tenant_admin, developer, application_owner ou security_officer et la relation ReBAC editor. Audité sous skill.verify.
Route : /v1/skills/{name}/verify (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du skill. | |
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 signature d'un skill ». 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 PluginsService
Plugins. Registre et cycle de vie d'exécution des plugins : des images OCI signées exécutées par la plateforme dans une sandbox (classe de runtime gVisor, Kata ou Wasm), avec un Deployment et une NetworkPolicy Kubernetes générés à partir du manifeste.
PluginsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer un plugin. Applique un manifeste Plugin : crée le plugin ou le met à jour (retour à registered, un plugin bloqué reste blocked), avec la signature vérifiée et enregistrée. Refus : 422 pack_requires_marketplace pour un pack, 422 invalid_manifest quand l'empreinte de oci_ref diffère de artifact.digest, qu'une liste d'autorisation manque pour egress_allowlist ou que les limites dépassent le maximum de la plateforme (4 CPU, 8Gi de mémoire, 3600 s, 1 GPU) ; 409 plugin_installed tant qu'il est installé. Demande tenant_admin, developer ou application_owner ; l'appelant devient propriétaire ReBAC. Audité sous plugin.apply.
Route : /v1/plugins (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Manifeste Plugin (kind: Plugin, metadata, spec avec description, artefact, signature et sandbox). | |
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 un plugin ». 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).
PluginsService.Get
Get(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Lire un plugin. Renvoie le plugin avec son manifeste, son résultat de vérification et son déploiement généré. Demande la relation ReBAC viewer. 404 plugin_not_found.
Route : /v1/plugins/{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 plugin. | |
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 plugin ». 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).
PluginsService.Install
Install(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Installer un plugin. Installe le plugin dans sa sandbox. Demande tenant_admin et la relation ReBAC owner. Étapes : 1. Un plugin blocked répond 403 plugin_blocked ; un plugin déjà installé est renvoyé tel quel. 2. La signature est revérifiée (403 plugin_unsigned en cas d'échec, audité comme refus). 3. Le Deployment (classe de runtime de la sandbox, système de fichiers racine en lecture seule par défaut) et la NetworkPolicy sont générés, puis appliqués quand Kubernetes est configuré (status: failed avec l'erreur si l'application échoue). Renvoie l'état d'exécution. Audité sous plugin.install.
Route : /v1/plugins/{name}/install (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du plugin. | |
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 « Installer un plugin ». 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).
PluginsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les plugins. Plugins du tenant dans l'ordre des noms, avec version, empreinte, vérification et statut. Une seule page.
Route : /v1/plugins (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 plugins ». 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).
PluginsService.Status
Status(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Lire l'état d'exécution d'un plugin. Vue d'exécution : statut, indicateur de vérification, empreinte, date d'installation, classe de runtime, objets rendered (générés) ou applied (appliqués) sur Kubernetes, Deployment et NetworkPolicy et dernière erreur. Demande la relation ReBAC viewer.
Route : /v1/plugins/{name}/status (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du plugin. | |
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 d'exécution d'un plugin ». 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).
PluginsService.Uninstall
Uninstall(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Désinstaller un plugin. Supprime le Deployment et la NetworkPolicy de Kubernetes s'il est configuré (502 upstream_error en cas d'échec) et passe le plugin à uninstalled. Seulement pour un plugin installed, installing ou failed (sinon 409 plugin_not_installed). Demande tenant_admin et la relation ReBAC owner. Audité sous plugin.uninstall.
Route : /v1/plugins/{name}/uninstall (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du plugin. | |
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 plugin ». 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 ConnectorsService
Connecteurs. Connector Hub : registre des connexions aux systèmes externes (applications SaaS, API, sources de données), leurs identifiants conservés côté serveur, les exécutions de synchronisation, le Credential Broker qui remet des baux de courte durée à la place des secrets, et la Webhook Gateway qui reçoit les événements signés des fournisseurs.
ConnectorsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer un connecteur. Applique un manifeste Connector : crée ou met à jour le connecteur (apply_status : created ou updated). Les URL doivent être permises par la politique de sortie réseau ; OAuth2 demande auth.token_url ; les webhooks non signés sont refusés (422 invalid_manifest). Demande tenant_admin, developer ou application_owner. Audité sous connector.apply.
Route : /v1/connectors (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Manifeste Connector (kind: Connector, metadata, spec avec URL de base, auth, ressources, scopes, synchronisation et webhooks). | |
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 un connecteur ». 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).
ConnectorsService.Delete
Delete(ctx context.Context, name string, opts ...CallOption) error
Supprimer un connecteur. Supprime le connecteur et ses identifiants dans le magasin de secrets. Demande tenant_admin. 404 connector_not_found. Audité sous connector.delete.
Route : /v1/connectors/{name} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du connecteur. | |
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).
ConnectorsService.Get
Get(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Lire un connecteur. Renvoie le connecteur avec son manifeste, son statut, son propriétaire et ses identifiants configurés (type, noms de champs, date de mise à jour). 404 connector_not_found.
Route : /v1/connectors/{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 connecteur. | |
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 connecteur ». 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).
ConnectorsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les connecteurs. Connecteurs du tenant dans l'ordre des noms, chacun avec les types d'identifiants configurés (jamais leurs valeurs). Une seule page.
Route : /v1/connectors (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 connecteurs ». 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).
ConnectorsService.SetCredentials
SetCredentials(ctx context.Context, name string, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer les identifiants d'un connecteur. Enregistre des identifiants dans le magasin de secrets et ne renvoie que le type et les noms de champs (201). Demande tenant_admin ou security_officer. Corps : kind plus ses champs : - oauth2_client : client_id, client_secret ; - oauth2_code : code, redirect_uri, code_verifier facultatif ; le code est échangé aussitôt auprès de l'URL de jeton (demande un oauth2_client enregistré, sinon 409 credential_unavailable) et conservé comme oauth2_token ; - api_key : api_key, header facultatif ; - service_account : private_key ou token, client_email et client_id facultatifs ; - basic : username, password ; - webhook_secret : secret. Un type inconnu ou des champs manquants répondent 400 invalid_request. Audité sous connector.credentials.write.
Route : /v1/connectors/{name}/credentials (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du connecteur. | |
body | any | oui | Type d'identifiant et ses champs. En écriture seule : les valeurs ne sont jamais renvoyé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 les identifiants d'un connecteur ». 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).
ConnectorsService.Sync
Sync(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Lancer une synchronisation. Met en file une synchronisation (202) et publie connectors.<nom>.sync pour le worker. Le manifeste doit déclarer un mode de synchronisation (409 sync_disabled), le connecteur doit être actif (409 connector_disabled), les ressources doivent être lisibles (400 invalid_request) et aucune autre exécution ne doit être en file ou en cours (409 sync_in_progress). Une synchronisation incrémentale part du curseur de la dernière exécution réussie sauf avec full. La politique connector.sync est évaluée. Demande tenant_admin, developer ou agent. Audité sous connector.sync.
Route : /v1/connectors/{name}/sync (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du connecteur. | |
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 « Lancer une synchronisation ». 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).
ConnectorsService.SyncRuns
SyncRuns(ctx context.Context, name string, opts ...CallOption) (*Page, error)
Lister les synchronisations d'un connecteur. Exécutions de synchronisation du connecteur, de la plus récente à la plus ancienne : mode, statut, ressources, curseur et dates.
Route : /v1/connectors/{name}/sync-runs (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du connecteur. | |
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 synchronisations d'un connecteur ». 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).
ConnectorsService.Test
Test(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Tester un connecteur. Construit les en-têtes d'authentification à partir des identifiants enregistrés et, quand le manifeste a une URL de base, lui envoie un GET. Renvoie ok, credentials, http_status, latency_ms et un code error en cas d'échec (egress_denied, upstream_unavailable, erreurs d'identifiants) ; un test en échec est un 200 avec ok: false. La politique connector.test est évaluée. Demande tenant_admin, developer ou application_owner. Audité sous connector.test.
Route : /v1/connectors/{name}/test (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du connecteur. | |
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 « Tester un connecteur ». 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).
ConnectorsService.Update
Update(ctx context.Context, name string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un connecteur. Modifie le statut ou le propriétaire. Désactiver un connecteur révoque immédiatement ses baux d'identifiants. Demande tenant_admin, developer ou application_owner. Audité sous connector.update.
Route : /v1/connectors/{name} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du connecteur. | |
body | any | oui | Champs à modifier ; ceux omis sont conservé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 « Modifier un connecteur ». 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 CredentialsService
Connecteurs. Connector Hub : registre des connexions aux systèmes externes (applications SaaS, API, sources de données), leurs identifiants conservés côté serveur, les exécutions de synchronisation, le Credential Broker qui remet des baux de courte durée à la place des secrets, et la Webhook Gateway qui reçoit les événements signés des fournisseurs.
CredentialsService.Lease
Lease(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Obtenir un bail d'identifiants. Émet un bail de courte durée sur un connecteur à la place de son secret (201) : lease_id, token (montré une seule fois), scopes, expires_at, ttl_seconds. Les scopes demandés doivent être déclarés par le connecteur (403 scope_not_allowed ; par défaut : tous) ; le connecteur doit être actif (409 connector_disabled). Avec on_behalf_of, l'utilisateur doit détenir la relation can_invoke sur le connecteur (403 relation_required). Demande tenant_admin, developer ou agent. Audité sous credential.lease.
Route : /v1/credentials/broker/lease (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Connecteur, scopes, durée de vie, run et utilisateur représenté. | |
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 bail d'identifiants ». 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 WebhooksService
Connecteurs. Connector Hub : registre des connexions aux systèmes externes (applications SaaS, API, sources de données), leurs identifiants conservés côté serveur, les exécutions de synchronisation, le Credential Broker qui remet des baux de courte durée à la place des secrets, et la Webhook Gateway qui reçoit les événements signés des fournisseurs.
WebhooksService.Deliver
Deliver(ctx context.Context, connector string, body any, opts ...CallOption) (json.RawMessage, error)
Recevoir un webhook de fournisseur. Point d'entrée du fournisseur, sans authentification de la plateforme. En-têtes : X-EAI-Tenant (slug du tenant, sinon 400 tenant_required), X-EAI-Signature (t=<secondes unix>,v1=<HMAC-SHA256 hexadécimal de "<t>." + corps brut> ; X-EAI-Timestamp peut porter l'horodatage), X-EAI-Delivery facultatif (identifiant de dédoublonnage). Étapes : 1. Le connecteur doit exister, être actif et avoir les webhooks activés (404 connector_not_found). 2. Signature vérifiée avec le webhook_secret enregistré ou la référence de secret du manifeste (401 invalid_signature) ; horodatage à moins de 5 minutes (401 webhook_replay) ; une livraison déjà acceptée répond 409 webhook_duplicate. 3. Le corps JSON est contrôlé comme contenu non fiable (injection de prompt bloquée), puis publié sous connectors.<nom>.webhook, ce qui peut lancer des runs déclenchés. Répond 202 avec delivery_id, event_id et triggered. Chaque livraison est enregistrée et auditée sous webhook.receive.
Route : /v1/webhooks/{connector} (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
connector | string | oui | Nom du connecteur auquel le fournisseur envoie. | |
body | any | oui | Charge utile brute du fournisseur ; la signature est vérifiée sur ces octets exacts, quel que soit le type de contenu. | |
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 webhook de fournisseur ». 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).
WebhooksService.Deliveries
Deliveries(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les livraisons de webhooks. Livraisons de webhooks reçues, de la plus récente à la plus ancienne : connecteur, identifiant de livraison, validité de la signature, statut (accepted, rejected, duplicate), raison, SHA-256 de la charge utile et événement publié. La charge utile elle-même n'est pas conservée ici.
Route : /v1/webhooks/deliveries (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 livraisons de webhooks ». 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 ChannelsService
Canaux. Channel Gateway : les points d'entrée où les utilisateurs finaux parlent aux agents (web, mobile, e-mail, Slack, Teams, WhatsApp, SMS, voix, API, et les canaux Navin Discord, Telegram, Matrix, Mattermost et Signal). Un message entrant devient un message de session et lance un run de l'agent du canal, dans des limites de taille, de débit et de sessions et avec DLP.
ChannelsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer ou mettre à jour un canal. Applique un manifeste Channel (apply_status : created ou updated) ; project (identifiant ou slug, par défaut l'en-tête X-Project) le rattache à un projet, et un canal d'un autre projet n'est jamais repris (409 channel_project_conflict). L'agent de agent_ref doit exister (404 agent_not_found) ; signed_webhook demande auth.secret_ref (422 invalid_manifest). Demande tenant_admin, developer ou application_owner. Audité sous channel.apply.
Route : /v1/channels (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Manifeste Channel (kind: Channel, metadata, spec avec type, agent, auth, limites, DLP et sessions). | |
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 ou mettre à jour un canal ». 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).
ChannelsService.Delete
Delete(ctx context.Context, name string, opts ...CallOption) error
Supprimer un canal. Supprime le canal. Demande tenant_admin. 404 channel_not_found. Audité sous channel.delete.
Route : /v1/channels/{name} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du canal. | |
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).
ChannelsService.Get
Get(ctx context.Context, name string, opts ...CallOption) (json.RawMessage, error)
Lire un canal. Renvoie le canal avec son manifeste, son type, son agent, son statut, son projet et son preset. 404 channel_not_found.
Route : /v1/channels/{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 canal. | |
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 canal ». 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).
ChannelsService.Inbound
Inbound(ctx context.Context, name string, body any, opts ...CallOption) (json.RawMessage, error)
Envoyer un message entrant. Remet un message d'un utilisateur final (202) et renvoie session_id, session_created, message_id, run_id (ou run_skipped quand l'agent n'est pas actif) et le résultat DLP. Demande tenant_admin, developer ou agent. Étapes : 1. Le canal doit être actif (409 channel_disabled) ; un canal signed_webhook vérifie X-EAI-Signature (t=<secondes unix>,v1=<HMAC-SHA256 hexadécimal de "<t>." + corps brut>, fenêtre de 5 minutes ; 401 invalid_signature). 2. La politique channel.inbound est évaluée ; la taille (413 message_too_large) et le débit par utilisateur (429 rate_limited) sont contrôlés. 3. La DLP entrante s'exécute (detect par défaut ; block répond 403 dlp_blocked, mask enregistre le texte masqué). 4. La session ouverte de l'utilisateur et de la conversation est réutilisée, ou une nouvelle est ouverte (429 too_many_sessions, 409 session_closed au-delà de max_session_minutes). 5. Le message est ajouté et un run de l'agent du canal démarre avec le déclencheur channel.
Route : /v1/channels/{name}/inbound (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du canal. | |
body | any | oui | Message JSON : text (1 à 1000000 caractères, obligatoire), user (identifiant externe de l'utilisateur, 300 caractères au plus ; par défaut l'appelant), conversation_id (300 caractères au plus ; par défaut l'utilisateur) et metadata (conservées avec le message). Les octets bruts servent au contrôle de signature. | |
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 « Envoyer un message entrant ». 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).
ChannelsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les canaux. Canaux du tenant dans l'ordre des noms ; project (identifiant ou slug) ne garde que les canaux de ce projet (404 project_not_found). Une seule page.
Route : /v1/channels (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 canaux ». 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).
ChannelsService.Sessions
Sessions(ctx context.Context, name string, opts ...CallOption) (*Page, error)
Lister les sessions d'un canal. Sessions ouvertes sur le canal, de la plus récemment mise à jour à la plus ancienne, 500 au plus.
Route : /v1/channels/{name}/sessions (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du canal. | |
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 sessions d'un canal ». 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).
ChannelsService.Update
Update(ctx context.Context, name string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un canal. Modifie le statut (active ou disabled ; un canal désactivé refuse les messages entrants) ou le propriétaire. Demande tenant_admin, developer ou application_owner. Audité sous channel.update.
Route : /v1/channels/{name} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du canal. | |
body | any | oui | Champs à modifier ; ceux omis sont conservé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 « Modifier un canal ». 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 PrivacyService
Vie privée et protection des données. Services de protection des données du tenant : classification, DLP (prévention des fuites de données), tokenisation et chiffrement par enveloppe.
PrivacyService.Classify
Classify(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Classer un texte ou un média. Avec text, détecte les entités avec les règles du tenant et renvoie classification, findings et engine, sans modifier le texte. Avec media_id, renvoie la classification, les constats et le résultat DLP déjà calculés pour ce média (404 not_found pour un média inconnu). L'un des deux est obligatoire (400 invalid_request). Ouvert à tout membre du tenant.
Route : /v1/privacy/classify (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Texte ou média à classer, et langue. | |
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 « Classer un texte ou un média ». 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 DLPService
Vie privée et protection des données. Services de protection des données du tenant : classification, DLP (prévention des fuites de données), tokenisation et chiffrement par enveloppe.
DLPService.CreateRule
CreateRule(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer ou modifier une règle DLP. Crée la règle, ou remplace la règle de même nom. Une règle exige un entity_type ou un pattern (expression régulière valide) ; les erreurs répondent 400 invalid_request (action inconnue, motif ou classification invalide). Exige tenant_admin ou security_officer. Écrit l'événement d'audit dlp.rule.upsert. Répond 201 avec la règle.
Route : /v1/dlp/rules (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, type d'entité ou motif, action, classification et score de la règle. | |
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 ou modifier une règle DLP ». 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).
DLPService.Inspect
Inspect(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Inspecter un texte à la recherche de données sensibles. Applique la DLP au texte avec les règles du tenant, en mode detect sauf si mode en décide autrement. La réponse donne text, findings (type, position, score, classification, court aperçu, action, règle), action (action la plus forte appliquée), classification, mode, engine (builtin ou presidio), blocked et count. Un mode inconnu répond 400. Ouvert à tout membre du tenant. Écrit l'événement d'audit dlp.inspect (nombres et types uniquement).
Route : /v1/dlp/inspect (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Texte, mode et langue facultatifs. | |
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 « Inspecter un texte à la recherche de données sensibles ». 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).
DLPService.ListRules
ListRules(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les règles DLP. Liste les règles DLP du tenant triées par nom. Ouvert à tout membre du tenant. next_cursor vaut toujours null.
Route : /v1/dlp/rules (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 règles DLP ». 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).
DLPService.Redact
Redact(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Masquer les données sensibles d'un texte. Comme l'inspection, en mode mask par défaut : chaque constat est remplacé par [TYPE] (par exemple [EMAIL]), ou tokenisé ou bloqué quand une règle du tenant ou mode le demande ; un texte bloqué revient vide avec blocked: true. Ouvert à tout membre du tenant. Écrit l'événement d'audit dlp.redact.
Route : /v1/dlp/redact (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Texte, mode et langue facultatifs. | |
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 « Masquer les données sensibles d'un texte ». 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 TokenizationService
Vie privée et protection des données. Services de protection des données du tenant : classification, DLP (prévention des fuites de données), tokenisation et chiffrement par enveloppe.
TokenizationService.Detokenize
Detokenize(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Détokeniser des valeurs. Renvoie les valeurs d'origine des jetons donnés dans tokens ou trouvés dans text.
Route : /v1/tokenization/detokenize (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Jetons ou texte contenant des jetons, et finalité. | |
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étokeniser des valeurs ». 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).
TokenizationService.Tokenize
Tokenize(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Tokeniser des valeurs. Remplace les valeurs sensibles par des jetons déterministes tok_<type>_<hex> du tenant (une même valeur donne toujours le même jeton), les valeurs étant conservées chiffrées dans le coffre. Avec values, renvoie tokens ; avec text, détecte les entités et renvoie le text tokenisé, findings et classification. L'un des deux est obligatoire (400 invalid_request). Ouvert à tout membre du tenant. Écrit l'événement d'audit tokenization.tokenize (nombre uniquement).
Route : /v1/tokenization/tokenize (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Valeurs ou texte à tokeniser. | |
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 « Tokeniser des valeurs ». 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 EncryptionService
Vie privée et protection des données. Services de protection des données du tenant : classification, DLP (prévention des fuites de données), tokenisation et chiffrement par enveloppe.
EncryptionService.CreateKey
CreateKey(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une clé de chiffrement. Crée une clé nommée avec sa première version ; la clé de données est générée et enveloppée par OpenBao Transit s'il est configuré, localement sinon. Le nom doit être en minuscules, chiffres, ., _ ou -, 63 caractères au plus (400 invalid_request) ; un nom déjà utilisé répond 409 conflict. Exige tenant_admin ou security_officer. Écrit l'événement d'audit encryption.key.create.
Route : /v1/encryption/keys (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom et usage de la clé. | |
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 clé de chiffrement ». 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).
EncryptionService.Decrypt
Decrypt(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Déchiffrer un chiffré. Déchiffre un chiffré eaienc1 du tenant avec la version de clé qu'il désigne, en vérifiant la même aad qu'au chiffrement. Renvoie plaintext, ou plaintext_base64 avec as_base64 ou quand les données ne sont pas du texte UTF-8, et key_version. Les anciennes versions déchiffrent toujours après une rotation. Ouvert à tout membre du tenant. Écrit l'événement d'audit encryption.decrypt.
Route : /v1/encryption/decrypt (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Chiffré, données associées et format de sortie. | |
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 un chiffré ». 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).
EncryptionService.Encrypt
Encrypt(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Chiffrer des données avec une clé du tenant. Chiffre plaintext (texte UTF-8) ou plaintext_base64 (octets) avec la version courante de la clé, lié à aad. Renvoie ciphertext (eaienc1:...), key_id et key_version. L'une des deux entrées est obligatoire, et le base64 doit être valide (400 invalid_request) ; une clé inconnue répond 404 key_not_found. Ouvert à tout membre du tenant. Écrit l'événement d'audit encryption.encrypt (taille uniquement).
Route : /v1/encryption/encrypt (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Clé, données à chiffrer et données associé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 « Chiffrer des données avec une clé du tenant ». 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).
EncryptionService.ListKeys
ListKeys(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les clés de chiffrement. Liste les clés de chiffrement du tenant triées par nom : identifiant, nom, moteur (openbao-transit ou local), usage, version courante et dates. Jamais le matériel de clé. Ouvert à tout membre du tenant.
Route : /v1/encryption/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 : (*Page, error). Réponse JSON décodée de l'opération « Lister les clés de chiffrement ». 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).
EncryptionService.RotateKey
RotateKey(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Faire tourner une clé de chiffrement. Ajoute une nouvelle version à la clé : les nouveaux chiffrements l'utilisent, les chiffrés plus anciens se déchiffrent toujours avec leur propre version. Exige tenant_admin ou security_officer. Répond 404 key_not_found. Écrit l'événement d'audit encryption.key.rotate.
Route : /v1/encryption/keys/{key_id}/rotate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) ou nom de la clé. | |
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 tourner une clé de chiffrement ». 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 KnowledgeService
Bases de connaissances. Bases de connaissances pour la génération augmentée par récupération (RAG) : les documents sont analysés, extraits, contrôlés pour les données personnelles et l'empoisonnement, découpés, vectorisés via le Model Gateway et recherchés avec des filtres d'ACL et d'habilitation.
KnowledgeService.AddDocument
AddDocument(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Ajouter un document. Ingère un document (201). Demande la relation ReBAC editor et le droit d'écriture par l'ACL (403 not_permitted_acl). Étapes : 1. Le contenu (content ou content_base64, l'un est requis, sinon 400) est analysé par ClamAV et YARA-X (422 file_blocked, 503 file_scan_unavailable), puis le texte est extrait par Docling (422 unsupported_media). 2. La détection de données personnelles peut relever la classification ; un source_connector doit être actif. 3. Un document de même uri remplace la version précédente (version + 1). 4. Le texte est découpé, vectorisé et enregistré ; le contrôle d'empoisonnement peut mettre le document en quarantaine (status: quarantined). 409 knowledge_base_reindexing pendant une réindexation ; 409 embedding_dimension_mismatch ; 503 vector_store_unavailable. Audité sous knowledge.document.ingest.
Route : /v1/knowledge-bases/{kb_id}/documents (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la base de connaissances. | |
body | any | oui | Contenu, titre, URI, classification, lecteurs et métadonnées du document. | |
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 un document ». 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).
KnowledgeService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une base de connaissances. Crée une base avec son modèle d'embedding (par défaut : le modèle d'embedding RAG de la plateforme), qui doit être approuvé, avoir la capacité embeddings et accepter la classification. chunk_overlap doit être inférieur à chunk_size (400 invalid_request) ; une classification inconnue répond 400. Un nom déjà utilisé dans le tenant répond 409 conflict. Demande tenant_admin ou developer ; l'appelant devient propriétaire ReBAC. Audité sous knowledge_base.create.
Route : /v1/knowledge-bases (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, découpage, classification, ACL et modèle d'embedding de la base. | |
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 base de connaissances ». 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).
KnowledgeService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer une base de connaissances. Supprime la base, ses documents et leurs vecteurs dans le magasin vectoriel. Demande la relation ReBAC owner, et l'appelant doit être tenant_admin ou son créateur (403 forbidden). 404 not_found ; 503 vector_store_unavailable. Audité sous knowledge_base.delete.
Route : /v1/knowledge-bases/{kb_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la base de connaissances. | |
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).
KnowledgeService.DeleteDocument
DeleteDocument(ctx context.Context, id string, docID string, opts ...CallOption) error
Supprimer un document. Supprime le document et ses vecteurs. Demande la relation ReBAC editor et le droit d'écriture par l'ACL : tenant_admin, une identité listée dans writers, ou, si writers est vide, developer ou agent (sinon 403 not_permitted_acl). 404 not_found. Audité sous knowledge.document.delete.
Route : /v1/knowledge-bases/{kb_id}/documents/{doc_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la base de connaissances. | |
docID | string | oui | Identifiant (UUID) du document. | |
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).
KnowledgeService.Documents
Documents(ctx context.Context, id string, opts ...CallOption) (*Page, error)
Lister les documents d'une base. Documents lisibles par l'appelant (une de ses identités dans les readers du document, classification dans les limites de son habilitation), paginés avec cursor. Demande la relation ReBAC viewer et le droit de lecture sur la base.
Route : /v1/knowledge-bases/{kb_id}/documents (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la base de connaissances. | |
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 documents d'une base ». 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).
KnowledgeService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire une base de connaissances. Renvoie la base avec son nombre de documents, son pipeline d'ingestion et de recherche, le travail de réindexation (reindex) en cours le cas échéant et les datasets visibles par l'appelant. Demande la relation ReBAC viewer et le droit de lecture par l'ACL ; sinon 404 not_found.
Route : /v1/knowledge-bases/{kb_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la base de connaissances. | |
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 base de connaissances ». 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).
KnowledgeService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les bases de connaissances. Bases de connaissances du tenant que l'appelant peut lire selon leur ACL, dans l'ordre des noms, paginées avec cursor.
Route : /v1/knowledge-bases (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 bases de connaissances ». 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).
KnowledgeService.Query
Query(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Interroger une base de connaissances. Recherche dans la base et renvoie results (fragment, score, risque d'injection, classification, provenance), citations et un lineage_run_id. Demande la relation ReBAC can_invoke. Étapes : 1. La politique knowledge.query est évaluée et une réservation de quota est prise. 2. La requête est vectorisée avec le modèle de la base ; seuls les fragments dont les lecteurs correspondent aux identités de l'appelant et dont la classification respecte son habilitation sont recherchés. 3. Les fragments trouvés sont contrôlés contre l'injection de prompt (écartés en mode blocage) et vérifiés par rapport aux sources actives. 4. hybrid recalcule le score des candidats avec le recouvrement de mots-clés ; rerank les ordonne avec un modèle de reranking (un refus est signalé dans warnings, jamais caché). Un appelant hors ACL obtient un résultat vide, audité comme refus. Audité sous knowledge.query ; l'usage est mesuré.
Route : /v1/knowledge-bases/{kb_id}/query (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la base de connaissances. | |
body | any | oui | Texte de la requête et options de recherche. | |
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 « Interroger une base de connaissances ». 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).
KnowledgeService.SetAcl
SetAcl(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Remplacer l'ACL d'une base. Remplace les lecteurs et rédacteurs de la base. Avec apply_to_documents, les documents qui héritent de l'ACL de la base (sans lecteurs propres) et leurs fragments reçoivent les nouveaux lecteurs ; documents_updated en donne le nombre. Demande la relation ReBAC owner, et l'appelant doit être tenant_admin, security_officer ou le créateur. Audité sous knowledge_base.acl.update ; le cache de recherche est invalidé.
Route : /v1/knowledge-bases/{kb_id}/acl (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la base de connaissances. | |
body | any | oui | La nouvelle ACL. | |
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 « Remplacer l'ACL d'une base ». 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 MemoryService
Mémoire. Memory Manager : éléments de mémoire durables des agents et des utilisateurs, conformes au Memory Contract v1, avec ACL, durée de vie, conservation légale, versionnage et recherche hybride.
MemoryService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer un élément de mémoire. Efface le contenu, la référence, le vecteur et les anciennes versions de l'élément et le marque supprimé. Permis pour un rédacteur ou propriétaire de l'élément, ou tenant_admin (sinon 403 not_permitted_acl). Un élément sous conservation légale répond 409 legal_hold (le refus est audité) ; un élément non supprimable répond 409 conflict sauf pour tenant_admin. 404 not_found. Audité sous memory.delete.
Route : /v1/memory/{memory_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de l'élément de mémoire. | |
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).
MemoryService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire un élément de mémoire. Renvoie l'élément sous forme de document Memory Contract avec son history (numéros et dates des anciennes versions). Un élément expiré, ou que l'appelant ne peut pas lire selon l'ACL ou l'habilitation, répond 404 not_found.
Route : /v1/memory/{memory_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de l'élément de mémoire. | |
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 élément de mémoire ». 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).
MemoryService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les éléments de mémoire. Éléments lisibles par l'appelant (présent dans readers, classification dans les limites de son habilitation, non expirés, non supprimés), sous forme de documents Memory Contract, paginés avec cursor.
Route : /v1/memory (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 éléments de mémoire ». 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).
MemoryService.Search
Search(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Rechercher dans la mémoire. Calcule le score des éléments visibles (au plus les 2000 mis à jour le plus récemment et ayant un contenu) et renvoie les top_k meilleurs avec score, keyword_score et vector_score. keyword : part des termes de la requête trouvés ; vector : similarité cosinus avec l'embedding de la requête (seulement les éléments vectorisés avec le modèle courant) ; hybrid (par défaut) : moitié de chaque. Le contenu rappelé est contrôlé contre l'injection de prompt ; les éléments bloqués sont écartés. La politique memory.search est évaluée. 400 invalid_request pour un mode inconnu. Audité sous memory.search.
Route : /v1/memory/search (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Requête, portée et type facultatifs, nombre de résultats et mode. | |
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 « Rechercher dans la mémoire ». 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).
MemoryService.Write
Write(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Écrire un élément de mémoire. Crée un élément, ou une nouvelle version de memory_id (201, document Memory Contract). Étapes : 1. kind et scope.type sont vérifiés (400 invalid_request) ; content ou content_ref est requis. 2. La détection de données personnelles peut relever la classification ; une classification au-dessus de l'habilitation de l'appelant répond 403 policy_denied ; la politique memory.write est évaluée. 3. Pour une mise à jour, l'appelant doit être rédacteur ou propriétaire (403 not_permitted_acl) avant l'envoi du contenu au modèle d'embedding. 4. Le contenu est vectorisé et enregistré. Un nouvel élément a par défaut l'appelant comme lecteur, rédacteur et propriétaire, et la portée user de l'appelant. Audité sous memory.create ou memory.update.
Route : /v1/memory (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | L'élément de mémoire à écrire. | |
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 « Écrire un élément de mémoire ». 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 RetentionService
Conservation. Durée de conservation des données du tenant, leur purge, l'effacement d'une personne concernée (article 17 du RGPD) et les gels juridiques.
RetentionService.CreatePolicy
CreatePolicy(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer ou modifier une politique de conservation. Définit la politique de conservation d'un type de ressource, en remplaçant l'existante. Exige tenant_admin, security_officer ou data_steward. Un type de ressource inconnu ou une action autre que erase ou archive répond 400 invalid_request. La politique s'applique à la passe de conservation suivante. Écrit l'événement d'audit retention.policy.upsert. Répond 201 avec la politique.
Route : /v1/retention/policies (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Type de ressource, durée de vie et action 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 « Créer ou modifier une politique de conservation ». 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).
RetentionService.Erase
Erase(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Effacer une personne concernée. Supprime les données détenues sur une personne, en une transaction. Exige tenant_admin, security_officer ou data_steward.
Route : /v1/retention/erase (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Personne, périmètre et raison de l'effacement. | |
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 « Effacer une personne concerné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).
RetentionService.LegalHold
LegalHold(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Poser ou lever un gel juridique. Sans hold_id, pose un nouveau gel sur une personne (subject_id) ou sur une ressource (resource_type et resource_id) ; reason est obligatoire (400 invalid_request sinon). Avec hold_id, active ou lève ce gel selon active (404 not_found pour un gel inconnu).
Route : /v1/retention/legal-hold (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nouveau gel, ou identifiant d'un gel à activer ou lever. | |
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 ou lever 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).
RetentionService.ListPolicies
ListPolicies(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les politiques de conservation. Renvoie les politiques de conservation du tenant triées par type de ressource dans items, et les gels juridiques actifs dans legal_holds. Ouvert à tout membre du tenant. next_cursor vaut toujours null.
Route : /v1/retention/policies (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 politiques de conservation ». 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).
RetentionService.Run
Run(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Lancer les politiques de conservation. Applique maintenant les politiques actives, à tous les types de ressources ou à ceux de resource_types. Les éléments de mémoire et les médias dont l'expiration propre est passée sont purgés même sans politique ; les transcriptions et enregistrements temps réel suivent la durée de conservation du consentement des participants. Les éléments sous gel juridique sont ignorés.
Route : /v1/retention/run (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Indicateur de simulation et types de ressources facultatifs. Un corps vide lance réellement toutes les politiques. | |
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 « Lancer les politiques de conservation ». 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 LineageService
Lignage. Lignage des données du tenant, alimenté par des événements OpenLineage : quels traitements lisent quels jeux de données et en produisent d'autres.
LineageService.Dataset
Dataset(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire le lignage d'un jeu de données. Renvoie le nœud du jeu de données, les traitements qui le produisent (produced_by), ceux qui le consomment (consumed_by) et ses graphes amont et aval jusqu'à depth sauts. Ouvert à tout membre du tenant. Répond 404 not_found pour un jeu de données inconnu.
Route : /v1/lineage/datasets/{dataset_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Clé du jeu de données, dataset:<namespace>:<name> ou <namespace>:<name> (le préfixe est ajouté), encodée pour l'URL. | |
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 lignage d'un jeu de donné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).
LineageService.Emit
Emit(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Envoyer des événements OpenLineage. Accepte un RunEvent OpenLineage ou {"events": [RunEvent, ...]}, en une transaction. Chaque événement exige run.runId, job.namespace et job.name ; eventType vaut START, RUNNING, COMPLETE, ABORT, FAIL ou OTHER (par défaut ; toute autre valeur répond 400) ; eventTime vaut par défaut l'heure de réception.
Route : /v1/lineage/events (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Un RunEvent OpenLineage, ou un objet events qui en contient une liste. | |
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 « Envoyer des événements OpenLineage ». 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).
LineageService.Graph
Graph(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire le graphe de lignage. Renvoie nodes et edges. Avec node, le graphe est parcouru depuis ce nœud dans la direction direction jusqu'à depth sauts (404 not_found pour un nœud inconnu). Sans node, renvoie jusqu'à limit nœuds de traitements et de jeux de données triés par clé, et les arêtes qui les relient. Une direction autre que both, upstream ou downstream répond 400 invalid_request. Ouvert à tout membre du tenant.
Route : /v1/lineage/graph (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 graphe de lignage ». 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 PromptsService
Prompts. Registre de prompts : modèles de prompt versionnés avec variables typées et rendu validé.
PromptsService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Publier une version de prompt. Crée un prompt, ou publie une nouvelle version quand le nom existe ; un modèle et des variables identiques ne sont pas dupliqués (la version courante est renvoyée). Le nom est en minuscules, chiffres, ., _, - (1 à 128 caractères, 400 invalid_request sinon). Un emplacement mal fermé, un type de variable inconnu ou un emplacement non déclaré dans variables répond 422 template_error. Demande tenant_admin ou developer. Audité sous prompt.publish.
Route : /v1/prompts (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, modèle, description, variables et indication de modèle. | |
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 prompt ». 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).
PromptsService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les prompts. Prompts du tenant dans l'ordre des noms avec leur dernier numéro de version, paginés avec cursor.
Route : /v1/prompts (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 prompts ». 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).
PromptsService.Render
Render(ctx context.Context, name string, body any, opts ...CallOption) (json.RawMessage, error)
Rendre un prompt. Remplit le modèle d'une version (par défaut : la dernière) avec les valeurs données et renvoie text, chars et estimated_tokens (nombre de caractères divisé par 4). Des valeurs obligatoires absentes, de mauvais types, des valeurs hors enum, au-delà de max_length et, avec strict, des variables inconnues répondent 422 missing_variables avec une entrée par problème. 404 not_found pour un prompt ou une version inconnus. Rien n'est enregistré.
Route : /v1/prompts/{name}/render (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du prompt. | |
body | any | oui | Valeurs des variables, version et mode strict. | |
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 « Rendre un prompt ». 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).
PromptsService.Versions
Versions(ctx context.Context, name string, opts ...CallOption) (*Page, error)
Lister les versions d'un prompt. Le prompt et toutes ses versions, de la plus récente à la plus ancienne, avec modèle, variables, indication de modèle, empreinte et auteur. 404 not_found.
Route : /v1/prompts/{name}/versions (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du prompt. | |
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 versions d'un prompt ». 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 MediaService
Multimodal. Médias et traitement multimodal : stockage chiffré de médias et travaux de vision, génération et retouche d'images, traitement et génération de vidéos, transcription de la parole, diarisation, synthèse vocale et DLP multimodale.
MediaService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer un média. Supprime le média et son contenu stocké. Permis pour son créateur, tenant_admin ou security_officer (403 forbidden). Un média sous conservation légale répond 409 legal_hold. Audité sous media.delete.
Route : /v1/media/{media_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du média. | |
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).
MediaService.Get
Get(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire un média. Renvoie le document Multimodal Contract du média. Avec include_content=true, la réponse est {media, content_base64} avec le contenu déchiffré ; cela demande une habilitation au moins égale à la classification du média (403 policy_denied) et est audité sous media.read.
Route : /v1/media/{media_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du média. | |
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 média ». 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).
MediaService.Upload
Upload(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Téléverser un média. Enregistre un média (201) à partir de JSON {content_base64, mime_type, filename?, operation?, dlp_mode?, retention_days?, classification?} ou de multipart/form-data avec une partie file et les mêmes champs. Tout principal du tenant peut l'appeler. Étapes : 1. Taille contrôlée par rapport au maximum de la plateforme (50 Mio sauf configuration ; 413 media_too_large). 2. Analyse du fichier par ClamAV et YARA-X (422 file_blocked, 503 file_scan_unavailable). 3. Extraction du texte et DLP avec dlp_mode (detect par défaut ; block répond 422 dlp_blocked quand des données personnelles sont trouvées) ; la classification est relevée en conséquence. 4. Le contenu est chiffré avec une clé du tenant et enregistré. Renvoie le document Multimodal Contract.
Route : /v1/media (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le fichier (JSON avec contenu en base64, ou multipart avec une partie file) et ses options : operation à laquelle le média est destiné, dlp_mode (detect, mask, tokenize, block), retention_days (0 ou plus), classification. | |
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 « Téléverser un média ». 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 MultimodalService
Multimodal. Médias et traitement multimodal : stockage chiffré de médias et travaux de vision, génération et retouche d'images, traitement et génération de vidéos, transcription de la parole, diarisation, synthèse vocale et DLP multimodale.
MultimodalService.Diarize
Diarize(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Diariser un audio. Lance un travail de diarisation (qui a parlé quand) sur un média audio ou un audio fourni directement (201, le travail). Seuls min_speakers et max_speakers s'appliquent ici (word_timestamps répond 422 parameter_unsupported) ; min_speakers ne doit pas dépasser max_speakers (422 parameter_invalid) ; une option que le fournisseur configuré ne peut pas honorer répond 422 parameter_unsupported. Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/diarize (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Entrée audio et bornes du nombre de locuteurs. | |
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 « Diariser un audio ». 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).
MultimodalService.Dlp
Dlp(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Exécuter la DLP sur un texte ou un média. Inspecte text, le texte extrait d'un média enregistré, ou un contenu fourni directement (analysé d'abord), avec les règles DLP du tenant. Renvoie source, extracted_text_chars, le text traité, findings, action et classification. Rien n'est enregistré. Tout principal du tenant peut l'appeler. Audité sous multimodal.dlp.
Route : /v1/multimodal/dlp (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Texte, média enregistré ou contenu direct, et mode DLP. | |
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 « Exécuter la DLP sur un texte ou un média ». 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).
MultimodalService.EditImage
EditImage(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Retoucher une image. Lance un travail de retouche d'image à partir d'un média image ou d'une image fournie directement et d'un prompt (201, le travail). L'entrée doit être une image (422 unsupported_media). Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/images/edit (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, nombre d'images, taille et modèle. | |
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 « Retoucher 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).
MultimodalService.GenerateImage
GenerateImage(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Générer des images. Lance un travail de génération d'images (201, le travail). Le prompt est d'abord inspecté par la DLP en mode blocage : des données personnelles répondent 422 dlp_blocked. L'usage est compté par image. Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/images/generate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Prompt, nombre d'images, taille et modèle. | |
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 « Générer des images ». 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).
MultimodalService.GenerateVideo
GenerateVideo(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Générer une vidéo. Lance un travail de génération vidéo et répond 202 avec le travail ; suivez-le avec GET /v1/multimodal/jobs/{job_id}. L'usage est compté en secondes de vidéo. Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/video/generate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Prompt, durée, taille et modèle. | |
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 « Générer une vidéo ». 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).
MultimodalService.Job
Job(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire un travail multimodal. Renvoie le travail : opération, statut, paramètres d'entrée, sortie, erreur, adaptateur, unités et coût. 404 not_found.
Route : /v1/multimodal/jobs/{job_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du travail. | |
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 travail multimodal ». 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).
MultimodalService.Jobs
Jobs(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les travaux multimodaux. Travaux du tenant, du plus récent au plus ancien, paginés avec cursor, filtrables par statut et opération.
Route : /v1/multimodal/jobs (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 travaux multimodaux ». 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).
MultimodalService.ProcessVideo
ProcessVideo(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Traiter une vidéo. Extrait des images et/ou la piste audio d'un média vidéo ou d'une vidéo fournie directement (201, le travail ; mis en file quand ffmpeg n'est pas disponible). operations n'accepte que frames et audio (400 invalid_request). Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/video/process (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Vidéo d'entrée, opérations, fréquence d'images et fréquence d'échantillonnage audio. | |
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 « Traiter une vidéo ». 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).
MultimodalService.Stt
Stt(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Transcrire la parole en texte. Lance un travail de transcription sur un média audio ou un audio fourni directement (201, le travail). La transcription passe par la DLP avec dlp_mode. Seul word_timestamps s'applique ici (les bornes de locuteurs répondent 422 parameter_unsupported). L'usage est compté en secondes d'audio (duration_seconds, ou lu dans un en-tête WAV). Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/stt (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Entrée audio, langue, modèle, mode DLP et options. | |
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 « Transcrire la parole en texte ». 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).
MultimodalService.Tts
Tts(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Synthétiser la parole à partir d'un texte. Lance un travail de synthèse vocale (201, le travail). Le texte est inspecté par la DLP avec dlp_mode (block par défaut : des données personnelles répondent 422 dlp_blocked ; mask prononce le texte masqué). L'usage est compté en caractères. Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/tts (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Texte, voix, modèle et mode DLP. | |
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 « Synthétiser la parole à partir d'un texte ». 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).
MultimodalService.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 RealtimeService
Voix en temps réel. Sessions de voix en temps réel : un jeton de salle LiveKit et un protocole d'événements WebSocket pour diffuser de l'audio vers un agent, avec consentement des participants, tours de parole, transcriptions filtrées par la DLP, enregistrements facultatifs et comptage d'usage.
RealtimeService.CreateSession
CreateSession(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Ouvrir une session temps réel. Ouvre une session (201) et la renvoie avec session_id, livekit (url, token, room, configured) et l'accès WebSocket (ws_url, ws_token, ws_token_expires_at). Demande tenant_admin, developer ou agent. Contrôles : pipeline vaut echo ou stt (400 invalid_request) ; config.vad et config.dlp_mode sont valides (422 parameter_invalid) ; un appelant agent agit pour on_behalf_of, un utilisateur ne peut ouvrir une session que pour lui-même (403 identity_mismatch) ; les identifiants LiveKit sont configurés ; la politique realtime.session.create est évaluée. La salle prend par défaut un nom dérivé du tenant et de la session. Audité sous realtime.session.create.
Route : /v1/realtime/sessions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Salle, pipeline, durée de vie du jeton, configuration, agent et utilisateur représenté. | |
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 session temps réel ». 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).
RealtimeService.EndSession
EndSession(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Terminer une session temps réel. Termine la session et enregistre son événement d'usage (voice_live : secondes d'audio, jetons d'entrée et de sortie, coût mesuré). Terminer une session déjà terminée la renvoie sans changement. Demande tenant_admin, developer ou agent. Audité sous realtime.session.end.
Route : /v1/realtime/sessions/{session_id}/end (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la session temps réel. | |
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 « Terminer une session temps réel ». 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.CheckGate
CheckGate(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Vérifier la barrière de qualité d'une cible. Vérifie que la dernière exécution terminée de chaque suite bloquante de la cible (pour target.version si elle est donnée, et limitée à suite_ids s'il est donné) a réussi. Avec run_missing: true, une suite sans exécution est exécutée maintenant ; sinon elle compte comme missing.
Route : /v1/evaluations/gates/check (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Cible, suites facultatives et exécution ou non des suites manquantes. | |
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 barrière de qualité d'une cible ». 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.CreateRun
CreateRun(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Exécuter une suite d'évaluation. Exécute une suite maintenant et renvoie l'exécution terminée (201). Exige tenant_admin, developer, security_officer ou ai_governance_officer ou agent.
Route : /v1/evaluations/runs (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Suite, cible facultative, sorties précalculées et déclencheur. | |
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 « Exécuter une suite d'évaluation ». 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.CreateSuite
CreateSuite(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une suite d'évaluation. Crée une suite. Exige tenant_admin, developer, security_officer ou ai_governance_officer. Erreurs 400 invalid_request : type de cible hors de model, agent, prompt, rag_pipeline, skill ou tool, moteur ou type inconnu, comparateur autre que gte ou lte, ou, pour le moteur custom, une métrique autre que exact_match, contains, not_contains, json_valid, faithfulness, latency ou refusal. Un nom déjà utilisé répond 409 conflict. Le jeu de données reçoit sa taille size et une empreinte SHA-256 digest des cas. Écrit l'événement d'audit evaluation.suite.create.
Route : /v1/evaluations/suites (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, cible, moteur, type, jeu de données, cas, métriques et options de barrière. | |
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 suite d'évaluation ». 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.GetRun
GetRun(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire une exécution d'évaluation. Renvoie une exécution d'évaluation avec ses résultats par métrique et par cas. Ouvert à tout membre du tenant. Répond 404 not_found.
Route : /v1/evaluations/runs/{run_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de l'exécution d'évaluation. | |
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 exécution d'évaluation ». 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.GetSuite
GetSuite(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire une suite d'évaluation. Renvoie une suite avec la liste complète de ses cas et run_on_promotion. Ouvert à tout membre du tenant. Répond 404 not_found.
Route : /v1/evaluations/suites/{suite_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la suite. | |
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 suite d'évaluation ». 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.ListRuns
ListRuns(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les exécutions d'évaluation. Liste les exécutions d'évaluation du tenant, identifiant le plus récent d'abord, paginées, éventuellement filtrées par suite et statut. Chaque élément suit le contrat d'évaluation (cible, moteur, jeu de données, métriques, résultats, statut, coût) avec run_id, suite_id, trigger, case_results et error. Ouvert à tout membre du tenant.
Route : /v1/evaluations/runs (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 exécutions d'évaluation ». 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.ListSuites
ListSuites(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les suites d'évaluation. Liste les suites du tenant triées par nom, paginées, sous forme de documents du contrat d'évaluation ; cases donne le nombre de cas. Ouvert à tout membre du tenant.
Route : /v1/evaluations/suites (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 suites d'évaluation ». 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 RedTeamService
É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.
RedTeamService.CreateRun
CreateRun(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Lancer une campagne de red team. Envoie des sondes adverses à la cible et enregistre les constats. Exige tenant_admin, developer, security_officer ou ai_governance_officer.
Route : /v1/redteam/runs (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Cible, moteur, sondes et taux de réussite des attaques accepté. | |
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 « Lancer une campagne de red team ». 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).
RedTeamService.GetRun
GetRun(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire une campagne de red team. Renvoie une campagne de red team : cible, moteur, sondes, statut, synthèse (total, vulnérables, taux de réussite des attaques, seuil, par catégorie) et constats. Ouvert à tout membre du tenant. Répond 404 not_found.
Route : /v1/redteam/runs/{run_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la campagne de red team. | |
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 campagne de red team ». 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).
RedTeamService.ListRuns
ListRuns(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les campagnes de red team. Liste les campagnes de red team du tenant, identifiant le plus récent d'abord, paginées, ainsi que probes : les sondes intégrées (identifiant et catégorie), les familles de sondes garak et si garak est installé. Ouvert à tout membre du tenant.
Route : /v1/redteam/runs (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 campagnes de red team ». 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 AuditService
Audit. Le journal d'audit infalsifiable du tenant.
AuditService.Correlations
Correlations(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Corréler les événements par trace, exécution ou session. Avec trace_id, run_id ou session_id (le premier donné l'emporte), renvoie tout ce qui partage cette clé : audit_events, usage_events des LLM, runs, spans de télémétrie, multimodal_jobs (jusqu'à 1000 de chaque, 200 pour les exécutions et les tâches), les trace_ids rencontrés et counts.
Route : /v1/audit/correlations (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 « Corréler les événements par trace, exécution ou session ». 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).
AuditService.Event
Event(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire un événement d'audit. Renvoie un événement d'audit avec sa séquence, ses empreintes, son acteur, sa ressource, sa décision et ses preuves. Exige auditor, security_officer ou tenant_admin. La lecture est inscrite dans le journal d'accès aux preuves. Répond 404 not_found.
Route : /v1/audit/events/{event_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de l'événement d'audit. | |
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 é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).
AuditService.Events
Events(ctx context.Context, opts ...CallOption) (*Page, error)
Rechercher les événements d'audit. Recherche les événements d'audit du tenant, les plus récents d'abord (séquence la plus haute d'abord), paginés. Tous les filtres se combinent. Exige auditor, security_officer ou tenant_admin. La recherche elle-même est inscrite dans le journal d'accès aux preuves (qui, quelle requête, combien de résultats).
Route : /v1/audit/events (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 « Rechercher les événements 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).
AuditService.Export
Export(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Exporter le journal d'audit. Écrit les événements de la période (bornes incluses) dans un stockage à écriture unique, en NDJSON ou en CSV, avec un manifeste. Exige auditor, security_officer ou tenant_admin.
Route : /v1/audit/export (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Période, rétention et format de l'export. Un corps vide exporte tout en NDJSON conservé 365 jours. | |
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 le journal 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).
AuditService.Record
Record(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Enregistrer un événement d'audit applicatif. Ajoute un événement applicatif à la chaîne de hachage du tenant. L'acteur vient de l'authentification ; la séquence, les empreintes et occurred_at viennent du serveur ; les details du client sont conservés sous evidence.details.attributes, à côté de stream: sdk. L'événement est scellé et exporté vers la boîte d'envoi et le SIEM comme les événements de la plateforme.
Route : /v1/audit/events (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | L'événement applicatif. Les champs hors du schéma 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 « Enregistrer un événement d'audit applicatif ». 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).
AuditService.Verify
Verify(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Vérifier la chaîne d'audit. Recalcule la chaîne de hachage du tenant depuis le premier événement et renvoie tenant_id, valid, count, last_hash, broken_at, reason et verified_at. Quand la chaîne est rompue, broken_at est la séquence du premier événement fautif et reason en donne la cause : sequence gap, prev_hash mismatch ou hash mismatch. Exige auditor, security_officer ou tenant_admin. La vérification est inscrite dans le journal d'accès aux preuves.
Route : /v1/audit/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 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 TelemetryService
Télémétrie. Traces, journal des requêtes, flux en direct et objectifs de niveau de service (SLO) de la plateforme.
TelemetryService.IngestSpans
IngestSpans(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Ingérer des spans de télémétrie. Accepte jusqu'à 5000 spans et répond 202 avec le nombre accepté, le nombre enregistré (un span déjà connu pour les mêmes identifiants de trace et de span est ignoré) et le résultat de chaque exportateur (ok ou error). Demande un principal de tenant avec tenant_admin, developer ou agent (403 forbidden).
Route : /v1/telemetry/spans (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'export OTLP JSON (resourceSpans) ou {spans: [...]} où chaque span porte trace_id, span_id, parent_span_id facultatif, name, service, start_time, end_time (ISO 8601 ou startTimeUnixNano / endTimeUnixNano), status, attributes, et facultativement cost {amount, currency}, run_id et session_id. | |
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 « Ingérer des spans de télémétrie ». 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).
TelemetryService.Overview
Overview(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire la vue d'ensemble de la télémétrie. Tableau de bord du tenant sur les days derniers jours : nombre de requêtes (spans racines), erreurs, taux d'erreur, latences p50 et p95 en millisecondes, coût total, et par jour les requêtes, les erreurs et le coût (coût des spans plus le coût mesuré ou estimé des événements d'usage LLM). Indique aussi quels exportateurs (Opik, OpenTelemetry, ClickHouse) sont configurés. Le coût total est libellé en USD. Demande un principal de tenant (403 tenant_required).
Route : /v1/telemetry/overview (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 la vue d'ensemble de la télémétrie ». 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).
TelemetryService.SLO
SLO(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire les budgets d'erreur des SLO. Pour chaque service, sur les window_minutes dernières minutes : requêtes, erreurs (5xx), requêtes au-delà de la cible de latence, cible de latence et son origine (database ou settings), et pour la disponibilité et la latence la cible, le taux de mauvaises requêtes, le budget restant et le rythme de consommation. Les comptes sont ceux de la réplique qui répond. Demande platform_admin, tenant_admin, auditor, viewer ou support_engineer (403 forbidden). Un administrateur de la plateforme lit toute la plateforme ou un tenant ; les autres ne lisent que leur propre tenant (403 slo_scope_forbidden pour un autre). Une fenêtre hors de 1 à EAI_SLO_RETENTION_MINUTES répond 422 slo_window_invalid. Chaque lecture est auditée (telemetry.slo.read).
Route : /v1/telemetry/slo (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 budgets d'erreur des SLO ». 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).
TelemetryService.SetSLOTarget
SetSLOTarget(ctx context.Context, service string, body any, opts ...CallOption) (json.RawMessage, error)
Définir les objectifs d'un service. Objectifs d'un service de la plateforme, écrits en base de données où ils remplacent les valeurs par défaut EAI_SLO_* pour chaque réplique sous 30 secondes. Réservé à l'administrateur de la plateforme (403 forbidden). Un service inconnu répond 404 slo_service_unknown. La modification, avec les valeurs avant et après et la raison, est auditée (telemetry.slo.target.update) ; la réponse donne les objectifs enregistrés avec leur version.
Route : /v1/telemetry/slo/targets/{service} (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
service | string | oui | Service dont les objectifs sont définis : control_plane_api, model_gateway, tool_gateway ou realtime. | |
body | any | oui | Nouveaux objectifs de disponibilité et de latence du service. | |
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 les objectifs d'un service ». 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).
TelemetryService.Trace
Trace(ctx context.Context, traceID string, opts ...CallOption) (json.RawMessage, error)
Lire une trace. Tous les spans de la trace dans l'ordre de début (avec leur coût s'il est connu), le nombre de spans, la durée totale en millisecondes, le nombre d'erreurs, les événements d'audit qui portent cet identifiant de trace, et un lien vers la trace dans Opik quand Opik est configuré. Demande un principal de tenant (403 tenant_required). Un identifiant mal formé répond 400 invalid_request ; une trace sans span ni événement d'audit répond 404 not_found.
Route : /v1/telemetry/traces/{trace_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
traceID | string | oui | Identifiant de trace : 32 caractères hexadécimaux (W3C trace context), insensible à la casse. | |
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 trace ». 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 FinOpsService
FinOps. Gestion des coûts de l'usage de l'IA : grilles tarifaires, événements d'usage, estimations, quotas et réservations, répartition du coût des GPU, rapprochement de la facturation et alertes.
FinOpsService.Alerts
Alerts(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les alertes FinOps. Alertes de budget, de quota et d'écart de facturation du tenant, de la plus récente à la plus ancienne, avec leur message dans la langue de la requête. Une seule page. Demande un rôle de lecteur et un principal de tenant.
Route : /v1/finops/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 FinOps ». 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).
FinOpsService.CreateAllocationPolicy
CreateAllocationPolicy(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une politique de répartition GPU. Crée une politique qui valorise les échantillons GPU des déploiements correspondants et répond 201. Le motif de déploiement le plus précis l'emporte. Coût d'un échantillon de s secondes à P watts : GPU s / 3600 * gpu_hourly_cost, énergie P * s / 3600 / 1000 * energy_kwh_price * pue, stockage storage_gb * storage_gb_month_price * (s / 3600) / 730, total multiplié par 1 + overhead_pct / 100. Audité. Demande platform_admin.
Route : /v1/finops/allocation-policies (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | La nouvelle politique de répartition. | |
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 politique de répartition GPU ». 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).
FinOpsService.CreatePriceCard
CreatePriceCard(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une grille tarifaire. Crée une grille tarifaire pour le tenant (ou une grille globale pour un administrateur de la plateforme sans tenant) et répond 201. La grille en vigueur pour le même fournisseur, le même motif de modèle, la même région et le même type d'usage est close à la nouvelle date de début ; une grille commençant plus tard dans la nouvelle validité répond 409 conflict. Des clés de prix inconnues, des prix négatifs ou une grille sans aucun prix répondent 422 price_card_invalid. Audité. Demande finops ou tenant_admin (platform_admin pour une grille globale).
Route : /v1/finops/price-cards (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | La nouvelle grille tarifaire. | |
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 grille tarifaire ». 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).
FinOpsService.Estimate
Estimate(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Estimer le coût d'un appel. Valorise un appel prévu avec la grille tarifaire en vigueur (motif de modèle et région les plus précis d'abord), le convertit dans la devise du tenant et le compare aux quotas correspondants, sans rien réserver. Les jetons de raisonnement sont ajoutés selon le mode de facturation de la grille. Sans grille : 404 price_card_not_found ; sans taux de change : 422 fx_rate_missing. Demande un rôle d'usage ou de lecteur et un principal de tenant.
Route : /v1/finops/estimate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | L'appel prévu à valoriser. | |
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 « Estimer le coût d'un appel ». 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).
FinOpsService.FxRates
FxRates(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lister les taux de change. Taux de change (globaux et propres au tenant) par devise de base, devise de cotation et date la plus récente d'abord, avec leur source. Demande un rôle de lecteur.
Route : /v1/finops/fx-rates (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 taux de change ». 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).
FinOpsService.GetPriceCard
GetPriceCard(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lire une grille tarifaire. Une grille tarifaire avec ses prix, ses paliers, sa validité et son statut. Identifiant inconnu : 404 not_found. Demande un rôle de lecteur.
Route : /v1/finops/price-cards/{card_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la grille tarifaire. | |
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 grille tarifaire ». 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).
FinOpsService.GpuAllocation
GpuAllocation(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire la répartition du coût GPU. Coût des déploiements GPU locaux sur la fenêtre, calculé à partir des échantillons GPU et des politiques de répartition, et partagé entre les tenants au prorata des secondes GPU de leurs événements d'usage sur chaque déploiement. Un tenant voit sa propre part ; un administrateur de la plateforme sans tenant voit tous les tenants. Demande un rôle de lecteur.
Route : /v1/finops/gpu/allocation (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 la répartition du coût GPU ». 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).
FinOpsService.GpuSamples
GpuSamples(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Ingérer des échantillons GPU. Enregistre des échantillons d'utilisation GPU (en général issus de DCGM), de 1 à 10000 par appel, utilisés pour la répartition du coût GPU. Un événement d'audit par lot. Demande platform_admin.
Route : /v1/finops/gpu/samples (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Lot d'échantillons GPU. | |
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 « Ingérer des échantillons GPU ». 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).
FinOpsService.ImportReconciliation
ImportReconciliation(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Importer un export de facturation. Analyse un export de facturation d'un fournisseur, convertit chaque ligne dans la devise du tenant et l'enregistre, puis répond 201 avec l'import (nombre de lignes, total, période). Un export illisible répond 422 import_invalid avec la raison. Lancez ensuite le rapprochement. Audité. Demande finops ou tenant_admin, et un principal de tenant.
Route : /v1/finops/reconciliation/imports (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | L'export de facturation et son format. | |
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 « Importer un export de facturation ». 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).
FinOpsService.IngestUsage
IngestUsage(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Ingérer un événement d'usage. Valide un Usage Event v1, le valorise (coût mesuré dans la devise du tenant) et l'enregistre ; répond 201, ou 200 avec duplicate: true si le même event_id était déjà enregistré. Un événement invalide répond 422 usage_event_invalid avec les erreurs ; un événement d'un autre tenant 403 usage_tenant_mismatch. Un événement d'audit par appel, jamais le contenu. Demande finops, tenant_admin, agent ou developer, et un principal de tenant.
Route : /v1/finops/usage (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Un Usage Event v1 (event_id, tenant_id, occurred_at, usage_type, units, pricing, identifiants de portée...), tel que défini par le contrat. | |
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 « Ingérer un événement d'usage ». 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).
FinOpsService.IngestUsageBatch
IngestUsageBatch(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Ingérer des événements d'usage par lot. Ingère jusqu'à 1000 événements d'usage, chacun dans son propre point de sauvegarde : la réponse liste chaque événement comme created, duplicate ou error (avec code, message et détails) ainsi que les totaux. Plus de 1000 événements répondent 413 batch_too_large ; un corps sans liste events 422 validation_error. Un événement d'audit par lot. Demande finops, tenant_admin, agent ou developer, et un principal de tenant.
Route : /v1/finops/usage/batch (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | {events: [...]} : une liste d'objets Usage Event v1. | |
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 « Ingérer des événements d'usage par lot ». 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).
FinOpsService.ListAllocationPolicies
ListAllocationPolicies(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les politiques de répartition GPU. Politiques qui transforment les échantillons GPU en coût (coût horaire du GPU, énergie, PUE, stockage et frais généraux) par motif de déploiement et modèle de GPU. Demande un rôle de lecteur.
Route : /v1/finops/allocation-policies (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 politiques de répartition GPU ». 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).
FinOpsService.ListPriceCards
ListPriceCards(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les grilles tarifaires. Grilles tarifaires visibles par l'appelant (globales et propres au tenant), par fournisseur, motif de modèle et date de début. Seulement les grilles actives sauf si include_retired ou at est fourni. Une seule page. Demande un rôle de lecteur.
Route : /v1/finops/price-cards (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 grilles tarifaires ». 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).
FinOpsService.ListUsage
ListUsage(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les événements d'usage. Événements d'usage du tenant avec leurs unités et leurs coûts estimés, mesurés et facturés, filtrés et paginés. Demande un rôle de lecteur et un principal de tenant.
Route : /v1/finops/usage (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 événements d'usage ». 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).
FinOpsService.ReconciliationImports
ReconciliationImports(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les imports de facturation. Exports de facturation importés par le tenant, avec source, fournisseur, nom de fichier, nombre de lignes, montant total, devise et période. Demande un rôle de lecteur et un principal de tenant.
Route : /v1/finops/reconciliation/imports (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 imports de facturation ». 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).
FinOpsService.ReconciliationReport
ReconciliationReport(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire le rapport de rapprochement. Coût mesuré comparé au coût facturé sur la période, avec l'écart, les lignes de facturation non rapprochées et les 100 dernières alertes d'écart. Un from postérieur à to répond 422 validation_error. Demande un rôle de lecteur et un principal de tenant.
Route : /v1/finops/reconciliation/report (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 rapport de rapprochement ». 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).
FinOpsService.RetirePriceCard
RetirePriceCard(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Retirer une grille tarifaire. Marque la grille retired et termine sa validité à at (maintenant par défaut) si elle restait ouverte après cette date. Les usages passés gardent le prix avec lequel ils ont été valorisés. Identifiant inconnu : 404 not_found. Audité. Demande finops ou tenant_admin.
Route : /v1/finops/price-cards/{card_id}/retire (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la grille tarifaire. | |
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 « Retirer une grille tarifaire ». 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).
FinOpsService.RunReconciliation
RunReconciliation(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Lancer le rapprochement de facturation. Répartit les lignes facturées importées de la période sur les événements d'usage : une ligne portant un provider_request_id va à cet événement, les autres sont réparties au prorata du coût mesuré des événements du même fournisseur, du même modèle et du même jour (à parts égales si rien n'a été mesuré) ; les lignes sans événement candidat sont signalées comme non rapprochées. Des alertes d'écart sont levées au-delà du seuil du tenant. Audité. Demande finops ou tenant_admin, et un principal de tenant.
Route : /v1/finops/reconciliation/run (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Période à rapprocher ; 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 « Lancer le rapprochement de facturation ». 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).
FinOpsService.SetFxRates
SetFxRates(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Définir des taux de change. Ajoute ou remplace de 1 à 1000 taux de change (mêmes devises et même date : remplacé) pour le tenant, ou des taux globaux pour un administrateur de la plateforme sans tenant, et répond le nombre mis à jour avec la liste complète. Les conversions passent par USD comme pivot quand aucun taux direct n'existe. Audité. Demande finops ou tenant_admin (platform_admin pour les taux globaux).
Route : /v1/finops/fx-rates (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Les taux à enregistrer. | |
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 des taux de change ». 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).
FinOpsService.Summary
Summary(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Synthétiser la dépense. Événements d'usage du tenant regroupés selon une dimension, par devise : nombre d'événements, jetons, secondes GPU, montants estimés, mesurés et facturés (le facturé vaut null si rien n'a été rapproché). Un regroupement inconnu répond 400 finops_group_by_invalid. Demande un rôle de lecteur et un principal de tenant.
Route : /v1/finops/summary (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 « Synthétiser la dépense ». 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 QuotasService
FinOps. Gestion des coûts de l'usage de l'IA : grilles tarifaires, événements d'usage, estimations, quotas et réservations, répartition du coût des GPU, rapprochement de la facturation et alertes.
QuotasService.Commit
Commit(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Valider une réservation. Remplace le montant réservé par le montant mesuré sur chaque fenêtre de quota de la réservation et vérifie les seuils d'alerte. Une réservation close répond 409 reservation_closed ; une réservation inconnue 404 reservation_not_found. Audité. Demande finops, tenant_admin, agent ou developer, et un principal de tenant.
Route : /v1/quotas/{reservation_id}/commit (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la réservation renvoyé par POST /v1/quotas/reserve. | |
body | any | oui | Coût et jetons mesurés de l'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 « Valider une réservation ». 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).
QuotasService.Create
Create(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer un quota. Crée un quota du tenant et répond 201. Une limite de coût ou de jetons est obligatoire, et scope_value est obligatoire sauf si scope_type vaut tenant (422 validation_error). Sans devise, celle du tenant s'applique. Audité. Demande finops ou tenant_admin, et un principal de tenant.
Route : /v1/quotas (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Le nouveau quota. | |
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 quota ». 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).
QuotasService.Delete
Delete(ctx context.Context, id string, opts ...CallOption) error
Supprimer un quota. Supprime un quota du tenant et répond 204. Identifiant inconnu : 404 quota_not_found. Audité (finops.quota.delete). Demande finops ou tenant_admin.
Route : /v1/quotas/{quota_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du quota. | |
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).
QuotasService.List
List(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les quotas. Quotas du tenant par nom, y compris ceux reproduits depuis les projets LLM (llm-project:...). Une seule page. Demande un rôle de lecteur et un principal de tenant.
Route : /v1/quotas (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 quotas ». 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).
QuotasService.Release
Release(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Libérer une réservation. Rend le montant réservé à chaque fenêtre de quota de la réservation sans rien consommer (l'appel a échoué ou n'a pas eu lieu). Une réservation close répond 409 reservation_closed ; une réservation inconnue 404 reservation_not_found. Audité. Demande finops, tenant_admin, agent ou developer, et un principal de tenant.
Route : /v1/quotas/{reservation_id}/release (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) de la réservation. | |
body | any | oui | Corps de la requête, sérialisé en JSON. | |
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 « Libérer une réservation ». 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).
QuotasService.Replace
Replace(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Remplacer un quota. Remplace tous les champs d'un quota (mêmes règles qu'à la création ; sans devise, la devise actuelle est conservée). Identifiant inconnu : 404 quota_not_found. Audité. Demande finops ou tenant_admin, et un principal de tenant.
Route : /v1/quotas/{quota_id} (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
id | string | oui | Identifiant (UUID) du quota. | |
body | any | oui | Le quota complet. | |
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 « Remplacer un quota ». 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).
QuotasService.ReserveRaw
ReserveRaw(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Réserver un coût et des jetons. Réserve un montant sur chaque quota actif correspondant à la portée (les quotas du tenant correspondent toujours ; un principal utilisateur ajoute sa propre portée utilisateur) et répond 201 avec la réservation, ses éléments par quota et fenêtre, les quotas souples dépassés et son échéance. Un quota strict qui serait dépassé répond 429 quota_exceeded avec Retry-After: 60, et rien n'est réservé. Les réservations expirées sont d'abord libérées. Audité. Demande finops, tenant_admin, agent ou developer, et un principal de tenant.
Route : /v1/quotas/reserve (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Montant, portée et durée de vie de la réservation. | |
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éserver un coût et des jetons ». 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).
QuotasService.Usage
Usage(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire la consommation des quotas. Chaque quota du tenant avec sa fenêtre courante et le coût et les jetons consommés et réservés dans celle-ci. Les quotas par exécution demandent run pour trouver leur fenêtre. Demande un rôle de lecteur et un principal de tenant.
Route : /v1/quotas/usage (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 la consommation des quotas ». 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).