Relire un contrat API
Contrôlez un fichier avant de l’intégrer à un dépôt ou de le transmettre à un autre développeur.
Vérifiez une description d’API en JSON ou YAML sans l’envoyer à un serveur.
Collez ou importez un document JSON/YAML autonome, puis lancez la validation. Le rapport précise les erreurs et le périmètre contrôlé.
Contrôles partiels : structure, références JSON Pointer, mots-clés des schémas 3.1, identifiants des routes et webhooks et paramètres de chemin. Formats et exemples non validés ; contraintes sémantiques des callbacks non contrôlées. Dialectes personnalisés, $id, ancres et références dynamiques non pris en charge.
Une description OpenAPI sert de contrat entre les personnes qui développent, documentent et consomment une API. Une indentation YAML incorrecte, un champ obligatoire absent ou une référence introuvable peuvent empêcher son exploitation. Ce validateur aide à repérer ces erreurs dans un fichier JSON ou YAML, directement dans le navigateur. Il accepte Swagger 2.0, OpenAPI 3.0.0 à 3.0.4 et OpenAPI 3.1.0 à 3.1.2, avec le périmètre de contrôle indiqué dans le rapport.
La vérification commence par la syntaxe : le texte doit pouvoir être lu comme un document JSON ou YAML unique, sans clés répétées. Elle vérifie ensuite la version et la structure attendue, notamment les informations de l’API et les opérations décrites. Un fichier syntaxiquement correct peut donc rester non conforme au schéma OpenAPI de sa version.
Les références internes utilisent des JSON Pointers, par exemple #/components/responses/Ok. Elles désignent un emplacement dans le même document. Le validateur vérifie leur résolution et distingue les véritables références des clés $ref contenues dans les données d’un exemple. Les liens vers d’autres fichiers ou vers des schémas distants sont refusés : aucun résolveur ne les télécharge.
Des contrôles complémentaires portent sur les identifiants operationId des routes et webhooks, les paramètres des chemins et les types des mots-clés des schémas 3.1. Une réussite reste partielle : elle ne vérifie pas toutes les contraintes sémantiques, les formats ou la conformité des exemples. Les dialectes personnalisés, $id, ancres et références dynamiques sont signalés comme hors périmètre.
Un chemin de diagnostic tel que /paths/~1health/get/responses désigne le champ responses de GET /health : dans un JSON Pointer, ~1 représente une barre oblique. La ligne est affichée lorsqu’elle peut être retrouvée dans le texte source. Commencez par la première cause claire avant de traiter les erreurs secondaires produites par un même objet incomplet.
Collez la description ou importez un fichier JSON, YAML ou YML. Regroupez auparavant les références réparties entre plusieurs fichiers.
Cliquez sur Valider. Le traitement reste dans le navigateur et s’arrête après dix secondes au maximum.
Commencez par les erreurs de syntaxe, puis corrigez les champs signalés et relancez la validation.
Contrôlez un fichier avant de l’intégrer à un dépôt ou de le transmettre à un autre développeur.
Repérez les erreurs de structure d’une description produite par un framework ou un générateur.
Analysez une description interne sans transmettre son contenu ni appeler les endpoints.
Collez ce document complet pour décrire GET /health. La réponse 200 réutilise le composant Ok du même fichier. L’exemple vérifie un contrat documentaire : aucune requête GET n’est envoyée à un serveur.
Entrée
openapi: 3.1.0
info:
title: Health API
version: 1.0.0
paths:
/health:
get:
responses:
"200":
$ref: "#/components/responses/Ok"
components:
responses:
Ok:
description: OKRésultat
Description valide dans le périmètre vérifié
Opérations HTTP déclarées : 1Ce YAML peut être lu, mais info.version manque. Ajoutez par exemple version: 1.0.0 dans l’objet info. Un objet paths vide n’est pas, à lui seul, la cause de cette erreur. La ligne affichée dépend du placement du champ dans votre fichier.
Entrée
openapi: 3.1.0
info:
title: Health API
paths: {}Résultat
Description à corriger
Chemin : /info
Structure non conforme à la spécification.
Détail : required: versionLe document contient toujours le composant Ok, mais la réponse demande Absent. Corrigez le nom dans la référence. Si vous le remplacez par une URL externe, le diagnostic devient une référence externe refusée et le fichier distant n’est pas chargé.
Entrée
openapi: 3.1.0
info:
title: Health API
version: 1.0.0
paths:
/health:
get:
responses:
"200":
$ref: "#/components/responses/Absent"
components:
responses:
Ok:
description: OKRésultat
Description à corriger
Chemin : /paths/~1health/get/responses/200/$ref
Référence interne introuvable.Non. Le validateur vérifie une partie de la description, pas les réponses du serveur, les droits d’accès ou les règles métier. Aucun endpoint n’est appelé. Le rapport indique les limites des contrôles.
Regroupez-la localement en un document autonome avec votre outil habituel. Le validateur ne récupère aucun fichier lié.
Pas dans cette version. Une version non prise en charge est signalée explicitement et n’est pas assimilée à une erreur de syntaxe.
Le document est vérifié contre le schéma structurel de sa version. Les références JSON Pointer internes, les types des mots-clés des schémas 3.1, les operationId des routes et webhooks et les paramètres des chemins sont contrôlés. Les formats, exemples, données réelles et contraintes sémantiques restantes ne sont pas tous vérifiés.
Outils associés
Des outils similaires ou complémentaires à celui-ci.
Validez un document JSON avec un schéma et localisez précisément chaque erreur.
Convertissez des données JSON en YAML ou du YAML en JSON directement dans votre navigateur.
Construisez une requête API HTTP complète avec méthode, URL, paramètres, en-têtes et corps.