{"id":28713886,"url":"https://github.com/perrym/postman-to-swagger","last_synced_at":"2026-04-30T07:41:25.424Z","repository":{"id":296679803,"uuid":"994125740","full_name":"perrym/postman-to-swagger","owner":"perrym","description":"postman to swagger ","archived":false,"fork":false,"pushed_at":"2025-11-23T13:22:05.000Z","size":60,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-23T15:10:42.685Z","etag":null,"topics":["postman","postman-to-swagger","swagger"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/perrym.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-01T09:07:23.000Z","updated_at":"2025-11-23T13:22:08.000Z","dependencies_parsed_at":"2025-06-01T17:54:43.673Z","dependency_job_id":"313975d6-791b-48fa-a5dc-c20fcd8eb0b4","html_url":"https://github.com/perrym/postman-to-swagger","commit_stats":null,"previous_names":["perrym/postman-to-swagger"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/perrym/postman-to-swagger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perrym%2Fpostman-to-swagger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perrym%2Fpostman-to-swagger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perrym%2Fpostman-to-swagger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perrym%2Fpostman-to-swagger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perrym","download_url":"https://codeload.github.com/perrym/postman-to-swagger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perrym%2Fpostman-to-swagger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32458237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["postman","postman-to-swagger","swagger"],"created_at":"2025-06-15T01:00:27.178Z","updated_at":"2026-04-30T07:41:25.418Z","avatar_url":"https://github.com/perrym.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Postman to Swagger Converter by Perry Mertens pamsniffer@gmail.com (C)2025\n\nThis project converts a Postman v2.1 collection to an OpenAPI 3.0 spec and serves it with a lightweight web preview.\n\n##License AGPL-v3.0\n## 1) Requirements\n- Python 3.9+\n- Optional (for YAML output): `pip install pyyaml`\n\n## 2) Convert your Postman collection\n```bash\npython postman-to-swagger.py   --postman Collection.postman_collection.json   --env postmanenvironment.json   --output test   --json-only\n```\nOutputs: `test.json` (and `test.yaml` if you omit `--json-only` and have PyYAML).\n\n**Environment usage:** any enabled key in `postmanenvironment.json` that matches a server variable (e.g. `token_host`) becomes the default in `servers[0].variables` of the spec.\n\n## 3) Quick preview options\n### A) Open the generated spec file\n```bash\npython postman-to-swagger.py --postman Collection.postman_collection.json --output test --open-ui\n```\nThis opens the raw JSON in your default browser (no UI).\n\n### B) Start a tiny web server and use Swagger UI\n```bash\npython postman-to-swagger.py   --postman Collection.postman_collection.json   --env postmanenvironment.json   --output test   --json-only   --serve\n```\nThen open:\n```\nhttp://localhost:8000/index.html?spec=test.json\n```\n\u003e The built-in server serves the folder; it opens the spec file by default, but you can manually navigate to `index.html` for the Swagger UI.\n\nAlternatively, you can use Python’s standard server:\n```bash\npython -m http.server 8000\n# then browse to http://localhost:8000/index.html?spec=test.json\n```\n\n## 4) Tips\n- Use `--yaml-only` or `--json-only` to control output format (default is both if neither is passed).\n- The converter normalizes paths (`{{var}}` → `{var}`), pulls request/response bodies into components, and de-duplicates parameters.\n\n## 5) Troubleshooting\n- **`Invalid Postman structure`**: ensure you exported a **collection v2.1**, not an environment.\n- **No server defaults**: pass `--env postmanenvironment.json` and confirm the keys are enabled.\n- **Want multiple modules**: run the converter per subfolder and choose different `--output` names (e.g., `policy.json`, `claim.json`).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperrym%2Fpostman-to-swagger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperrym%2Fpostman-to-swagger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperrym%2Fpostman-to-swagger/lists"}