io.enterpriseai.resources.ModelsClient
Source : sdks/java/enterprise-ai-java/src/main/java/io/enterpriseai/resources/ModelsClient.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 ModelsClient
LLM et passerelle de modèles. Fournisseurs de modèles, registre des modèles, règles de routage et passerelle de modèles (Model Gateway) : le seul chemin par lequel agents et applications appellent les modèles.
Constructeur ModelsClient
ModelsClient(Transport transport)
Crée le client sur le transport partagé ; EnterpriseAIClient le construit, on y accède par l'accesseur du même nom.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
transport | Transport | oui | Transport partagé par les sous-clients d'un même client. |
ModelsClient.approveVersion
JsonNode approveVersion(String modelId, String version, Object body)
Demander l'approbation d'une version. Ouvre une demande d'approbation (action model_version_activation) pour une version draft et répond 202 avec son identifiant ; la version passe à pending_approval. Les approbateurs sont tenant_admin et security_officer, et le demandeur ne peut pas approuver sa propre demande (séparation des tâches). Une version qui n'est pas un brouillon répond 409 model_version_state. Audité. Demande un principal de tenant avec tenant_admin ou platform_admin.
Route : /v1/models/{model_id}/versions/{version}/approval (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
version | String | oui | Version à approuver, telle qu'enregistrée. | |
body | Object | oui | {reason} facultatif, présenté aux approbateurs. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Demander l'approbation d'une version ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.approveVersion
JsonNode approveVersion(String modelId, String version, Object body, RequestOptions options)
Demander l'approbation d'une version. Ouvre une demande d'approbation (action model_version_activation) pour une version draft et répond 202 avec son identifiant ; la version passe à pending_approval. Les approbateurs sont tenant_admin et security_officer, et le demandeur ne peut pas approuver sa propre demande (séparation des tâches). Une version qui n'est pas un brouillon répond 409 model_version_state. Audité. Demande un principal de tenant avec tenant_admin ou platform_admin.
Route : /v1/models/{model_id}/versions/{version}/approval (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
version | String | oui | Version à approuver, telle qu'enregistrée. | |
body | Object | oui | {reason} facultatif, présenté aux approbateurs. | |
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 « Demander l'approbation d'une version ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.create
JsonNode create(Object body)
Enregistrer un modèle. Enregistre un modèle pour le tenant, ou un modèle partagé avec scope: platform (platform_admin seulement), et répond 201. Le corps est un Model Manifest v1 ou une spec seule ; il doit être valide (422 invalid_manifest) et sa catégorie doit exister. Un identifiant de modèle déjà enregistré dans la même portée répond 409 model_exists. Audité (model.create). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/models (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | Un Model Manifest v1 (kind: Model, metadata, spec) ou la spec seule (model_id, provider, provider_model_id, capabilities, context_window, status...), avec les champs de la fiche, pricing et scope facultatifs. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Enregistrer un modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.create
JsonNode create(Object body, RequestOptions options)
Enregistrer un modèle. Enregistre un modèle pour le tenant, ou un modèle partagé avec scope: platform (platform_admin seulement), et répond 201. Le corps est un Model Manifest v1 ou une spec seule ; il doit être valide (422 invalid_manifest) et sa catégorie doit exister. Un identifiant de modèle déjà enregistré dans la même portée répond 409 model_exists. Audité (model.create). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/models (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | Un Model Manifest v1 (kind: Model, metadata, spec) ou la spec seule (model_id, provider, provider_model_id, capabilities, context_window, status...), avec les champs de la fiche, pricing et scope facultatifs. | |
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 « Enregistrer un modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.createCategory
JsonNode createCategory(Object body)
Créer une catégorie de modèles. Crée une catégorie pour le tenant, ou une catégorie partagée avec scope: platform (platform_admin seulement, 403 platform_only), et répond 201. Un slug déjà utilisé répond 409 category_exists ; des champs invalides 422 parameter_invalid. Audité. Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/llm/categories (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | slug (lettres minuscules, chiffres, tirets et soulignés, de 1 à 40 caractères, obligatoire), label (texte ou {en, fr}, 80 caractères au plus, obligatoire), description (500 caractères au plus), icon, sort_order (de 0 à 10000, 100 par défaut), scope (platform pour une catégorie partagée). |
Retour : JsonNode. Réponse JSON décodée de l'opération « Créer une catégorie de modèles ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.createCategory
JsonNode createCategory(Object body, RequestOptions options)
Créer une catégorie de modèles. Crée une catégorie pour le tenant, ou une catégorie partagée avec scope: platform (platform_admin seulement, 403 platform_only), et répond 201. Un slug déjà utilisé répond 409 category_exists ; des champs invalides 422 parameter_invalid. Audité. Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/llm/categories (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | slug (lettres minuscules, chiffres, tirets et soulignés, de 1 à 40 caractères, obligatoire), label (texte ou {en, fr}, 80 caractères au plus, obligatoire), description (500 caractères au plus), icon, sort_order (de 0 à 10000, 100 par défaut), scope (platform pour une catégorie partagée). | |
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 catégorie de modèles ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.createVersion
JsonNode createVersion(String modelId, Object body)
Enregistrer une version de modèle. Enregistre une version du modèle dans le tenant au statut draft et répond 201. La version demande une licence (expression SPDX, ou référence de conditions commençant par https:// ou LicenseRef-) et la provenance des poids ; des champs invalides répondent 422 model_version_invalid avec leurs noms, une version existante 409 model_version_exists. Audité (model.version.create). Demande un principal de tenant avec tenant_admin ou platform_admin.
Route : /v1/models/{model_id}/versions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
body | Object | oui | version (de 1 à 64 caractères : lettres, chiffres, points, tirets, soulignés, plus), licence_spdx ou licence_terms_ref, weights avec source (https://, oci://, hf://, s3:// ou registry://), digest (sha256: et 64 caractères hexadécimaux) et size_bytes (entier positif), capabilities facultatif (liste de textes). |
Retour : JsonNode. Réponse JSON décodée de l'opération « Enregistrer une version de modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.createVersion
JsonNode createVersion(String modelId, Object body, RequestOptions options)
Enregistrer une version de modèle. Enregistre une version du modèle dans le tenant au statut draft et répond 201. La version demande une licence (expression SPDX, ou référence de conditions commençant par https:// ou LicenseRef-) et la provenance des poids ; des champs invalides répondent 422 model_version_invalid avec leurs noms, une version existante 409 model_version_exists. Audité (model.version.create). Demande un principal de tenant avec tenant_admin ou platform_admin.
Route : /v1/models/{model_id}/versions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
body | Object | oui | version (de 1 à 64 caractères : lettres, chiffres, points, tirets, soulignés, plus), licence_spdx ou licence_terms_ref, weights avec source (https://, oci://, hf://, s3:// ou registry://), digest (sha256: et 64 caractères hexadécimaux) et size_bytes (entier positif), capabilities facultatif (liste de textes). | |
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 « Enregistrer une version de modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.delete
void delete(String modelId)
Supprimer un modèle du registre. Supprime l'entrée du modèle propre au tenant (la suppression d'une surcharge d'un modèle partagé fait réapparaître l'entrée partagée), ou l'entrée partagée s'il n'y a pas d'entrée du tenant ; l'entrée partagée demande platform_admin (403 platform_only). Répond 204 ; audité (model.delete). Modèle inconnu : 404 model_not_found. Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/models/{model_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre (pas l'identifiant du modèle chez le fournisseur). |
Retour : void.
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.deleteCategory
void deleteCategory(String slug)
Supprimer une catégorie de modèles. Supprime une catégorie créée par le tenant ou la plateforme et répond 204. Une catégorie prédéfinie ne peut pas être supprimée (409 category_builtin), ni une catégorie encore utilisée par un modèle (409 category_in_use) ; une catégorie partagée demande platform_admin (403 platform_only). Audité. Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/llm/categories/{slug} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
slug | String | oui | Slug de la catégorie : lettres minuscules, chiffres, tirets et soulignés, de 1 à 40 caractères. |
Retour : void.
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.disable
JsonNode disable(String modelId)
Désactiver un modèle (kill switch). Kill switch du modèle pour le tenant : la passerelle le refuse immédiatement (403 model_disabled). Sur un modèle partagé, cela crée une surcharge propre au tenant. Audité (model.disable). Demande tenant_admin, platform_admin, ai_platform_engineer ou security_officer.
Route : /v1/models/{model_id}/disable (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Désactiver un modèle (kill switch) ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.enable
JsonNode enable(String modelId)
Réactiver un modèle désactivé. Lève le kill switch du modèle pour le tenant. Audité (model.enable). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/models/{model_id}/enable (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Réactiver un modèle désactivé ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.get
JsonNode get(String modelId)
Lire un modèle enregistré. Un modèle du registre, ou son Model Manifest v1 avec format=manifest. Modèle inconnu : 404 model_not_found. Demande un rôle de lecteur.
Route : /v1/models/{model_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lire un modèle enregistré ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.get
JsonNode get(String modelId, Map<String, ?> query)
Lire un modèle enregistré. Un modèle du registre, ou son Model Manifest v1 avec format=manifest. Modèle inconnu : 404 model_not_found. Demande un rôle de lecteur.
Route : /v1/models/{model_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
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 « Lire un modèle enregistré ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.getCategory
JsonNode getCategory(String slug)
Lire une catégorie de modèles. Une catégorie de modèles avec son nombre de modèles. Slug inconnu : 404 category_not_found. Demande un rôle de lecteur.
Route : /v1/llm/categories/{slug} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
slug | String | oui | Slug de la catégorie. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lire une catégorie de modèles ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.importModels
JsonNode importModels(Object body)
Importer des modèles découverts. Enregistre les modèles choisis lors d'une découverte. Idempotent : ceux déjà enregistrés (même identifiant, ou même fournisseur et même identifiant chez le fournisseur) sont ignorés et listés avec already_registered. Chaque élément est contrôlé d'abord ; un seul élément invalide refuse tout l'import avec 422 import_invalid et le problème de chaque élément. Chaque modèle et l'import sont audités. Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/models/import (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | provider_id (identifiant ou nom du fournisseur, obligatoire), models (de 1 à 200 objets issus de la découverte : provider_model_id et, facultativement, l'identifiant du registre, la catégorie et les champs de la fiche), scope facultatif (platform). |
Retour : JsonNode. Réponse JSON décodée de l'opération « Importer des modèles découverts ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.importModels
JsonNode importModels(Object body, RequestOptions options)
Importer des modèles découverts. Enregistre les modèles choisis lors d'une découverte. Idempotent : ceux déjà enregistrés (même identifiant, ou même fournisseur et même identifiant chez le fournisseur) sont ignorés et listés avec already_registered. Chaque élément est contrôlé d'abord ; un seul élément invalide refuse tout l'import avec 422 import_invalid et le problème de chaque élément. Chaque modèle et l'import sont audités. Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/models/import (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | provider_id (identifiant ou nom du fournisseur, obligatoire), models (de 1 à 200 objets issus de la découverte : provider_model_id et, facultativement, l'identifiant du registre, la catégorie et les champs de la fiche), scope facultatif (platform). | |
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 « Importer des modèles découverts ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.list
Page<JsonNode> list()
Lister les modèles enregistrés. Modèles visibles par l'appelant (modèles partagés avec les surcharges du tenant appliquées, et modèles du tenant), éventuellement filtrés. Une seule page (next_cursor vaut toujours null). Demande un rôle de lecteur.
Route : /v1/models (GET).
Cet élément ne prend aucun paramètre.
Retour : Page<JsonNode>. Réponse JSON décodée de l'opération « Lister les modèles enregistrés ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.list
Page<JsonNode> list(Map<String, ?> query)
Lister les modèles enregistrés. Modèles visibles par l'appelant (modèles partagés avec les surcharges du tenant appliquées, et modèles du tenant), éventuellement filtrés. Une seule page (next_cursor vaut toujours null). Demande un rôle de lecteur.
Route : /v1/models (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | Map<String, ?> | oui | Paramètres de la chaîne de requête de la route. |
Retour : Page<JsonNode>. Réponse JSON décodée de l'opération « Lister les modèles enregistrés ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.listCategories
JsonNode listCategories()
Lister les catégories de modèles. Catégories de modèles visibles par l'appelant (prédéfinies, partagées et propres au tenant) avec leur libellé et leur description en anglais et en français, leur icône, leur ordre et le nombre de modèles qui les utilisent. Une seule page. Demande un rôle de lecteur.
Route : /v1/llm/categories (GET).
Cet élément ne prend aucun paramètre.
Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les catégories de modèles ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.listVersions
JsonNode listVersions(String modelId)
Lister les versions d'un modèle. Versions du modèle dans le tenant, de la plus ancienne à la plus récente, avec licence, source, empreinte et taille des poids, capacités, statut (draft, pending_approval, canary, active, superseded, rolled_back) et approbation. Demande un principal de tenant avec tenant_admin, platform_admin, security_officer, finops, developer, auditor ou viewer.
Route : /v1/models/{model_id}/versions (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les versions d'un modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.resolve
JsonNode resolve(Object body)
Résoudre les paramètres natifs d'appel. Capability Resolver : traduit des paramètres d'appel normalisés (par exemple l'effort de raisonnement none, low, medium, high, max) en paramètres natifs du modèle, d'après ce que déclare son manifeste. Une valeur non prise en charge est refusée avec un code explicite ou ajustée avec un avertissement dans la réponse, jamais silencieusement. Modèle inconnu : 404 model_not_found. Demande un rôle de lecteur.
Route : /v1/models/resolve (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | model (ou model_id) et les paramètres normalisés, soit dans params, soit à la racine du corps. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Résoudre les paramètres natifs d'appel ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.resolve
JsonNode resolve(Object body, RequestOptions options)
Résoudre les paramètres natifs d'appel. Capability Resolver : traduit des paramètres d'appel normalisés (par exemple l'effort de raisonnement none, low, medium, high, max) en paramètres natifs du modèle, d'après ce que déclare son manifeste. Une valeur non prise en charge est refusée avec un code explicite ou ajustée avec un avertissement dans la réponse, jamais silencieusement. Modèle inconnu : 404 model_not_found. Demande un rôle de lecteur.
Route : /v1/models/resolve (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | model (ou model_id) et les paramètres normalisés, soit dans params, soit à la racine du corps. | |
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 « Résoudre les paramètres natifs d'appel ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.rollback
JsonNode rollback(String modelId, Object body)
Revenir à la version précédente d'un modèle. Pendant un canari, l'interrompt : la version active garde tout le trafic. Sinon, rétablit la version qui était active avant la dernière publication complète. La version quittée devient rolled_back, l'étape est ajoutée à l'historique de déploiement et auditée (model.rollout.rollback). Rien à annuler : 409 model_rollback_unavailable. Demande un principal de tenant avec tenant_admin ou platform_admin.
Route : /v1/models/{model_id}/rollback (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
body | Object | oui | {reason} facultatif, inscrit dans l'historique de déploiement et le journal d'audit. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Revenir à la version précédente d'un modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.rollback
JsonNode rollback(String modelId, Object body, RequestOptions options)
Revenir à la version précédente d'un modèle. Pendant un canari, l'interrompt : la version active garde tout le trafic. Sinon, rétablit la version qui était active avant la dernière publication complète. La version quittée devient rolled_back, l'étape est ajoutée à l'historique de déploiement et auditée (model.rollout.rollback). Rien à annuler : 409 model_rollback_unavailable. Demande un principal de tenant avec tenant_admin ou platform_admin.
Route : /v1/models/{model_id}/rollback (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
body | Object | oui | {reason} facultatif, inscrit dans l'historique de déploiement et le journal d'audit. | |
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 « Revenir à la version précédente d'un modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.rollout
JsonNode rollout(String modelId)
Lire le déploiement d'un modèle. Version active, version canari et part du canari du modèle dans le tenant, avec tout l'historique de déploiement (publication, canari, retour arrière, acteur, raison, approbation). Demande un principal de tenant avec tenant_admin, platform_admin, security_officer, finops, developer, auditor ou viewer.
Route : /v1/models/{model_id}/rollout (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lire le déploiement d'un modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.setStatus
JsonNode setStatus(String modelId, Object body)
Changer le statut d'un modèle. Fixe le statut à approved, restricted, deprecated ou blocked (422 status_invalid sinon). Pour un tenant, une promotion vers approved n'est pas appliquée tout de suite : une demande d'approbation est ouverte et la réponse est 202 avec elle ; le statut change une fois la demande approuvée. Les autres changements s'appliquent immédiatement et sont audités (model.status, avec l'ancien et le nouveau statut). Demande tenant_admin, platform_admin, ai_platform_engineer ou security_officer.
Route : /v1/models/{model_id}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
body | Object | oui | status (approved, restricted, deprecated ou blocked) et une reason facultative. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Changer le statut d'un modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.setStatus
JsonNode setStatus(String modelId, Object body, RequestOptions options)
Changer le statut d'un modèle. Fixe le statut à approved, restricted, deprecated ou blocked (422 status_invalid sinon). Pour un tenant, une promotion vers approved n'est pas appliquée tout de suite : une demande d'approbation est ouverte et la réponse est 202 avec elle ; le statut change une fois la demande approuvée. Les autres changements s'appliquent immédiatement et sont audités (model.status, avec l'ancien et le nouveau statut). Demande tenant_admin, platform_admin, ai_platform_engineer ou security_officer.
Route : /v1/models/{model_id}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
body | Object | oui | status (approved, restricted, deprecated ou blocked) et une reason 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 « Changer le statut d'un modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.startRollout
JsonNode startRollout(String modelId, String version, Object body)
Publier une version de modèle. Publie une version approuvée entièrement (canary_percent à 100, par défaut) ou en canari pour 1 à 99 pour cent du trafic, choisi de façon déterministe selon l'appelant (même session ou même principal, même version). Demande un principal de tenant avec tenant_admin ou platform_admin.
Route : /v1/models/{model_id}/versions/{version}/rollout (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
version | String | oui | Version approuvée à publier. | |
body | Object | oui | canary_percent (entier de 1 à 100, 100 par défaut) et une reason facultative. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Publier une version de modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.startRollout
JsonNode startRollout(String modelId, String version, Object body, RequestOptions options)
Publier une version de modèle. Publie une version approuvée entièrement (canary_percent à 100, par défaut) ou en canari pour 1 à 99 pour cent du trafic, choisi de façon déterministe selon l'appelant (même session ou même principal, même version). Demande un principal de tenant avec tenant_admin ou platform_admin.
Route : /v1/models/{model_id}/versions/{version}/rollout (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
version | String | oui | Version approuvée à publier. | |
body | Object | oui | canary_percent (entier de 1 à 100, 100 par défaut) et une reason 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 « Publier une version de modèle ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.update
JsonNode update(String modelId, Object body)
Modifier un modèle enregistré. Modifie des champs de la spec du modèle, de la fiche (category, display_name, knowledge_cutoff) ou des prix ; l'identifiant du modèle ne change jamais. Une modification d'un modèle partagé par un tenant crée une surcharge propre au tenant. La spec fusionnée doit rester un Model Manifest v1 valide (422 invalid_manifest) et la catégorie doit exister. Audité (model.update). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/models/{model_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
body | Object | oui | Champs de la spec à modifier, champs de la fiche et pricing (par million de jetons : input_per_mtok, output_per_mtok, cached_input_per_mtok, cache_write_per_mtok ; par unité : per_image, per_second, per_character ; avec une devise). Utilisez POST .../status pour changer le statut. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Modifier un modèle enregistré ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.update
JsonNode update(String modelId, Object body, RequestOptions options)
Modifier un modèle enregistré. Modifie des champs de la spec du modèle, de la fiche (category, display_name, knowledge_cutoff) ou des prix ; l'identifiant du modèle ne change jamais. Une modification d'un modèle partagé par un tenant crée une surcharge propre au tenant. La spec fusionnée doit rester un Model Manifest v1 valide (422 invalid_manifest) et la catégorie doit exister. Audité (model.update). Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/models/{model_id} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
modelId | String | oui | Identifiant du modèle dans le registre. | |
body | Object | oui | Champs de la spec à modifier, champs de la fiche et pricing (par million de jetons : input_per_mtok, output_per_mtok, cached_input_per_mtok, cache_write_per_mtok ; par unité : per_image, per_second, per_character ; avec une devise). Utilisez POST .../status pour changer le statut. | |
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 un modèle enregistré ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ModelsClient.updateCategory
JsonNode updateCategory(String slug, Object body)
Modifier une catégorie de modèles. Modifie le libellé, la description, l'icône ou l'ordre d'une catégorie ; le slug ne change jamais. Une catégorie prédéfinie répond 409 category_builtin ; une catégorie partagée demande platform_admin. Des valeurs invalides répondent 422 parameter_invalid. Audité. Demande tenant_admin, platform_admin ou ai_platform_engineer.
Route : /v1/llm/categories/{slug} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
slug | String | oui | Slug de la catégorie. | |
body | Object | oui | Champs à modifier : label et description (un texte, ou {en, fr} ; libellé de 80 caractères au plus, description de 500), icon (nom en minuscules de 1 à 48 caractères, ou null), sort_order (de 0 à 10000). |
Retour : JsonNode. Réponse JSON décodée de l'opération « Modifier une catégorie de modèles ».
Erreurs levées : les erreurs typées du transport (Erreurs).