Convert postman collection to OpenAPI spec
npm install postman-to-openapi!logo
🛸 Convert Postman Collection v2.1/v2.0 to OpenAPI v3.0.
Or in other words, transform this specification and also this to this one





Using npm:
``bash`
npm i postman-to-openapi
Using yarn:
`bash`
yarn add postman-to-openapi
To install as a cli just
`bash`
npm i postman-to-openapi -g
As a library
`js
// Require Package
const postmanToOpenApi = require('postman-to-openapi')
// Postman Collection Path
const postmanCollection = './path/to/postman/collection.json'
// Output OpenAPI Path
const outputFile = './api/collection.yml'
// Async/await
try {
const result = await postmanToOpenApi(postmanCollection, outputFile, { defaultTag: 'General' })
// Without save the result in a file
const result2 = await postmanToOpenApi(postmanCollection, null, { defaultTag: 'General' })
console.log(OpenAPI specs: ${result})
} catch (err) {
console.log(err)
}
// Promise callback style
postmanToOpenApi(postmanCollection, outputFile, { defaultTag: 'General' })
.then(result => {
console.log(OpenAPI specs: ${result})`
})
.catch(err => {
console.log(err)
})
As a cli
`bash`
p2o ./path/to/PostmantoCollection.json -f ./path/to/result.yml -o ./path/to/options.json
All features, usage instructions and help can be found in the Documentation page
This project use for development:
- Node.js v12.x to v17.x
- Standard JS rules to maintain clean code.
- Use Conventional Commit for commit messages.
- Test with mocha.js.
Use the scripts in package.json:
- test:unit: Run mocha unit test.test
- : Execute test:lint plus code coverage.lint
- : Execute standard lint to review errors in code.lint:fix
- : Execute standard lint and automatically fix errors.changelog
- : Update changelog automatically.
Steps to generate the gif demo:
- Install terminalizer npm install -g terminalizerterminalizer record demo -d 'zsh'
- Start a recording using Ctrl+D
- Stop recording with terminalizer play demo
- Check demo with demo.yml
- Adjust delays in , change rows to 15 (is the height) and anonymize terminal session.terminalizer render demo
- Generate the gif with
Husky is configured to avoid push incorrect content to git.
Nodejs Javascript OpenAPI Postman Newman Collection Transform Convert`
See the LICENSE file.