io.enterpriseai.resources.ComplianceClient
Source : sdks/java/enterprise-ai-java/src/main/java/io/enterpriseai/resources/ComplianceClient.java. Retour à l'index de la référence du SDK Java.
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 ComplianceClient
Instances de l'agent de conformité et d'audit. Activation et cycle de vie des instances du Navin Enterprise Compliance & Audit Agent (ADR-0177, section 8), copie adaptée du modèle de l'agent RAG. Le Control Plane porte l'enregistrement d'activation de chaque instance (son statut, son secteur et son pack, son modèle de déploiement, ses versions et les ressources qu'elle possède), car dans le modèle dédié le runtime de conformité n'existe pas encore au moment de l'activation. Le runtime de conformité lit son activation avec GET /v1/compliance/instances/{instance_id}.
Constructeur ComplianceClient
ComplianceClient(Transport transport)
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
transport | Transport | oui | Transport partagé par les sous-clients d'un même client. |
ComplianceClient.backup
JsonNode backup(String instanceId)
Sauvegarder une instance (non pris en charge). Répond 501 compliance_backup_not_supported avec parts et la raison de chacune : le runtime de conformité n'a pas de route d'administration pour exporter les lignes du schéma compliance d'une instance, le domaine des connaissances n'a pas d'export de base de connaissances. Rien n'est simulé ; le refus est audité.
Route : /v1/compliance/instances/{instance_id}/backup (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Sauvegarder une instance (non pris en charge) ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.check
JsonNode check(String instanceId)
Valider une instance. Contrôles réels avant le provisionnement : le projet existe et l'appelant peut l'administrer, le modèle de génération existe dans le registre avec la capacité chat et un statut utilisable, le modèle d'embeddings se résout dans la Model Gateway (capacité embeddings), le quota d'instances, Qdrant répond, le runtime partagé répond (modèle partagé) ou le Navin Manager répond (modèle dédié, un service du catalogue non publié est un avertissement). Depuis draft ou après une validation en échec. 200 avec validation et le statut draft ; 422 compliance_validation_failed avec les contrôles en échec (statut failed, étape validation). Audité sous compliance.validate et compliance.validate.completed.
Route : /v1/compliance/instances/{instance_id}/validate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Valider une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.create
JsonNode create(Object body, RequestOptions options)
Créer une instance brouillon de l'agent de conformité et d'audit. Crée l'enregistrement d'activation en draft (201) avec son id immuable (fourni, par exemple l'identifiant choisi par le runtime de conformité, ou généré), son secteur et son pack. Demande un administrateur du tenant ou un propriétaire du projet (403 forbidden) ; projet inconnu : 404 compliance_project_not_found ; un nom ou un identifiant déjà pris : 409 conflict. Avec Idempotency-Key, une nouvelle tentative rejoue la première réponse. Audité sous compliance.create.
Route : /v1/compliance/instances (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | Nom, projet, organisation et unité métier, secteur et pack, modèle de déploiement, modèles de génération et d'embeddings du registre, version facultative. | |
options | RequestOptions | oui | Options de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation). |
Retour : JsonNode. Réponse JSON décodée de l'opération « Créer une instance brouillon de l'agent de conformité et d'audit ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.delete
JsonNode delete(String instanceId)
Supprimer une instance. Opération longue (202, statut deleting puis deleted) depuis draft, stopped ou failed (une instance prête est d'abord arrêtée, sinon 409). Ne supprime que ce que l'instance possède, tel qu'enregistré dans resources : sa base de connaissances et ses points Qdrant, les objets sous son préfixe de stockage, les mémoires et la politique de mémoire de son agent, ses tuples, sa clé d'API et son secret, son agent ; l'application gouvernée est retirée. Le runtime partagé, une base de données partagée, la collection Qdrant partagée par les bases du tenant et le profil de stockage sont conservés. Chaque étape liste deleted et kept. Audité sous compliance.delete et compliance.delete.completed.
Route : /v1/compliance/instances/{instance_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Supprimer une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.deleteLogo
JsonNode deleteLogo(String instanceId)
Retirer le logo d'une instance. Retour au logo par défaut du runtime : l'image de marque ne pointe plus vers un objet, version est incrémentée et l'objet stocké est supprimé. Sans logo, renvoie l'image de marque inchangée. Mêmes droits que le PUT ; audité sous compliance.branding.logo.remove.
Route : /v1/compliance/instances/{instance_id}/branding/logo (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Retirer le logo d'une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.get
JsonNode get(String instanceId)
Lire une instance de l'agent de conformité et d'audit. L'enregistrement d'activation avec serving (vrai pour ready et degraded), sector, pack, l'operation et le run courants, validation, last_error et les steps de l'exécution courante dans l'ordre (état, tentatives, détail, journaux, horaires). C'est la route que le runtime de conformité lit au démarrage et à la demande.
Route : /v1/compliance/instances/{instance_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance, le même dans le Control Plane et dans le runtime de conformité. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lire une instance de l'agent de conformité et d'audit ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.getBranding
JsonNode getBranding(String instanceId)
Lire l'image de marque d'une instance. L'image de marque choisie dans le parcours d'activation, portée par le Control Plane : agent_name, sidebar_color, navbar_color, les couleurs de texte calculées pour elles (sidebar_text_color, navbar_text_color, noir ou blanc, contraste de 4,5:1 ou plus), logo (content_type, sha256, size_bytes, url) ou null, version, updated_at, et app_url (l'URL de l'application web une fois connue). Un champ null signifie la valeur par défaut du runtime. Le runtime de conformité en garde une réplique pour sa page de connexion publique et la réécrit quand version est plus récente. Tout principal du tenant ; l'instance d'un autre tenant répond 404.
Route : /v1/compliance/instances/{instance_id}/branding (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lire l'image de marque d'une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.getLogo
byte[] getLogo(String instanceId)
Lire le logo d'une instance. Les octets du logo, lus par le domaine de stockage et contrôlés avec le sha256 enregistré, avec le Content-Type du format validé (image/png ou image/jpeg), X-Content-Type-Options: nosniff, une Content-Security-Policy commençant par default-src 'none' et un ETag. 404 compliance_logo_not_found quand l'instance n'a pas de logo. Tout principal du tenant.
Route : /v1/compliance/instances/{instance_id}/branding/logo (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : byte[]. Réponse JSON décodée de l'opération « Lire le logo d'une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.health
JsonNode health(String instanceId)
Santé d'une instance. Contrôles réels : URL de disponibilité du runtime (GET /readyz), base de connaissances (ligne, vector store qdrant, /readyz de Qdrant) et passerelle de modèles (modèles de génération et d'embeddings dans le registre, utilisables). status vaut up, degraded ou down (runtime hors service) ; instance_status est le statut du cycle de vie. Chaque contrôle a status, duration_ms et reason quand il n'est pas up.
Route : /v1/compliance/instances/{instance_id}/health (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Santé d'une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.list
JsonNode list(Map<String, ?> query)
Lister les instances de l'agent de conformité et d'audit. Enregistrements d'activation du tenant, du plus récent au plus ancien, avec statut, secteur, pack, modèle de déploiement, versions et ressources possédées (une page, next_cursor nul). Filtres : status, project, sector.
Route : /v1/compliance/instances (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | Map<String, ?> | oui | Paramètres de la chaîne de requête de la route. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les instances de l'agent de conformité et d'audit ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.provision
JsonNode provision(String instanceId)
Provisionner une instance. Opération longue (202, Operation-Id) : statut provisioning puis starting, étapes de validation à activation exécutées par le worker. Depuis un draft validé (sinon 409 compliance_not_validated) ou après un provisionnement en échec, qui reprend à l'étape en échec. Répété pendant le provisionnement ou une fois prête : changed: false. Audité sous compliance.provision, chaque étape sous compliance.step.
Route : /v1/compliance/instances/{instance_id}/provision (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Provisionner une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.restart
JsonNode restart(String instanceId)
Redémarrer une instance. Opération longue (202) : depuis ready, degraded, stopped ou après un redémarrage en échec, étapes deployment (redémarrage par le Navin Manager pour une instance dédiée), health, smoke, activation. Un redémarrage en cours : changed: false.
Route : /v1/compliance/instances/{instance_id}/restart (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Redémarrer une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.restore
JsonNode restore(String instanceId, String backupId)
Restaurer une instance (non pris en charge). Répond 501 compliance_backup_not_supported avec les mêmes parts que la sauvegarde : aucune sauvegarde d'instance ne peut encore être faite réellement. Audité.
Route : /v1/compliance/instances/{instance_id}/restore (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. | |
backupId | String | oui | Identifiant de la sauvegarde à restaurer. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Restaurer une instance (non pris en charge) ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.start
JsonNode start(String instanceId)
Démarrer une instance. Opération longue (202) : depuis stopped (ou après un démarrage ou un arrêt en échec), étapes deployment (démarrage par le Navin Manager pour une instance dédiée, statut seulement pour une partagée), health, smoke, activation (application gouvernée active). Déjà en démarrage ou prête : changed: false.
Route : /v1/compliance/instances/{instance_id}/start (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Démarrer une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.stop
JsonNode stop(String instanceId)
Arrêter une instance. Opération longue (202) : depuis ready, degraded ou après un démarrage, un redémarrage, une mise à niveau ou un arrêt en échec, étapes deployment (arrêt par le Navin Manager pour une instance dédiée, statut seulement pour une partagée) et activation (application gouvernée suspendue, raison compliance_instance_stopped) ; statut stopped. Déjà en arrêt ou arrêtée : changed: false.
Route : /v1/compliance/instances/{instance_id}/stop (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Arrêter une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.updateBranding
JsonNode updateBranding(String instanceId, Object body, RequestOptions options)
Modifier l'image de marque d'une instance. Écrit les champs fournis (un champ absent est conservé, null le ramène à la valeur par défaut du runtime) et renvoie l'image de marque. Les couleurs sont au format #RRGGBB (enregistrées en majuscules) ; le texte affiché dessus est noir ou blanc, selon le meilleur contraste (luminance relative WCAG 2.2), et une couleur dont le texte resterait sous 4,5:1 répond 422 compliance_branding_contrast. app_url doit être une URL https sans identifiants (422 compliance_app_url_invalid). Un changement du nom, des couleurs ou du logo incrémente version ; un expected_version différent de la version courante répond 409 compliance_branding_version_conflict. Avec une Idempotency-Key, une nouvelle tentative avec le même corps rejoue la première réponse (Idempotency-Replayed: true), un autre corps répond 409 idempotency_conflict. Demande un administrateur du tenant ou un propriétaire du projet (403 forbidden) ; refusé quand l'instance est deleting ou deleted (409). Audité sous compliance.branding.update.
Route : /v1/compliance/instances/{instance_id}/branding (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. | |
body | Object | oui | Les champs de l'image de marque à écrire. | |
options | RequestOptions | oui | Options de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation). |
Retour : JsonNode. Réponse JSON décodée de l'opération « Modifier l'image de marque d'une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.upgrade
JsonNode upgrade(String instanceId, String version)
Mettre à niveau une instance. Opération longue (202), statut updating : une instance partagée suit le runtime partagé, donc l'étape de déploiement lit la version du runtime dans son document OpenAPI (GET /api/v1/compliance/openapi.json) et vérifie que c'est la version demandée (sinon shared_runtime_version_mismatch) ; une instance dédiée est réinstallée par le Navin Manager. Puis health, smoke, activation ; deployed_version devient la version. La même version déjà déployée ou en cours : changed: false.
Route : /v1/compliance/instances/{instance_id}/upgrade (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. | |
version | String | oui | Version à déployer (lettres, chiffres, ., _, +, -, 64 caractères au plus). |
Retour : JsonNode. Réponse JSON décodée de l'opération « Mettre à niveau une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ComplianceClient.uploadLogo
JsonNode uploadLogo(String instanceId, byte[] data, String filename, String mimeType)
Téléverser le logo d'une instance. Multipart file (avec les champs texte facultatifs filename et mime_type). PNG ou JPEG uniquement : le SVG et tout autre format sont refusés. La signature réelle, le Content-Type déclaré et l'extension du fichier doivent concorder ; 32 à 1024 pixels de côté, 512 Kio au plus ; sinon 422 compliance_logo_invalid avec details.reason (format_not_allowed, signature_invalid, signature_mismatch, extension_mismatch, dimensions_out_of_bounds, too_large, empty). Le fichier est ensuite analysé par le domaine de sécurité des fichiers, en échec fermé : un fichier bloqué répond 422 file_blocked, un analyseur indisponible 503 file_scan_unavailable. Il est stocké par le domaine de stockage dans le profil de stockage des documents du tenant sous compliance-agent/<tenant>/<instance>/branding/ (409 compliance_branding_storage_required sans un tel profil, 503 compliance_branding_storage_unavailable quand il est injoignable) ; l'objet remplacé est supprimé. Incrémente version et renvoie l'image de marque. Mêmes droits que le PUT ; audité sous compliance.branding.logo.update (un refus est audité comme refus).
Route : /v1/compliance/instances/{instance_id}/branding/logo (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
instanceId | String | oui | Identifiant (UUID) de l'instance. | |
data | byte[] | oui | Formulaire multipart avec le logo dans la partie file. | |
filename | String | oui | ||
mimeType | String | oui | Type de média du contenu, par exemple application/pdf ou image/png. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Téléverser le logo d'une instance ».
Erreurs levées : les erreurs typées du transport (Erreurs).