Aller au contenu principal

enterprise_ai.marketplace

Source : sdks/python/src/enterprise_ai/marketplace/__init__.py. Retour à l'index de la référence du SDK Python.

remarque

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 MarketplaceClient​

Marketplace. Catalogue de packs signés (ensembles d'agents, sous-agents, skills, outils, connecteurs, serveurs MCP et ressources), leurs contrôles de publication, le contrôle de mise en production, les éditeurs de confiance, les installations par environnement et le circuit de gestion des changements.

Resource

MarketplaceClient.advance_change​

advance_change(change_id: str, evidence: dict[str, Any] | None = None, approval_id: str | None = None) -> Any

Faire avancer un changement. Fait passer le changement à l'étape suivante. Demande tenant_admin, developer ou security_officer. Contrôles par étape visée : 1. test : seul l'auteur (ou tenant_admin) quitte draft (403 change_not_author). 2. security_review : evidence.tests doit réussir (passed > 0, aucun failed, aucune errors), sinon 422 change_evidence_missing. 3. business_approval : approbation change.security_review par un security_officer. 4. staging : approbation change.business_approval par un tenant_admin. 5. production : staging_smoke réussi, puis approbation change.production avec un quorum de deux. 6. monitoring : production_smoke réussi. Sans approval_id, une étape soumise à approbation répond 202 avec l'approbation à obtenir ; rappelez avec l'identifiant approuvé pour obtenir 200. L'auteur n'approuve jamais. Un changement clos répond 409 change_closed.

Route : /v1/marketplace/changes/{change_id}/advance (POST).

NomTypeDéfautRequisDescription
change_idstrouiIdentifiant (UUID) de la demande de changement.
evidencedict[str, Any] | NoneNonenonRésultats ajoutés aux preuves du changement, par clé : tests, staging_smoke, production_smoke, chacun {passed, failed, errors}.
approval_idstr | NoneNonenonDemande approuvée pour une étape qui exige une approbation (second appel).

Retour : Any. Réponse JSON décodée de l'opération « Faire avancer un changement ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.apply_installation​

apply_installation(installation_id: str) -> Any

Appliquer une installation approuvée. Exécute l'installation ou la mise à niveau en attente une fois son approbation accordée : la politique et le preflight sont revérifiés, les objets du pack sont créés dans un point de sauvegarde, les objets de l'ancienne version qui n'en font plus partie sont retirés et un smoke test s'exécute. Un smoke test en échec annule tout et répond 422 smoke_failed. Demande tenant_admin. 409 installation_state quand rien n'est en attente. Audité sous marketplace.install ou marketplace.upgrade.

Route : /v1/marketplace/installations/{installation_id}/apply (POST).

NomTypeDéfautRequisDescription
installation_idstrouiIdentifiant (UUID) de l'installation.

Retour : Any. Réponse JSON décodée de l'opération « Appliquer une installation approuvée ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.authorize_installation​

authorize_installation(installation_id: str, permission: str) -> Any

Vérifier une permission à l'exécution. Contrôle de permission à l'exécution utilisé par les serveurs MCP et les connecteurs du pack : permis seulement si l'installation est installed, que la permission a été accordée, n'est pas suspendue et n'est pas un export externe refusé par les réglages de protection des données. Sinon 403 avec permission_not_granted, permission_suspended, installation_suspended ou external_export_denied, enregistré comme événement authorize_denied. Demande tenant_admin, developer, agent ou service.

Route : /v1/marketplace/installations/{installation_id}/authorize (POST).

NomTypeDéfautRequisDescription
installation_idstrouiIdentifiant (UUID) de l'installation.
permissionstrouiScope de permission, par exemple crm.contacts:read (2 à 128 caractères, minuscules).

Retour : Any. Réponse JSON décodée de l'opération « Vérifier une permission à l'exécution ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.create_change​

create_change(kind: str, ref: str, version: str, title: str | None = None) -> Any

Ouvrir une demande de changement. Ouvre un changement d'un prompt, skill, connecteur, règle, modèle, politique, outil, agent ou pack à l'étape draft. Demande tenant_admin ou developer ; la politique change.create est évaluée. Audité sous change.create.

Route : /v1/marketplace/changes (POST).

NomTypeDéfautRequisDescription
kindstrouiType d'objet : prompt, skill, connector, rule, model, policy, tool, agent ou pack.
refstrouiNom de l'objet : minuscules, chiffres, ., _ et -, 1 à 128 caractères, commençant et finissant par une lettre ou un chiffre.
versionstrouiVersion de l'objet apportée par le changement (1 à 64 caractères).
titlestr | NoneNonenonTitre du changement (300 caractères au plus).

Retour : Any. Réponse JSON décodée de l'opération « Ouvrir une demande de changement ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.create_publisher​

create_publisher(name: str, public_key: str) -> Any

Ajouter une clé d'éditeur de confiance. Enregistre une clé publique de signature pour le tenant ; les signatures des packs sont vérifiées avec les clés actives. Demande tenant_admin ou security_officer. Une clé illisible répond 422 publisher_invalid_key. Audité sous marketplace.publisher.add.

Route : /v1/marketplace/publishers (POST).

NomTypeDéfautRequisDescription
namestrouiNom de l'éditeur, même motif qu'un nom de paquet.
public_keystrouiClé publique, au format PEM ou texte (40 à 4000 caractères).

Retour : Any. Réponse JSON décodée de l'opération « Ajouter une clé d'éditeur de confiance ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.get_change​

get_change(change_id: str) -> Any

Lire une demande de changement. Renvoie le changement avec son étape, ses preuves, son approbation en attente et son history (une entrée par transition avec acteur et date). 404 change_not_found.

Route : /v1/marketplace/changes/{change_id} (GET).

NomTypeDéfautRequisDescription
change_idstrouiIdentifiant (UUID) de la demande de changement.

Retour : Any. Réponse JSON décodée de l'opération « Lire une demande de changement ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.get_installation​

get_installation(installation_id: str) -> Any

Lire une installation. Renvoie l'installation : statut, paquet et version, permissions accordées et suspendues, configuration, derniers résultats de preflight et de smoke test, objets et ressources créés. 404 installation_not_found.

Route : /v1/marketplace/installations/{installation_id} (GET).

NomTypeDéfautRequisDescription
installation_idstrouiIdentifiant (UUID) de l'installation.

Retour : Any. Réponse JSON décodée de l'opération « Lire une installation ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.get_package​

get_package(name: str) -> Any

Lire un paquet et ses versions. Renvoie le paquet et toutes ses versions, de la plus ancienne à la plus récente, avec résultats des contrôles et résumé des vulnérabilités. 404 marketplace_package_not_found.

Route : /v1/marketplace/packages/{name} (GET).

NomTypeDéfautRequisDescription
namestrouiNom du paquet.

Retour : Any. Réponse JSON décodée de l'opération « Lire un paquet et ses versions ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.get_version​

get_version(name: str, version: str) -> Any

Lire une version de paquet. Renvoie une version : manifeste, empreinte, empreintes des fichiers, signature et son statut, licence, référence OCI, résultats des contrôles, statut de provenance et approbation de production. L'archive et le SBOM ne sont pas inclus. 404 marketplace_version_not_found.

Route : /v1/marketplace/packages/{name}/versions/{version} (GET).

NomTypeDéfautRequisDescription
namestrouiNom du paquet.
versionstrouiVersion sémantique, par exemple 1.2.0.

Retour : Any. Réponse JSON décodée de l'opération « Lire une version de paquet ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.import_publication​

import_publication(publication: dict[str, Any], oci_ref: str | None = None) -> Any

Publier une version de paquet. Publie une archive de pack comme nouvelle version (201). Demande tenant_admin ou developer ; la politique marketplace.publish est évaluée. Étapes : 1. L'archive est décodée (422 marketplace_archive_invalid) et analysée par ClamAV et YARA-X avant d'être dépaquetée (422 file_blocked, 503 file_scan_unavailable). 2. Tous les contrôles s'exécutent : schéma, signature, SBOM, analyse de vulnérabilités, tests, évaluations, licence, permissions, documentation, secrets, provenance, confidentialité, sécurité, approbations, configuration, résilience. Tout échec répond 422 publication_gate_failed avec le résultat de chaque contrôle. 3. Le paquet est créé à la première publication. 409 package_suspended quand son kill switch est actif, 409 marketplace_version_exists pour une version déjà publiée. Audité sous marketplace.publish.

Route : /v1/marketplace/packages (POST).

NomTypeDéfautRequisDescription
publicationdict[str, Any]ouiCorps produit hors ligne par enterprise-ai plugin publish --body-out.
oci_refstr | NoneNonenonRéférence de la copie dans le registre local ; la version pointe alors vers elle avec le condensat de la publication.

Retour : Any. Réponse JSON décodée de l'opération « Publier une version de paquet ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.install​

install(package: str, version: str, environment: str, approved_permissions: list[str] | None = None, config: dict[str, Any] | None = None, secret_refs: dict[str, str] | None = None) -> Any

Demander l'installation d'un pack. Ouvre une demande d'installation et répond 202 avec l'installation, l'approval_id, le quorum et le rapport de preflight. Demande tenant_admin. Étapes : 1. Le preflight s'exécute (voir POST /v1/marketplace/preflight) ; un échec répond 403 permission_unsafe, 422 config_invalid, 422 permission_not_requested, 409 package_suspended ou 422 preflight_failed. 2. Une approbation marketplace.install est ouverte pour tenant_admin ou security_officer : quorum 1 par défaut, au moins 2 quand une permission sensible est accordée ou que l'environnement est prod. 3. Une fois approuvée, appelez POST .../installations/{id}/apply. 409 installation_exists quand le paquet est déjà installé ou suspendu dans cet environnement.

Route : /v1/marketplace/installations (POST).

NomTypeDéfautRequisDescription
packagestrouiNom du paquet.
versionstrouiVersion à installer (5 à 64 caractères).
environmentstrouiEnvironnement visé : dev, test, staging ou prod.
approved_permissionslist[str] | NoneNonenonScopes de permission accordés au pack, parmi ceux qu'il demande (200 au plus). Les jokers et les scopes d'administration sont refusés.
configdict[str, Any] | NoneNonenonConfiguration du pack, validée selon son configSchema ; model_id doit désigner un modèle approuvé.
secret_refsdict[str, str] | NoneNonenonRéférence de secret par nom de connecteur, openbao://... ou env://... ; requise pour un connecteur authentifié.

Retour : Any. Réponse JSON décodée de l'opération « Demander l'installation d'un pack ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.installation_events​

installation_events(installation_id: str) -> Any

Lister les événements d'une installation. Historique du cycle de vie de l'installation, du plus ancien au plus récent : demandes, installations, mises à niveau, retours arrière, smoke tests en échec, suspensions, reprises, autorisations refusées, avec versions, résultat et acteur. Une seule page.

Route : /v1/marketplace/installations/{installation_id}/events (GET).

NomTypeDéfautRequisDescription
installation_idstrouiIdentifiant (UUID) de l'installation.

Retour : Any. Réponse JSON décodée de l'opération « Lister les événements d'une installation ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.list_changes​

list_changes(kind: str | None = None, ref: str | None = None, stage: str | None = None) -> Any

Lister les demandes de changement. Demandes de changement du tenant, de la plus récente à la plus ancienne, 200 au plus, filtrables par type, référence et étape. Tout principal du tenant peut l'appeler.

Route : /v1/marketplace/changes (GET).

NomTypeDéfautRequisDescription
kindstr | NoneNonenonSeulement ce type : prompt, skill, connector, rule, model, policy, tool, agent ou pack.
refstr | NoneNonenonSeulement les changements de ce nom d'objet.
stagestr | NoneNonenonSeulement les changements à cette étape : draft, test, security_review, business_approval, staging, production, monitoring ou rejected.

Retour : Any. Réponse JSON décodée de l'opération « Lister les demandes de changement ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.list_installations​

list_installations(environment: str | None = None) -> Any

Lister les installations. Installations du tenant, de la plus ancienne à la plus récente, chacune avec paquet, version et ressources créées. Une seule page.

Route : /v1/marketplace/installations (GET).

NomTypeDéfautRequisDescription
environmentstr | NoneNonenonSeulement les installations de cet environnement : dev, test, staging ou prod.

Retour : Any. Réponse JSON décodée de l'opération « Lister les installations ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.list_packages​

list_packages(domain: str | None = None) -> Any

Lister les paquets. Paquets du catalogue dans l'ordre des noms, avec statut, dernière version, éditeur et catégorie. Une seule page.

Route : /v1/marketplace/packages (GET).

NomTypeDéfautRequisDescription
domainstr | NoneNonenonSeulement les paquets de ce domaine métier.

Retour : Any. Réponse JSON décodée de l'opération « Lister les paquets ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.list_publishers​

list_publishers() -> Any

Lister les éditeurs. Clés de signature de confiance, par nom : algorithme, statut (active ou revoked) et scope (platform pour une clé commune à tous les tenants, tenant pour une clé de ce tenant). Les clés publiques ne sont pas renvoyées.

Route : /v1/marketplace/publishers (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lister les éditeurs ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.preflight​

preflight(package: str, version: str, environment: str, approved_permissions: list[str] | None = None, config: dict[str, Any] | None = None, secret_refs: dict[str, str] | None = None) -> Any

Simuler les contrôles d'installation. Simulation des contrôles d'installation, rien n'est installé : paquet actif, environnement, configuration selon le configSchema du pack, version disponible (et en production pour prod), compatibilité de plateforme, dépendances installées, empreinte de l'archive, signature, permissions demandées et sûres, références de secrets des connecteurs, modèle approuvé, absence de conflit de noms. Renvoie passed, chaque vérification, les permissions accordées, non accordées et sensibles, les approbations requises et la protection des données appliquée. Demande tenant_admin ou security_officer. Audité sous marketplace.preflight.

Route : /v1/marketplace/preflight (POST).

NomTypeDéfautRequisDescription
packagestrouiNom du paquet.
versionstrouiVersion à installer (5 à 64 caractères).
environmentstrouiEnvironnement visé : dev, test, staging ou prod.
approved_permissionslist[str] | NoneNonenonScopes de permission accordés au pack, parmi ceux qu'il demande (200 au plus). Les jokers et les scopes d'administration sont refusés.
configdict[str, Any] | NoneNonenonConfiguration du pack, validée selon son configSchema ; model_id doit désigner un modèle approuvé.
secret_refsdict[str, str] | NoneNonenonRéférence de secret par nom de connecteur, openbao://... ou env://... ; requise pour un connecteur authentifié.

Retour : Any. Réponse JSON décodée de l'opération « Simuler les contrôles d'installation ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.promote_to_production​

promote_to_production(name: str, version: str, approval_id: str | None = None) -> Any

Promouvoir une version en production. Contrôle de mise en production, requis pour installer une version en prod. Demande tenant_admin ou security_officer. Étapes : 1. Sans approval_id : tous les contrôles enregistrés doivent avoir réussi, la signature doit toujours être valide et une empreinte d'artefact OCI doit être jointe (sinon 422 publication_gate_failed) ; ensuite une approbation marketplace.promote est ouverte avec un quorum d'au moins deux et la réponse est 202 avec les vérifications. 2. Avec l'approval_id approuvé : la version passe à production (200). Une version déjà en production répond 200 aussitôt ; 409 package_suspended tant que le kill switch est actif.

Route : /v1/marketplace/packages/{name}/versions/{version}/production (POST).

NomTypeDéfautRequisDescription
namestrouiNom du paquet.
versionstrouiVersion sémantique, par exemple 1.2.0.
approval_idstr | NoneNonenonDemande marketplace.promote approuvée. Omettez-la au premier appel.

Retour : Any. Réponse JSON décodée de l'opération « Promouvoir une version en production ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.publish_package​

publish_package(archive: str, signature: str | None = None, sbom: object | null = None, oci: dict[str, Any] | None = None, skill_signatures: dict[str, Any] | None = None, test_report: object | null = None, evaluation_report: object | null = None, vulnerability_scan: object | null = None, provenance: dict[str, Any] | None = None) -> Any

Publier une version de paquet. Publie une archive de pack comme nouvelle version (201). Demande tenant_admin ou developer ; la politique marketplace.publish est évaluée. Étapes : 1. L'archive est décodée (422 marketplace_archive_invalid) et analysée par ClamAV et YARA-X avant d'être dépaquetée (422 file_blocked, 503 file_scan_unavailable). 2. Tous les contrôles s'exécutent : schéma, signature, SBOM, analyse de vulnérabilités, tests, évaluations, licence, permissions, documentation, secrets, provenance, confidentialité, sécurité, approbations, configuration, résilience. Tout échec répond 422 publication_gate_failed avec le résultat de chaque contrôle. 3. Le paquet est créé à la première publication. 409 package_suspended quand son kill switch est actif, 409 marketplace_version_exists pour une version déjà publiée. Audité sous marketplace.publish.

Route : /v1/marketplace/packages (POST).

NomTypeDéfautRequisDescription
archivestrouiLe pack .tar.gz, encodé en base64 (12 Mio de texte au plus).
signaturestr | NoneNonenonSignature de l'empreinte de l'archive par un éditeur de confiance.
sbomobject | nullNonenonNomenclature logicielle (SBOM) du pack.
ocidict[str, Any] | NoneNonenonArtefact OCI du pack ; son empreinte est exigée plus tard par le contrôle de mise en production.
skill_signaturesdict[str, Any] | NoneNonenonSignatures des skills du pack, par nom de skill.
test_reportobject | nullNonenonRapport de tests lié à l'empreinte de l'archive.
evaluation_reportobject | nullNonenonRapport d'évaluation lié à l'empreinte de l'archive.
vulnerability_scanobject | nullNonenonRapport d'analyse de vulnérabilités lié à l'empreinte de l'archive.
provenancedict[str, Any] | NoneNonenonDéclaration in-toto v1 signée avec un prédicat SLSA v1 : {statement, signature: {value, signer}}.

Retour : Any. Réponse JSON décodée de l'opération « Publier une version de paquet ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.reject_change​

reject_change(change_id: str, reason: str) -> Any

Rejeter une demande de changement. Clôt le changement à l'étape rejected depuis n'importe quelle étape ouverte, la raison étant gardée dans history. Demande tenant_admin ou security_officer. 409 change_closed s'il est déjà clos. Audité sous change.reject.

Route : /v1/marketplace/changes/{change_id}/reject (POST).

NomTypeDéfautRequisDescription
change_idstrouiIdentifiant (UUID) de la demande de changement.
reasonstrouiRaison du rejet (3 à 1000 caractères).

Retour : Any. Réponse JSON décodée de l'opération « Rejeter une demande de changement ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.revoke_publisher​

revoke_publisher(name: str) -> Any

Révoquer un éditeur. Révoque toutes les clés du tenant enregistrées sous ce nom ; les signatures faites avec elles ne sont plus valides. Demande tenant_admin ou security_officer. 404 publisher_not_found. Les clés de plateforme ne peuvent pas être révoquées ici. Audité sous marketplace.publisher.revoke.

Route : /v1/marketplace/publishers/{name}/revoke (POST).

NomTypeDéfautRequisDescription
namestrouiNom de l'éditeur.

Retour : Any. Réponse JSON décodée de l'opération « Révoquer un éditeur ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.rollback_installation​

rollback_installation(installation_id: str) -> Any

Revenir à la version précédente. Réinstalle la version précédente avec ses permissions précédentes, dans un point de sauvegarde avec smoke test (422 smoke_failed garde la version courante). Demande tenant_admin. 409 installation_state sauf si installed ; 409 rollback_unavailable quand il n'y a pas de version précédente. Audité sous marketplace.rollback.

Route : /v1/marketplace/installations/{installation_id}/rollback (POST).

NomTypeDéfautRequisDescription
installation_idstrouiIdentifiant (UUID) de l'installation.

Retour : Any. Réponse JSON décodée de l'opération « Revenir à la version précédente ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.sbom​

sbom(name: str, version: str) -> Any

Lire le SBOM d'une version. Renvoie la nomenclature logicielle (SBOM) enregistrée à la publication, son empreinte et le rapport d'analyse de vulnérabilités.

Route : /v1/marketplace/packages/{name}/versions/{version}/sbom (GET).

NomTypeDéfautRequisDescription
namestrouiNom du paquet.
versionstrouiVersion sémantique, par exemple 1.2.0.

Retour : Any. Réponse JSON décodée de l'opération « Lire le SBOM d'une version ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.set_installation_status​

set_installation_status(installation_id: str, status: str, reason: str | None = None, permissions: list[str] | None = None, approval_id: str | None = None) -> Any

Suspendre ou reprendre une installation. Demande tenant_admin ou security_officer. - status: suspended : immédiat. Sans permissions, toute l'installation est suspendue (outils bloqués, agents suspendus, serveurs MCP désactivés, ressources suspendues) ; avec permissions, seulement ces capacités accordées (422 permission_not_granted pour les autres). Répond 200. - status: installed : reprise. Sans approval_id, ouvre une approbation marketplace.resume avec un quorum de deux et répond 202 ; avec l'identifiant approuvé, lève la suspension et répond 200. Refusé avec 409 package_suspended tant que le kill switch du paquet est actif. 409 installation_state pour un état qui ne permet pas le changement.

Route : /v1/marketplace/installations/{installation_id}/status (POST).

NomTypeDéfautRequisDescription
installation_idstrouiIdentifiant (UUID) de l'installation.
statusstrouisuspended (immédiat) ou installed (reprise, avec approbation).
reasonstr | NoneNonenonRaison du changement de statut (1000 caractères au plus).
permissionslist[str] | NoneNonenonSuspendre seulement ces capacités accordées (200 au plus ; vide : toute l'installation).
approval_idstr | NoneNonenonDemande marketplace.resume approuvée, pour reprendre.

Retour : Any. Réponse JSON décodée de l'opération « Suspendre ou reprendre une installation ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.set_package_status​

set_package_status(name: str, status: str, reason: str | None = None, approval_id: str | None = None) -> Any

Actionner le kill switch d'un paquet. Demande tenant_admin ou security_officer. - status: suspended : immédiat. Toutes les installations actives du paquet sont suspendues ; installations, mises à niveau, publications et promotions sont refusées. Répond 200 avec suspended_installations. - status: active : lève le kill switch. Sans approval_id, ouvre une approbation marketplace.package.resume avec un quorum de deux (202) ; avec l'identifiant approuvé, le paquet et les installations qu'il avait suspendues reprennent (200 avec resumed_installations). 409 installation_state pour lever un paquet qui n'est pas suspendu.

Route : /v1/marketplace/packages/{name}/status (POST).

NomTypeDéfautRequisDescription
namestrouiNom du paquet.
statusstrouisuspended (immédiat) ou active (levée, avec approbation).
reasonstr | NoneNonenonRaison du changement de statut (1000 caractères au plus).
approval_idstr | NoneNonenonDemande marketplace.package.resume approuvée, pour lever le kill switch.

Retour : Any. Réponse JSON décodée de l'opération « Actionner le kill switch d'un paquet ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.supervision​

supervision(installation_id: str) -> Any

Superviser un pack installé. Activité, qualité, coûts et incidents d'un pack installé, agrégés à partir des objets qu'il a créés : invocations d'outils et runs par état, autorisations refusées, résultats d'évaluation, dernier smoke test, taux de réussite des runs, coûts des runs par devise, et incidents citant ses objets (les 50 plus récents).

Route : /v1/marketplace/installations/{installation_id}/supervision (GET).

NomTypeDéfautRequisDescription
installation_idstrouiIdentifiant (UUID) de l'installation.

Retour : Any. Réponse JSON décodée de l'opération « Superviser un pack installé ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.uninstall​

uninstall(installation_id: str) -> Any

Désinstaller un pack. Retire tous les objets et ressources créés par l'installation et la passe à uninstalled (permissions, suspensions et version précédente effacées). Permis depuis installed, failed, pending_approval ou suspended (sinon 409 installation_state). Demande tenant_admin ; la politique marketplace.uninstall est évaluée. La réponse liste removed. Audité sous marketplace.uninstall.

Route : /v1/marketplace/installations/{installation_id}/uninstall (POST).

NomTypeDéfautRequisDescription
installation_idstrouiIdentifiant (UUID) de l'installation.

Retour : Any. Réponse JSON décodée de l'opération « Désinstaller un pack ».

Erreurs levées : les erreurs typées du transport (Erreurs).

MarketplaceClient.upgrade_installation​

upgrade_installation(installation_id: str, version: str, approved_permissions: list[str] | None = None, config: dict[str, Any] | None = None, secret_refs: dict[str, str] | None = None) -> Any

Demander la mise à niveau d'une installation. Ouvre une demande de mise à niveau vers une version supérieure (202 avec approbation, quorum et preflight), puis appliquez-la avec POST .../apply une fois approuvée. L'installation doit être installed et la version strictement supérieure (sinon 409 installation_state). La configuration et les références de secrets reprennent par défaut les actuelles. Demande tenant_admin. Les échecs de preflight répondent comme pour une demande d'installation.

Route : /v1/marketplace/installations/{installation_id}/upgrade (POST).

NomTypeDéfautRequisDescription
installation_idstrouiIdentifiant (UUID) de l'installation.
versionstrouiVersion visée, supérieure à celle installée (5 à 64 caractères).
approved_permissionslist[str] | NoneNonenonScopes de permission accordés à la nouvelle version, parmi ceux qu'elle demande (200 au plus).
configdict[str, Any] | NoneNonenonConfiguration du pack, validée selon son configSchema. Vide : l'actuelle.
secret_refsdict[str, str] | NoneNonenonRéférence de secret par nom de connecteur, openbao://... ou env://.... Vide : les actuelles.

Retour : Any. Réponse JSON décodée de l'opération « Demander la mise à niveau d'une installation ».

Erreurs levées : les erreurs typées du transport (Erreurs).