Conversor de colecciones API

Pega los datos o elige un archivo y selecciona el formato de salida. Revisa los métodos, URL y cabeceras extraídos antes de copiar o descargar el resultado.

Se ejecuta localmente en tu navegador
El análisis se realiza íntegramente en tu navegador. No se suben datos ni se envían a una API.

El conversor lee texto pegado o un archivo local. Nunca llama a un endpoint API ni importa una colección remota.

Resumen de conversión
Solicitudes encontradas
NombreMétodoURLCabeceras
Pega una colección o solicitud para ver una vista previa local.
Formato de salida

Mueve solicitudes API entre formatos habituales de desarrollo

Revisa el resultado generado antes de guardarlo. Los valores de autenticación permanecen solo en esta pestaña; sustitúyelos por variables seguras antes de compartir.

Cómo convertir una colección aquí

Cinco entradas —colecciones de Postman, exportaciones de Insomnia, peticiones de Bruno, documentos OpenAPI o Swagger y comandos cURL— y cuatro salidas: OpenAPI 3.0.3, Postman v2.1, cURL y JavaScript Fetch. Las veinte combinaciones se ejecutaron con datos de petición reales mientras se escribía esta página.

La conversión es JavaScript del navegador. Con el panel de red abierto, convertir una colección de 2,2 MB no produjo ninguna petición: no se sube ninguna colección, URL ni credencial, y nunca se llama al endpoint que aparece en la entrada.

  1. Pega el texto en el cuadro o usa Elegir archivo local para un archivo .json, .bru o .txt. Detectar automáticamente reconoce las cinco formas habituales; los formatos con nombre están para entradas que se leen mal.
  2. Elige OpenAPI 3.0, Postman v2.1, cURL o Fetch JavaScript como salida y pulsa Convertir localmente. El resumen indica cuántas peticiones se encontraron en el origen y cuántas se fusionaron.
  3. Lee la tabla antes del resultado: nombre, método, URL y número de cabeceras activas de cada petición, hasta las primeras 100 filas.
  4. Copiar resultado o Descargar resultado se lleva el resultado; el archivo se llama kivtools-api-conversion.json, .js o .txt. Limpiar vacía la entrada junto con el resultado anterior.

Reglas de conversión y límites

Qué se lee de cada entrada

Las carpetas de Postman se convierten en nombres «Carpeta / Petición», y los valores de la lista de variables de la propia colección se sustituyen en URL, cabeceras y cuerpos, de modo que un {{baseUrl}} definido en el archivo llega como dirección real. Un marcador que el archivo nunca define se deja tal cual, en lugar de inventarlo.

Los documentos Swagger 2.0 se leen mediante host, basePath y schemes: los parámetros con in: body se convierten en cuerpo de petición con el tipo consumes declarado y los campos in: formData en datos de formulario multipart. De los archivos Bruno se leen el bloque del método, la URL y el bloque de cabeceras; el resto del archivo se ignora.

Opciones de cURL que se entienden

El analizador acepta -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 y --url, y une las líneas que terminan en barra invertida antes de empezar. -u user:pass pasa a ser una cabecera Authorization: Basic, y -A, -b y -e pasan a User-Agent, Cookie y Referer.

Las subidas sobreviven: -F "file=@photo.png" cambia el método a POST igual que curl y vuelve como campo de archivo en Postman, argumento -F en cURL o entrada FormData en Fetch. Un cuerpo leído del disco sigue siendo una referencia a archivo — -d @payload.json se reescribe como --data @payload.json, mientras que --data-raw @payload.json conserva su significado literal.

Reglas que sigue la salida OpenAPI

Una plantilla de ruta sobrevive a la ida y vuelta: /items/{id} convertido de un documento OpenAPI a otro sigue siendo /items/{id} en lugar de llegar como /items/%7Bid%7D. Una cadena de consulta se convierte en parámetros query con los valores que había en la URL, y una ruta con dos métodos pasa a ser un elemento de ruta con dos operaciones.

Un documento OpenAPI no puede tener dos operaciones para la misma ruta y método, así que los pares repetidos se fusionan y la línea de estado indica cuántos. Las peticiones a hosts distintos conservan su propia entrada de servidor y el primer host queda como servidor del documento.

Qué es el resultado y qué no

El OpenAPI generado lleva valores de ejemplo en lugar de esquemas: un cuerpo se convierte en objeto de ejemplo y cada operación recibe una respuesta de relleno 200 Successful response. Es un documento de partida editable, no una especificación validada, y no inventa los modelos de respuesta que no estaban en el origen.

Las cabeceras y los valores de autenticación se copian tal cual, por eso la página pide sustituirlos por variables antes de compartir el resultado. Una conversión fallida borra el resultado anterior en lugar de dejarlo en pantalla, de modo que un documento viejo nunca se confunde con el actual. Las entradas grandes siguen siendo rápidas: 5.000 peticiones en 2,2 MB tardaron unos 65 ms y 100 peticiones en 43 KB unos 10 ms.

Herramientas recientes: