Convertisseur de collections API

Collez les données ou choisissez un fichier et le format de sortie. Examinez les méthodes, URL et en-têtes extraits avant de copier ou télécharger le résultat.

Fonctionne localement dans votre navigateur
All parsing and analysis stays in this browser. Nothing is uploaded or sent to an API.

Le convertisseur lit le texte copié ou un fichier local sélectionné. Il n’appelle jamais de point de terminaison API ni n’importe une collection à distance.

Résumé de la conversion
Requêtes trouvées
NomMéthodeURLEn-têtes
Collez une collection ou une requête pour voir son aperçu de conversion local.
Format de sortie

Transférez vos requêtes API entre les formats de développement courants

Examinez la sortie générée avant de la valider. Les valeurs d'authentification sont conservées uniquement dans cet onglet du navigateur et doivent être remplacées par des variables sécurisées avant le partage.

Comment convertir une collection ici

Cinq entrées — collections Postman, exports Insomnia, requêtes Bruno, documents OpenAPI ou Swagger et commandes cURL — et quatre sorties : OpenAPI 3.0.3, Postman v2.1, cURL et JavaScript Fetch. Les vingt combinaisons ont été exécutées avec de vraies données de requête pendant la rédaction de cette page.

La conversion est du JavaScript exécuté dans le navigateur. Panneau réseau ouvert, la conversion d'une collection de 2,2 Mo n'a produit aucune requête : aucune collection, URL ou information d'authentification n'est envoyée, et aucun endpoint cité dans l'entrée n'est appelé.

  1. Collez le texte dans la zone, ou utilisez Choisissez un fichier local pour un fichier .json, .bru ou .txt. Détection automatique reconnaît les cinq formes habituelles ; les formats nommés servent aux entrées mal lues.
  2. Choisissez OpenAPI 3.0, Postman v2.1, cURL ou Fetch JavaScript comme sortie, puis cliquez sur Convertir localement. Le résumé indique combien de requêtes ont été trouvées dans la source et combien ont été fusionnées.
  3. Lisez le tableau avant le résultat : nom, méthode, URL et nombre d'en-têtes actifs pour chaque requête, jusqu'aux 100 premières lignes.
  4. Copier la sortie ou Télécharger la sortie récupère le résultat — le fichier s'appelle kivtools-api-conversion.json, .js ou .txt. Effacer vide l'entrée en même temps que le résultat précédent.

Règles de conversion et limites

Ce qui est lu dans chaque entrée

Les dossiers Postman deviennent des noms « Dossier / Requête », et les valeurs de la liste de variables de la collection sont injectées dans les URL, les en-têtes et les corps : un {{baseUrl}} défini dans le fichier arrive donc sous forme d'adresse réelle. Un marqueur que le fichier ne définit jamais reste tel quel plutôt que d'être deviné.

Les documents Swagger 2.0 sont lus via host, basePath et schemes : les paramètres in: body deviennent un corps de requête avec le type consumes déclaré et les champs in: formData des données de formulaire multipart. Dans un fichier Bruno, le bloc de méthode, l'URL et le bloc d'en-têtes sont lus ; le reste du fichier est ignoré.

Les options cURL comprises

L'analyseur accepte -X/--request, -H/--header, -d/--data/--data-raw/--data-binary/--data-urlencode, -F/--form/--form-string, -u/--user, -A/--user-agent, -b/--cookie, -e/--referer et --url, et recolle les lignes terminées par une barre oblique inverse avant de commencer. -u user:pass devient un en-tête Authorization: Basic, et -A, -b et -e deviennent User-Agent, Cookie et Referer.

Les envois de fichiers survivent : -F "file=@photo.png" fait passer la méthode à POST comme le fait curl, puis revient en champ fichier dans Postman, en argument -F en cURL ou en entrée FormData en Fetch. Un corps lu sur le disque reste une référence de fichier — -d @payload.json est réécrit en --data @payload.json, tandis que --data-raw @payload.json garde son sens littéral.

Les règles suivies par la sortie OpenAPI

Un modèle de chemin survit à l'aller-retour : /items/{id} converti d'un document OpenAPI vers un autre reste /items/{id} au lieu d'arriver en /items/%7Bid%7D. Une chaîne de requête devient des paramètres query avec les valeurs présentes dans l'URL, et un chemin portant deux méthodes devient un élément de chemin avec deux opérations.

Un document OpenAPI ne peut pas contenir deux opérations pour le même chemin et la même méthode : les paires répétées sont donc fusionnées et la ligne d'état indique combien. Les requêtes vers des hôtes différents conservent leur propre serveur, le premier hôte devenant le serveur du document.

Ce que le résultat est, et ce qu'il n'est pas

L'OpenAPI généré contient des valeurs d'exemple plutôt que des schémas : un corps devient un objet d'exemple et chaque opération reçoit une réponse de remplissage 200 Successful response. C'est un document de départ modifiable, pas une spécification validée, et il n'invente pas les modèles de réponse absents de la source.

Les en-têtes et les valeurs d'authentification sont recopiés tels quels, d'où la demande de la page de les remplacer par des variables avant de partager le résultat. Une conversion en échec efface le résultat précédent au lieu de le laisser à l'écran, pour qu'un ancien document ne soit jamais pris pour le nouveau. Les grosses entrées restent rapides : 5 000 requêtes dans 2,2 Mo en 65 ms environ, et 100 requêtes dans 43 Ko en 10 ms environ.

Outils récents :