Validateur OpenAPI 3.1

Collez un document OpenAPI 3.1 au format JSON ou YAML pour contrôler sa structure de premier niveau. L’outil recherche le champ openapi, un objet info avec title et version, et un objet paths. Il s’agit d’un contrôle structurel : les mots-clés de schéma de la 3.1 ne sont pas validés, et certains motifs compatibles avec la 3.1 produisent un avertissement ou une erreur qu’il est utile de connaître.

Comment contrôler un document 3.1

  1. 1

    Collez votre spec 3.1

    Collez le document avec `openapi: 3.1.0` (ou une autre valeur 3.1.x) dans le champ, au format JSON ou YAML.

  2. 2

    Lancez le contrôle

    Passez à l'étape des résultats pour voir les erreurs et les avertissements.

  3. 3

    Lisez les remarques 3.1

    Vérifiez si un élément signalé est une vraie erreur ou l'un des motifs 3.1 décrits plus bas.

  4. 4

    Complétez avec un linter complet

    Utilisez un validateur complet pour les règles JSON Schema 2020-12 une fois la structure propre.

Ce que fait cet outil avec les fichiers 3.1

La version 3.1 aligne les schémas sur JSON Schema 2020-12. Ce validateur n’examine pas l’intérieur des schémas. Il inspecte uniquement le premier niveau et les entrées de chemins, donc les fonctions de schéma de la 3.1, comme les tableaux de types ou const, ne réussissent ni n’échouent ici. La valeur de la version elle-même n’est pas contrôlée : tout champ openapi est considéré comme présent.

Deux motifs 3.1 à surveiller

Motif dans votre fichier 3.1 Ce que signale l’outil
Objet webhooks sans objet paths Erreur : objet ‘paths’ manquant.
Opération trace sous un chemin Avertissement : méthode inconnue ‘trace’ sur le chemin
$ref comme clé d’un élément de chemin Avertissement : méthode inconnue ‘$ref’ sur le chemin

OpenAPI 3.1 permet de ne décrire que des webhooks et de omettre paths. Cet outil exige paths : un tel fichier est donc signalé par une erreur, même si la spécification l’autorise. Ajouter un objet paths: {} vide satisfait le contrôle.

La liste des méthodes utilisée ici comprend get, post, put, patch, delete, head, options, ainsi que parameters, summary, description et servers. La méthode trace existe dans la spécification, mais elle ne figure pas dans cette liste : elle déclenche donc un avertissement que vous pouvez ignorer si elle est volontaire. Les avertissements ne rendent pas le document invalide.

Un exemple concret

openapi: 3.1.0
info:
  title: Events API
  version: 2.0.0
webhooks:
  newEvent:
    post:
      summary: Event delivered

Résultat : une erreur, « Objet ‘paths’ manquant. » Ajoutez paths: {} et la structure est acceptée.

Quand s’en tenir là et quand aller plus loin

Utilisez cette page pour confirmer qu’un fichier 3.1 a la bonne forme avant d’ouvrir une pull request ou de le partager avec un partenaire. Les contrôles sont rapides et les messages sont clairs. Une fois la structure correcte, les règles de schéma 3.1 nécessitent encore un linter complet, car c’est là que se cachent la plupart des vraies erreurs : déclarations de types invalides, références cassées et définitions de réponses manquantes. Considérez ces deux étapes comme complémentaires, et non comme des alternatives.

Si un avertissement est volontaire, comme trace, notez-le dans votre pull request pour que les relecteurs ne s’interrogent pas. Les avertissements ne modifient jamais le résultat valide : vous pouvez les conserver sans risque. Les erreurs sont les points à résoudre avant de partager le fichier.

Questions fréquentes

Non. Il n’examine pas l’intérieur des objets de schéma, donc les mots-clés JSON Schema 2020-12 ne sont pas contrôlés. Il couvre uniquement la structure de premier niveau et les entrées de chemins.

Le contrôle exige un objet paths. Un fichier 3.1 composé uniquement de webhooks n’en a pas, donc il signale une erreur de paths manquant. Ajoutez un paths: {} vide pour réussir.

Non. Il vérifie seulement qu’un champ openapi ou swagger existe, et non la valeur de ce champ.

Pas nécessairement. trace est une opération valide dans la spécification. L’outil ne l’inclut simplement pas dans sa liste des méthodes connues.

Outils similaires

Outil disponible dans d’autres langues

Guides et cas d'usage