enterprise_ai.applications
Source : sdks/python/src/enterprise_ai/applications/__init__.py. Retour à l'index de la référence du SDK Python.
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 ApplicationsClient
/v1/applications.
Resource
ApplicationsClient.activate
activate(app_id: str, deployment_id: str) -> Any
Activer un déploiement approuvé. Active le déploiement une fois son approbation accordée (la séparation des tâches est appliquée par le domaine des approbations ; une approbation manquante est auditée comme refus) : le déploiement actif précédent de l'environnement est retiré et l'application passe à active. 409 application_suspended ; 404 application_deployment_not_found. Demande tenant_admin, developer ou application_owner. Audité sous application.deployment.activate avec l'approbateur.
Route : /v1/applications/{app_id}/deployments/{deployment_id}/activate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
app_id | str | oui | Identifiant (UUID) ou nom de l'application. | |
deployment_id | str | oui | Identifiant (UUID) du déploiement. |
Retour : Any. Réponse JSON décodée de l'opération « Activer un déploiement approuvé ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ApplicationsClient.create
create(name: str, kind: str, origin: str | None = None, owner: str | None = None, project: str | None = None, risk_level: str | None = None, agents: list[str] | None = None, models: list[str] | None = None, tools: list[str] | None = None, mcp_servers: list[str] | None = None, plugins: list[str] | None = None, environments: list[str] | None = None) -> Any
Enregistrer une application. Crée l'application (201). Un external_agent est toujours d'origine third_party. Le propriétaire est par défaut l'appelant, le projet l'en-tête X-Project. Un nom déjà utilisé répond 409 conflict. Demande tenant_admin, developer ou application_owner. Audité sous application.create.
Route : /v1/applications (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom, unique dans le tenant : minuscules, chiffres, ., _, -, 1 à 128 caractères. | |
kind | str | oui | agent_app, assistant, workflow ou external_agent. | |
origin | str | None | None | non | internal (par défaut) ou third_party ; forcé à third_party pour un external_agent. |
owner | str | None | None | non | Propriétaire de l'application. Par défaut : l'appelant. |
project | str | None | None | non | Projet de l'application. Par défaut : l'en-tête X-Project de la requête. |
risk_level | str | None | None | non | low, medium (par défaut) ou high. |
agents | list[str] | None | None | non | Agents accordés à l'application (noms ou motifs). |
models | list[str] | None | None | non | Modèles que ses agents externes peuvent utiliser (identifiants ou motifs). |
tools | list[str] | None | None | non | Outils que ses agents externes peuvent invoquer (noms ou motifs comme crm.*). |
mcp_servers | list[str] | None | None | non | Serveurs MCP que ses agents externes peuvent appeler (noms ou motifs). |
plugins | list[str] | None | None | non | Plugins accordés à l'application (noms ou motifs). |
environments | list[str] | None | None | non | Environnements où elle peut être déployée (1 à 10). Par défaut ["dev"]. |
Retour : Any. Réponse JSON décodée de l'opération « Enregistrer une application ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ApplicationsClient.create_external_agent
create_external_agent(app_id: str, name: str, scopes: list[str] | None = None) -> Any
Enregistrer l'identité d'un agent tiers. Crée une clé d'API avec le rôle agent, liée à l'application et à son projet, avec les scopes tools:invoke, models:invoke plus ceux demandés (201). La clé figure dans api_key et n'est montrée qu'une fois. Demande tenant_admin. Audité sous application.external_agent.register.
Route : /v1/applications/{app_id}/external-agents (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
app_id | str | oui | Identifiant (UUID) ou nom de l'application. | |
name | str | oui | Nom de l'identité : minuscules, chiffres, ., _, - ; la clé est nommée app:<application>:<nom>. | |
scopes | list[str] | None | None | non | Scopes supplémentaires de la clé (20 au plus), ajoutés à tools:invoke et models:invoke. |
Retour : Any. Réponse JSON décodée de l'opération « Enregistrer l'identité d'un agent tiers ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ApplicationsClient.deploy
deploy(app_id: str, version: str, environment: str, reason: str | None = None) -> Any
Demander un déploiement. Enregistre le déploiement d'une version dans un environnement de l'application et ouvre une approbation application_deployment pour tenant_admin ou security_officer (201, le déploiement porte approval_id). L'environnement doit être déclaré par l'application (400 invalid_request) ; la même version dans le même environnement répond 409 conflict ; une application suspendue ou retirée répond 409 application_suspended. Demande tenant_admin, developer ou application_owner. Audité sous application.deployment.create.
Route : /v1/applications/{app_id}/deployments (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
app_id | str | oui | Identifiant (UUID) ou nom de l'application. | |
version | str | oui | Version à déployer (1 à 100 caractères). | |
environment | str | oui | Environnement visé, parmi ceux de l'application (1 à 50 caractères). | |
reason | str | None | None | non | Raison de la demande de déploiement, montrée aux approbateurs (2000 caractères au plus). |
Retour : Any. Réponse JSON décodée de l'opération « Demander un déploiement ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ApplicationsClient.developer_kit
developer_kit(application_id: str | None = None, agent_id: str | None = None, project: str | None = None) -> Any
Obtenir le kit du développeur. Kit du développeur d'une application, d'un agent ou d'un projet : valeurs, états et actions, jamais un secret. Indiquez exactement un paramètre parmi application_id, agent_id et project (400 invalid_request sinon). La réponse contient le subject (avec les modèles, outils, serveurs MCP, bases de connaissances et suites d'évaluation qu'il utilise), les neuf rows, les entrées env d'un fichier d'environnement (la clé d'API n'y est qu'un emplacement marqué secret), un summary des lignes prêtes et les next_steps (créer une clé, lancer les tests, lancer le red team). Une application ou un agent inconnu, ou un projet sans application, répond 404 not_found. Demande un principal de tenant (403 tenant_required) avec developer, application_owner ou tenant_admin (403 forbidden).
Route : /v1/developer/kit (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
application_id | str | None | None | non | Identifiant de l'application pour laquelle le kit est construit, 200 caractères au plus. Exclusif de agent_id et project. |
agent_id | str | None | None | non | Identifiant de l'agent pour lequel le kit est construit, 200 caractères au plus ; ses ressources viennent du manifeste de sa version courante. Exclusif de application_id et project. |
project | str | None | None | non | Nom du projet, 200 caractères au plus : le kit fusionne les ressources de toutes les applications du projet. Exclusif de application_id et agent_id. |
Retour : Any. Réponse JSON décodée de l'opération « Obtenir le kit du développeur ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ApplicationsClient.get
get(app_id: str) -> Any
Lire une application. Renvoie l'application et ses déploiements, du plus ancien au plus récent. 404 application_not_found.
Route : /v1/applications/{app_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
app_id | str | oui | Identifiant (UUID) ou nom de l'application. |
Retour : Any. Réponse JSON décodée de l'opération « Lire une application ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ApplicationsClient.list
list() -> Any
Lister les applications. Applications du tenant dans l'ordre des noms, avec type, origine, statut, environnements et ressources accordées. Une seule page.
Route : /v1/applications (GET).
Cet élément ne prend aucun paramètre.
Retour : Any. Réponse JSON décodée de l'opération « Lister les applications ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ApplicationsClient.set_status
set_status(app_id: str, status: str, reason: str) -> Any
Suspendre ou retirer une application. Passe l'application à suspended ou retired, ainsi que ses déploiements actifs ; tout appel de passerelle de ses agents externes est refusé dès lors. Demande tenant_admin ou security_officer. Audité sous application.suspended ou application.retired.
Route : /v1/applications/{app_id}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
app_id | str | oui | Identifiant (UUID) ou nom de l'application. | |
status | str | oui | suspended ou retired. | |
reason | str | oui | Raison (1 à 2000 caractères) ; conservée sur une application suspendue. |
Retour : Any. Réponse JSON décodée de l'opération « Suspendre ou retirer une application ».
Erreurs levées : les erreurs typées du transport (Erreurs).