endpoints_v12.go (package eai)
Source : sdks/go/endpoints_v12.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 MembersService
MembersService regroupe les points d'accès suivants : membres du tenant et attribution des rôles.
MembersService.ChangePassword
ChangePassword(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Changer le mot de passe. Change le mot de passe du compte local connecté. Uniquement pour une session du portail (403 password_session_required).
Route : /v1/auth/password (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Mot de passe actuel et nouveau mot de passe. | |
opts | ...CallOption | non | Options de l'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 mot de passe ». L'error 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.CreateGroupMapping
CreateGroupMapping(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer une correspondance de groupe. Associe un groupe de l'annuaire à un rôle dans un projet et, en option, à un profil de quota. Exige tenant_admin.
Route : /v1/identity/group-mappings (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Groupe, projet, rôle et profil de quota facultatif de la correspondance. | |
opts | ...CallOption | non | Options de l'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 correspondance de groupe ». L'error 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.CreateQuotaProfile
CreateQuotaProfile(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Créer un profil de quota. Crée un profil de quota réutilisable par les correspondances de groupes. Exige tenant_admin. Au moins un des champs limit_cost et limit_tokens est obligatoire (422 validation_error). Un nom déjà utilisé répond 409 conflict. Écrit l'événement d'audit identity.quota_profile.create.
Route : /v1/identity/quota-profiles (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Nom, période, mode d'application et plafonds du profil. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un profil de 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).
MembersService.DeleteGroupMapping
DeleteGroupMapping(ctx context.Context, mappingID string, opts ...CallOption) error
Supprimer une correspondance de groupe. Supprime la correspondance et retire ce qu'elle avait accordé (appartenances aux projets et quotas enregistrés comme accordés par elle) ; les appartenances accordées à la main restent. Exige tenant_admin. Écrit l'événement d'audit identity.group_mapping.delete. Répond 204, ou 404 not_found pour une correspondance inconnue.
Route : /v1/identity/group-mappings/{mapping_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
mappingID | string | oui | Identifiant (UUID) de la correspondance de groupe. | |
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.DeleteQuotaProfile
DeleteQuotaProfile(ctx context.Context, profileID string, opts ...CallOption) error
Supprimer un profil de quota. Supprime un profil de quota. Exige tenant_admin. Un profil encore utilisé par une correspondance de groupe ne peut pas être supprimé (409 conflict) : détachez-le d'abord des correspondances. Écrit l'événement d'audit identity.quota_profile.delete. Répond 204, ou 404 not_found.
Route : /v1/identity/quota-profiles/{profile_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de 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).
MembersService.GetGroupMapping
GetGroupMapping(ctx context.Context, mappingID string, opts ...CallOption) (json.RawMessage, error)
Lire une correspondance de groupe. Renvoie une correspondance de groupe. Exige tenant_admin, security_officer ou auditor. Répond 404 not_found pour une correspondance inconnue.
Route : /v1/identity/group-mappings/{mapping_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
mappingID | string | oui | Identifiant (UUID) de la correspondance de groupe. | |
opts | ...CallOption | non | Options de l'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 correspondance de groupe ». L'error 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.ListGroupMappings
ListGroupMappings(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les correspondances de groupes. Liste toutes les correspondances de groupes de l'annuaire du tenant avec leur groupe, projet, rôle et profil de quota. Exige tenant_admin, security_officer ou auditor (403 forbidden sinon). Non paginé : next_cursor vaut toujours null.
Route : /v1/identity/group-mappings (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 correspondances de groupes ». L'error 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.ListQuotaProfiles
ListQuotaProfiles(ctx context.Context, opts ...CallOption) (*Page, error)
Lister les profils de quota. Liste les profils de quota du tenant (nom, période, mode d'application, plafonds de coût et de jetons, devise). Exige tenant_admin, security_officer ou auditor.
Route : /v1/identity/quota-profiles (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les profils de 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).
MembersService.Login
Login(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Se connecter avec un identifiant et un mot de passe. Ouvre une session du portail pour un compte local. Aucun identifiant n'est nécessaire. L'identifiant de connexion est comparé sans tenir compte de la casse.
Route : /v1/auth/login (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Identifiant et mot de passe du compte local. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Se connecter avec un identifiant et un mot de passe ». L'error 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.Logout
Logout(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Se déconnecter. Révoque la session du portail en cours : son jeton est refusé dès maintenant (401 session_revoked). Uniquement pour une session du portail (403 password_session_required avec un autre identifiant). Écrit l'événement d'audit auth.logout. Répond 204.
Route : /v1/auth/logout (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 « Se déconnecter ». L'error 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.UpdateGroupMapping
UpdateGroupMapping(ctx context.Context, mappingID string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier une correspondance de groupe. Modifie le groupe, le projet, le rôle ou le profil de quota d'une correspondance ; seuls les champs envoyés changent. clear_quota_profile: true détache le profil. Les nouvelles valeurs s'appliquent à la prochaine connexion de chaque membre. Exige tenant_admin. Une modification qui dupliquerait une autre correspondance répond 409 conflict ; un projet ou un profil inconnu répond 404. Écrit l'événement d'audit identity.group_mapping.update.
Route : /v1/identity/group-mappings/{mapping_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
mappingID | string | oui | Identifiant (UUID) de la correspondance de groupe. | |
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 une correspondance de groupe ». L'error 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.UpdateQuotaProfile
UpdateQuotaProfile(ctx context.Context, profileID string, body any, opts ...CallOption) (json.RawMessage, error)
Modifier un profil de quota. Modifie la période, le mode d'application ou les plafonds d'un profil, ainsi que les quotas d'utilisateurs déjà créés à partir de lui par les correspondances de groupes, dans la même transaction. Exige tenant_admin. Écrit l'événement d'audit identity.quota_profile.update avec le nombre de quotas modifiés. Répond 404 not_found pour un profil inconnu.
Route : /v1/identity/quota-profiles/{profile_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
profileID | string | oui | Identifiant (UUID) du profil de quota. | |
body | any | oui | Champs à modifier ; les champs omis gardent leur valeur. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un profil de 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).
MembersService.WhoAmI
WhoAmI(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Afficher l'identité appelante. Renvoie l'identité résolue par la plateforme pour cette requête, quel que soit l'identifiant (jeton OIDC, session du portail, clé d'API, SPIFFE) : id, kind (user, service, agent, system), tenant_id, tenant_slug, roles, scopes, clearance, auth_method et display. En lecture seule, ouvert à tout appelant authentifié, y compris quand un compte local doit encore changer son mot de passe. Utilisez-la pour vérifier un nouveau jeton ou une nouvelle clé.
Route : /v1/identity/whoami (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 « Afficher l'identité appelante ». L'error 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.ReceiveAlerts
ReceiveAlerts(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)
Recevoir des alertes Alertmanager. Récepteur webhook de Prometheus Alertmanager (charge utile en version 4). Chaque alerte est identifiée par son fingerprint :
Route : /v1/incidents/alerts (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
body | any | oui | Charge utile du webhook Alertmanager, 500 alertes au plus. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Recevoir des alertes Alertmanager ». L'error 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.SetStatus
SetStatus(ctx context.Context, name string, body any, opts ...CallOption) (json.RawMessage, error)
Changer le statut d'un skill. approved passe par une promotion : une approbation est ouverte pour tenant_admin ou security_officer et la réponse est 202 avec approval_id et status: pending_approval. Les autres statuts (draft, restricted, deprecated, blocked) s'appliquent aussitôt (200). Demande tenant_admin ou security_officer et la relation ReBAC editor. Audité sous skill.status.
Route : /v1/skills/{name}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
name | string | oui | Nom du skill. | |
body | any | oui | Statut visé et raison. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Changer le statut 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 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.Catalog
Catalog(ctx context.Context, opts ...CallOption) (json.RawMessage, error)
Lire le catalogue des outils MCP. Catalogue : outils, schémas d'entrée et de sortie, versions, scopes et statut d'approbation (approved, pending_approval, rejected), pour les seuls serveurs visibles par la requête, comme GET /v1/mcp/servers.
Route : /v1/mcp/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 outils 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.Connect
Connect(ctx context.Context, serverID string, 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. | |
opts | ...CallOption | non | Options de l'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.DiscoverServer
DiscoverServer(ctx context.Context, serverID string, opts ...CallOption) (json.RawMessage, error)
Découvrir les outils d'un serveur MCP. Découverte par le protocole MCP (initialize, tools/list) : chaque schéma d'outil nouveau ou modifié devient une version du catalogue en attente d'approbation (mcp_tool_version, approbateurs tenant_admin ou security_officer). Renvoie les versions créées avec leurs identifiants d'approbation. Demande tenant_admin, developer ou application_owner, la relation ReBAC editor et l'accès au projet du serveur.
Route : /v1/mcp/servers/{server_id}/discover (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. | |
opts | ...CallOption | non | Options de l'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écouvrir 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.SetAccess
SetAccess(ctx context.Context, serverID string, body any, opts ...CallOption) (json.RawMessage, error)
Définir qui peut appeler un serveur MCP. Contrôle d'accès de la MCP Gateway : quels utilisateurs et agents peuvent appeler ce serveur ; une liste vide laisse tout membre de son projet l'appeler. Les identifiants de principaux sont faits de lettres, chiffres et :._@/- (128 caractères au plus, 400 invalid_request). L'accès d'une instance hébergée est géré par le runtime MCP (409 mcp_instance_access_managed). Demande tenant_admin, developer ou application_owner et l'accès au projet du serveur. Audité sous mcp.server.access.
Route : /v1/mcp/servers/{server_id}/access (PUT).
| 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 | Les principaux permis. | |
opts | ...CallOption | non | Options de l'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 qui peut appeler 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.SetServerStatus
SetServerStatus(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Activer ou désactiver un serveur MCP. active passe par une promotion : une approbation est ouverte et la réponse est 202 avec approval_id. disabled s'applique aussitôt (tout appel de passerelle est alors refusé) et est audité sous mcp.server.status. Demande tenant_admin ou security_officer, la relation ReBAC editor et l'accès au projet du serveur.
Route : /v1/mcp/servers/{server_id}/status (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 du serveur MCP. | |
body | any | oui | Statut visé et raison. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Activer ou désactiver 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).
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.Chunks
Chunks(ctx context.Context, kbID string, docID string, opts ...CallOption) (*Page, error)
Lister les fragments d'un document. Fragments de la version courante d'un document dans l'ordre de leur position, paginés avec cursor : chunk_id, ordinal, content (déchiffré pour les fragments scellés), classification, sealed, active, generation, fts_config (configuration de recherche plein texte) et metadata (source_page, section_title, element_type, language, char_start, char_end, bbox, document_version, content_hash, embedding_model, token_count, structure avec les marques de découpe des tableaux). Seuls les fragments dont l'appelant passe les lecteurs et la classification sont listés. Un document en quarantaine ou rejeté n'est montré qu'à tenant_admin, security_officer ou data_steward (403 forbidden). Demande la relation ReBAC viewer ; 404 not_found pour un document que l'appelant ne peut pas lire.
Route : /v1/knowledge-bases/{kb_id}/documents/{doc_id}/chunks (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kbID | string | oui | Identifiant (UUID) de la base de connaissances. | |
docID | string | oui | Identifiant (UUID) du document courant. | |
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 fragments d'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.Cite
Cite(ctx context.Context, kbID 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. | |
kbID | 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.Diagnostics
Diagnostics(ctx context.Context, kbID string, opts ...CallOption) (json.RawMessage, error)
Lister les diagnostics des requêtes. Diagnostics enregistrés des requêtes sur la base, du plus récent au plus ancien, diagnostics_id d'une réponse pour en choisir un : mode, stratégie effective, stages (nom de l'étape, durée en millisecondes, candidats en entrée et en sortie), counts (documents filtrés, candidats denses et lexicaux, fusionnés, contrôlés, dédoublonnés, écartés par la revalidation, finaux, voisins de contexte, cache utilisé) et results (rang, fragment, document, scores nommés). Le texte de la requête n'est pas conservé, seulement son SHA-256. Un appelant voit ses propres requêtes ; tenant_admin, security_officer, data_steward et auditor voient toutes les requêtes. Demande la relation ReBAC viewer ; 404 not_found pour un appelant hors ACL ou un diagnostics_id qu'il ne peut pas voir.
Route : /v1/knowledge-bases/{kb_id}/query-diagnostics (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kbID | 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 « Lister les diagnostics des requêtes ». L'error 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.DocumentStatus
DocumentStatus(ctx context.Context, kbID string, docID string, opts ...CallOption) (json.RawMessage, error)
Lire l'état d'un document. État d'une version de document : document_id, document_key, version, version_state (current, superseded ou deleted), document_status (uploaded, active, quarantined, rejected, failed...), searchable (vrai seulement pour la version courante active), chunks, extractor, et ingestion, le dernier travail d'ingestion (job_id, state, attempts, last_error, updated_at) ou null pour une ingestion synchrone. Demande la relation ReBAC viewer ; 404 not_found pour un document que l'appelant ne peut pas lire.
Route : /v1/knowledge-bases/{kb_id}/documents/{doc_id}/status (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kbID | string | oui | Identifiant (UUID) de la base de connaissances. | |
docID | string | oui | Identifiant (UUID) de la version du document, le document_id de la réponse d'envoi. | |
opts | ...CallOption | non | Options de l'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'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.IngestionJob
IngestionJob(ctx context.Context, kbID string, jobID string, opts ...CallOption) (json.RawMessage, error)
Lire un travail d'ingestion. Un travail d'ingestion asynchrone : job_id, kb_id, document_id, document_key, version, state (uploaded, quarantined, scanning, rejected, extracting, normalizing, chunking, embedding, indexing, enriching_memory, ready, partially_ready, failed, reindexing, deleting ou deleted), attempts, lease_owner, lease_expires_at, next_attempt_at, last_error, titre, nom de fichier, type de média, detected_format, size_bytes, sha256, scan_id, extractor (celui qui a tourné), storage (profil et emplacement quarantine ou permanent), création, mise à jour et fin, et history : chaque transition avec from_state, to_state, at et detail (verdict d'analyse, extracteur, nombre de fragments, nouvelle tentative et son délai, échec de l'OCR, mémoire skipped). Demande la relation ReBAC viewer ; 404 not_found pour un travail d'une autre base ou un document que l'appelant ne peut pas lire.
Route : /v1/knowledge-bases/{kb_id}/ingestion-jobs/{job_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kbID | string | oui | Identifiant (UUID) de la base de connaissances. | |
jobID | string | oui | Identifiant (UUID) du travail d'ingestion, le job_id de la réponse d'envoi. | |
opts | ...CallOption | non | Options de l'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 d'ingestion ». L'error 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.Quarantine
Quarantine(ctx context.Context, kbID string, opts ...CallOption) (json.RawMessage, error)
Lister les documents en quarantaine. Documents isolés par le contrôle d'empoisonnement (file de revue du data steward), du plus ancien au plus récent, 200 au plus, chacun avec les raisons du contrôle dans quarantine. Leurs fragments ne sont pas recherchables. Demande tenant_admin, security_officer ou data_steward et la relation ReBAC viewer.
Route : /v1/knowledge-bases/{kb_id}/quarantine (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kbID | 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 « Lister les documents en quarantaine ». L'error 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.Reindex
Reindex(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)
Réindexer avec un autre modèle d'embedding. Met en file le passage de la base à un autre modèle d'embedding (travail embeddings_reindex) et répond 202 avec le travail. Le modèle doit être approuvé, avoir la capacité embeddings et accepter la classification la plus haute de la base et de ses documents (422 sinon). Les nouveaux vecteurs forment une nouvelle génération ; les deux espaces ne sont jamais mélangés. Demande tenant_admin ou developer, la relation ReBAC owner et le droit d'écriture. 409 knowledge_base_reindexing si un travail est déjà en cours. Audité sous knowledge_base.reindex.request.
Route : /v1/knowledge-bases/{kb_id}/reindex (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 | Modèle d'embedding et dimension visé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 « Réindexer avec un autre modèle d'embedding ». L'error 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.ReindexJobs
ReindexJobs(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)
Lister les travaux de réindexation. Travaux de réindexation de la base : statut, modèle, dimensions et génération source et cible, progression en documents et fragments, tentatives, erreur et dates. Demande la relation ReBAC viewer et le droit de lecture.
Route : /v1/knowledge-bases/{kb_id}/reindex-jobs (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 « Lister les travaux de réindexation ». L'error 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.Retrieve
Retrieve(ctx context.Context, kbID 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. | |
kbID | 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.RetryIngestion
RetryIngestion(ctx context.Context, kbID string, jobID string, reason string, opts ...CallOption) (json.RawMessage, error)
Relancer un travail d'ingestion en échec. Remet en file un travail failed : en extracting quand son analyse a déjà libéré le fichier (jamais analysé deux fois), sinon en quarantined ; les tentatives repartent de zéro. Tout autre état est refusé en 409 ingestion_job_not_failed (un fichier rejected n'est jamais relancé). Répond le travail avec son historique. Audité knowledge.ingestion.retry. Demande la relation ReBAC editor.
Route : /v1/knowledge-bases/{kb_id}/ingestion-jobs/{job_id}/retry (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kbID | string | oui | Identifiant (UUID) de la base de connaissances. | |
jobID | string | oui | Identifiant (UUID) du travail d'ingestion en échec. | |
reason | string | oui | Raison de l'action. Inscrite dans le journal d'audit avec l'acteur et l'heure. | |
opts | ...CallOption | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Relancer un travail d'ingestion en échec ». L'error 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.ReviewDocument
ReviewDocument(ctx context.Context, kbID string, docID string, body any, opts ...CallOption) (json.RawMessage, error)
Examiner un document en quarantaine. Libère (fragments de nouveau recherchables, status: active) ou rejette (status: rejected) un document en quarantaine. Demande tenant_admin, security_officer ou data_steward ; la politique knowledge.document.review est évaluée. 409 document_not_quarantined ; 404 not_found. La décision est enregistrée et auditée sous knowledge.document.release ou knowledge.document.reject.
Route : /v1/knowledge-bases/{kb_id}/documents/{doc_id}/review (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kbID | string | oui | Identifiant (UUID) de la base de connaissances. | |
docID | string | oui | Identifiant (UUID) du document. | |
body | any | oui | Décision 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 « Examiner un document en quarantaine ». L'error 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.SetRetrieval
SetRetrieval(ctx context.Context, kbID string, body any, opts ...CallOption) (json.RawMessage, error)
Définir la stratégie de recherche. Remplace la stratégie de recherche de la base : mode par défaut, fusion et son rrf_k, candidats par résultat, reranking et son modèle, déduplication, fenêtre de contexte et budget de jetons, signal de conflit. Un champ omis prend sa valeur par défaut ; les options d'une requête remplacent la stratégie pour cette requête. Demande la relation ReBAC owner et le droit d'écriture par l'ACL (403 not_permitted_acl) ; 404 not_found pour un appelant hors ACL. Audité sous knowledge_base.retrieval.update ; le cache de recherche est invalidé. Renvoie la base avec sa retrieval.
Route : /v1/knowledge-bases/{kb_id}/retrieval (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kbID | string | oui | Identifiant (UUID) de la base de connaissances. | |
body | any | oui | La stratégie 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 « Définir la stratégie de recherche ». L'error 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.UploadDocument
UploadDocument(ctx context.Context, kbID string, upload DocumentUpload, opts ...CallOption) (json.RawMessage, error)
Envoyer un document pour une ingestion asynchrone. Contrôle la taille (413 payload_too_large, limite EAI_RAG_UPLOAD_MAX_BYTES), le mime_type déclaré face à la signature réelle des octets (PDF, DOCX, XLSX et PPTX comme paquets ZIP aux bons types de contenu, PNG, JPEG, TIFF ; les formats texte doivent être de l'UTF-8 valide sans NUL) et l'extension de filename : 422 unsupported_format, format_mismatch, extension_mismatch ou archive_refused (bombe d'archive, archive imbriquée, trop volumineuse une fois décompressée). Les octets sont rangés sous le préfixe de quarantaine du profil de stockage des documents (409 ingestion_storage_required sans profil, 503 ingestion_storage_unavailable), la version du document est enregistrée avec document_status uploaded et un travail durable est créé. Répond 202 avec job_id, kb_id, document_id, document_key, version, state (uploaded), detected_format, size_bytes et sha256, et un en-tête Location. La tâche du worker knowledge_ingestion analyse ensuite le fichier par le domaine de sécurité des fichiers (fermé en cas d'échec), l'extrait, le découpe, calcule ses vecteurs et l'indexe. La même Idempotency-Key rejoue la même réponse (en-tête Idempotency-Replayed) ; avec un autre corps, elle est refusée en 409 idempotency_conflict. Demande la relation ReBAC editor.
Route : /v1/knowledge-bases/{kb_id}/documents/uploads (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kbID | string | oui | Identifiant (UUID) de la base de connaissances. | |
upload | DocumentUpload | oui | Le fichier (Content, envoyé en content_base64), son format et ses métadonné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 « Envoyer un document pour une ingestion asynchrone ». L'error 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.Versions
Versions(ctx context.Context, kbID string, docID string, opts ...CallOption) (json.RawMessage, error)
Lister les versions d'un document. Historique des versions d'un document, de la plus récente à la plus ancienne : document_key (stable d'une version à l'autre) et items avec document_id, version, state (current, superseded ou deleted), searchable (seule la version courante active est recherchée), titre, URI, type de média, classification, content_hash, taille, nombre de fragments, extracteur, langue, collection, document_status, création, superseded_by et superseded_at, deleted_at, et les artifacts Docling (nature, profil de stockage, clé d'objet, taille, SHA-256). doc_id peut être le document courant ou n'importe quelle version passée. Une version n'est listée que si l'appelant fait partie de ses lecteurs et si sa classification respecte son habilitation. Demande la relation ReBAC viewer ; 404 not_found sinon.
Route : /v1/knowledge-bases/{kb_id}/documents/{doc_id}/versions (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
ctx | context.Context | oui | Contexte de l'appel : annulation et échéance. | |
kbID | string | oui | Identifiant (UUID) de la base de connaissances. | |
docID | string | oui | Identifiant (UUID) du document ou de l'une de ses versions passé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 « Lister les versions d'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).