Comment un agent IA met à jour votre spec API avec la CLI Apidog

Faites mettre à jour votre spécification d'API en toute sécurité par un agent IA avec la CLI Apidog : il travaille sur une branche IA isolée, traite les mises à jour comme un cycle complet de lecture-modification-écriture, et ne fusionnez qu'après un examen humain.

Ashley Innocent

Ashley Innocent

15 July 2026

Comment un agent IA met à jour votre spec API avec la CLI Apidog

Apidog pour les entreprises

Déploiement sur site

SSO & RBAC

Conforme SOC 2

Découvrir Apidog Enterprise

Modifier une spécification d'API à la main est un travail minutieux. Renommer un champ, ajouter une valeur d'énumération, renforcer un indicateur requis. Chaque changement est petit, mais chacun doit atterrir au bon endroit sans casser les points de terminaison qui le référencent. C'est précis, mécanique, et exactement le genre de tâche que vous confieriez à un agent IA, si seulement vous pouviez lui faire confiance pour ne pas détruire tout le schéma.

C'est possible. La CLI Apidog donne à un agent tout ce dont il a besoin pour modifier une spécification de manière responsable : validation du schéma avant chaque écriture, une branche isolée pour travailler, et une demande de fusion à réviser.

bouton

Ceci est le compagnon de mutation qui permet à un agent de créer de la documentation API. La création est additive et à faible risque ; la mise à jour d'un contrat existant est l'endroit où les garde-fous sont importants, donc la majeure partie de ce guide porte sur la façon de le faire sans rien casser.

Ce que signifie « mettre à jour la spécification » via la CLI

Votre spécification dans Apidog est l'ensemble des points de terminaison et des schémas de données d'un projet. La mettre à jour signifie l'une des trois commandes suivantes :

Avant de confier l'un d'entre eux à un agent, vous devez comprendre deux comportements, car les mal comprendre est la façon dont une spécification est endommagée. Le premier est un modèle de permission, et le second est un piège qui supprime silencieusement des données.

Le piège qui vous mordra : la mise à jour est un remplacement complet

C'est la chose la plus importante à enseigner à votre agent. Les commandes update de la CLI ne sont pas un patch JSON. Elles soumettent directement les champs que vous fournissez ; elles ne fusionnent pas les éléments de tableau par ID. Si vous envoyez une mise à jour avec un tableau parameters partiel dans l'intention de modifier un seul paramètre, vous ne modifiez pas ce paramètre. Vous remplacez tout le tableau par celui que vous avez envoyé, et les autres sont supprimés.

La séquence correcte est toujours lecture-modification-écriture sur l'objet complet :

# 1. Obtenir la ressource complète actuelle
apidog endpoint get <endpointId> --project <projectId>

# 2. Modifier la structure complète localement (conserver tous les champs que vous ne modifiez pas)

# 3. Valider l'objet entier par rapport au schéma
apidog cli-schema get endpoint-create
apidog cli-schema validate endpoint-create --file ./endpoint-full.json

# 4. Réécrire l'objet complet
apidog endpoint update <endpointId> --project <projectId> --file ./endpoint-full.json

Mettez cela dans les instructions de l'agent en termes simples : n'envoyez jamais un objet partiel à update ; récupérez toujours la ressource complète, modifiez-la et renvoyez-la entièrement. Un agent qui saute l'étape get supprimera silencieusement des champs. Un agent qui exécute cli-schema validate d'abord intercepte ses propres erreurs avant qu'elles n'atteignent le projet.

Le chemin sûr : laisser l'agent travailler sur une branche IA

Vous pourriez donner à l'agent une permission de modification directe sur votre branche principale. Ne le faites pas, du moins pas au début. Apidog dispose d'un mécanisme d'isolation spécialement conçu, la branche IA, pour exactement cela : un agent modifie des ressources sans toucher à la branche source, et rien n'est fusionné tant que vous ne l'avez pas dit. Considérez-le comme une demande de tirage pour votre spécification d'API.

Étape 1 : Créer la branche IA

apidog branch create --project <projectId> --type ai \
  --from main --name "ai/20260713-from-main-refund-fields"

La convention de nommage est ai/AAAAJJ-de-source-fonctionnalité afin que l'origine et le but de la branche soient lisibles en un coup d'œil. La valeur --from doit être votre branche principale ou une branche de sprint normale, pas une branche générale. Un détail pratique : une branche IA sans différence par rapport à sa source est automatiquement archivée après 24 heures, de sorte que les expériences abandonnées se nettoient d'elles-mêmes.

Étape 2 : Importer les ressources que l'agent modifiera

Une branche IA commence vide. Elle ne clone pas automatiquement la branche source. Avant que l'agent ne puisse modifier un point de terminaison ou un schéma existant, extrayez cette ressource dans la branche avec pick-to :

apidog branch pick-to --project <projectId> --type ai \
  --from main --to "ai/20260713-from-main-refund-fields" \
  --endpoint-ids <ids>

Les ressources que l'agent crée directement sur la branche n'en ont pas besoin ; seulement celles existantes qu'il a l'intention de modifier ou de supprimer. C'est l'étape que les gens oublient : sautez-la, et l'agent aura une branche vide et rien à modifier.

Étape 3 : Laisser l'agent effectuer la modification

Maintenant, l'agent exécute la boucle lecture-modification-écriture précédente, mais avec --branch pointant vers la branche IA. Chaque modification est contenue :

apidog endpoint get <endpointId> --project <projectId> \
  --branch "ai/20260713-from-main-refund-fields"

apidog endpoint update <endpointId> --project <projectId> \
  --branch "ai/20260713-from-main-refund-fields" \
  --file ./endpoint-full.json

Votre branche principale reste intacte pendant tout ce temps. Si l'agent se trompe, le rayon d'impact est une seule branche jetable.

Étape 4 : Réviser, puis fusionner

Les modifications des branches IA ne sont jamais réécrites automatiquement. Lorsque l'agent a terminé, vous décidez de ce qui se passe. Si la cible est protégée, ouvrez une demande de fusion plutôt que de fusionner directement :

apidog merge-request --help
apidog branch merge --project <projectId> --type ai \
  --from "ai/20260713-from-main-refund-fields" --to main --endpoint-ids <ids>

Examinez le diff, approuvez, et le changement validé atterrit sur la branche principale. La fusion directe depuis la CLI nécessite une permission de modification directe sur les branches source et cible ; si la branche principale est protégée, préférez merge-request et approuvez-la dans le client Apidog.

Un exemple concret : renommer un champ en toute sécurité

Les règles abstraites sont faciles à accepter mais difficiles à appliquer. Voici un exemple concret. Supposons que vous souhaitiez renommer amount en amountCents sur le modèle de données Refund, car vous passez à des centimes entiers.

Vous dites à l'agent : « Renomme le champ amount du schéma Refund en amountCents et fais-en un entier. » Suivant ses règles, l'agent :

# 1. Récupérer le schéma COMPLET actuel sur la branche IA
apidog schema get <refundSchemaId> --project $PID --branch "ai/20260713-from-main-refund-fields"

Il récupère l'objet complet et modifie l'intégralité du jsonSchema, en conservant tous les champs qu'il ne touche pas :

{
  "name": "Refund",
  "jsonSchema": {
    "type": "object",
    "required": ["orderId", "amountCents"],
    "properties": {
      "orderId": { "type": "string" },
      "amountCents": { "type": "integer" },
      "reason": { "type": "string" }
    }
  }
}

Notez ce qui ne s'est pas produit : il n'a pas envoyé seulement la propriété modifiée. Il a envoyé le schéma entier avec orderId et reason intacts, car update remplace. Ensuite :

# 2. Valider l'objet complet
apidog cli-schema validate schema-create --file ./refund-full.json

# 3. Réécrire sur la branche IA
apidog schema update <refundSchemaId> --project $PID \
  --branch "ai/20260713-from-main-refund-fields" --file ./refund-full.json

Vous examinez le diff de la branche IA (un champ renommé, rien d'autre n'est perturbé) et fusionnez. C'est toute la discipline : objet complet, validé, sur une branche, fusionné après examen.

Signaler les changements cassants avant de fusionner

Renommer un champ requis est un changement cassant : tout client envoyant amount échouera désormais à la validation. Un bon ensemble d'instructions pour l'agent fait en sorte que le modèle le signale plutôt que de fusionner silencieusement. Ajoutez ceci aux règles de l'agent :

Avant de fusionner tout changement de spécification, classez-le :
- Non cassant (nouveau champ optionnel, nouveau point de terminaison, contrainte assouplie) → résumer et procéder à la demande de fusion.
- Cassant (champ renommé/supprimé, nouveau champ requis, type renforcé) → ARRÊTER.
  Signaler le changement cassant et les points de terminaison affectés, et attendre une approbation humaine explicite.

La branche IA est ce qui rend cela sûr à appliquer : parce que rien ne fusionne automatiquement, « arrêter et signaler » est un véritable point de contrôle, et non une course contre une écriture qui a déjà eu lieu.

Mettre à jour depuis un fichier OpenAPI à la place

Parfois, le changement existe déjà sous forme de fichier OpenAPI, généré à partir de code, édité ailleurs, ou transmis par une autre équipe. Plutôt que de rejouer les modifications champ par champ, l'agent peut importer le fichier pour le concilier avec le projet :

apidog import --project <projectId> --format openapi --file ./openapi.json \
  --branch "ai/20260713-from-main-refund-fields"

import accepte OpenAPI 3.x, Swagger 2.0, Postman, et plus encore. Exécutez-le d'abord sur une branche IA afin de pouvoir examiner les changements de spécification entrants avant qu'ils n'atteignent la branche principale. Après la fusion, exportez la spécification réconciliée pour confirmer le résultat :

apidog export --project <projectId> --format openapi --oas-version 3.1 --output ./openapi.json

Cette approche est la meilleure lorsque la source de vérité se trouve en dehors d'Apidog et que vous la synchronisez. La méthode update champ par champ est la meilleure lorsque Apidog est la source de vérité et que vous effectuez un changement chirurgical.

Lorsque l'agent se trompe : revenir en arrière

La raison de travailler sur une branche IA est que les erreurs sont faciles à annuler. Si l'agent produit un changement que vous ne voulez pas, vous ne l'avez jamais fusionné, donc la branche principale est déjà correcte. Il suffit d'archiver la branche et de passer à autre chose :

apidog branch archive "ai/20260713-from-main-refund-fields" --project <projectId> --type ai

Parce qu'une branche IA sans différence acceptée s'auto-archive de toute façon après 24 heures, même une expérience oubliée se nettoie d'elle-même. Comparez cela à un agent modifiant directement la branche principale, où une mauvaise update est immédiatement en ligne et votre seul recours est la corbeille ou une annulation manuelle. La branche n'est pas de la bureaucratie ; c'est le bouton d'annulation.

Une note sur les permissions

Si une update ou un import est bloqué, le projet a les permissions de modification IA externes désactivées. C'est une barrière délibérée, et le flux de branche IA ci-dessus y répond : l'agent modifie une branche isolée et vous approuvez la fusion. Si vous préférez accorder des modifications directes, l'interrupteur se trouve dans Paramètres du projet → Paramètres des fonctionnalités → Paramètres des fonctionnalités IA (client Apidog 2.8.32+). Lorsqu'un agent rencontre un mur de permissions, ne le laissez pas choisir silencieusement une solution de contournement ; présentez le choix à un humain.

Pièges courants

FAQ

En résumé

Laisser un agent mettre à jour votre spécification d'API est sûr lorsque trois conditions sont remplies : il travaille sur une branche IA isolée, il traite chaque mise à jour comme une lecture-modification-écriture complète plutôt que comme un patch, et un humain approuve la fusion. La CLI Apidog vous offre ces trois éléments sous forme de commandes, ce qui signifie que toute la boucle (modifier, valider, réviser) est scriptable et auditable, et qu'un mauvais changement est à un archive de la suppression.

Configurez la branche IA, donnez à l'agent la règle de lecture-modification-écriture et le point de contrôle des changements cassants, et la maintenance de la spécification devient un diff que vous approuvez au lieu d'un travail fastidieux que vous continuez à repousser. Téléchargez Apidog pour obtenir la CLI, et associez cela à laisser un agent créer votre documentation pour couvrir la boucle complète d'édition et de maintenance.

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API

Comment un agent IA met à jour votre spec API avec la CLI Apidog