Tenable WAS relies heavily on your OpenAPI 3 specifications to understand parameters, request bodies, and expected behavior. If your spec is too loose, you end up with noisy “permissive input validation” findings and partial coverage.
Most teams maintain Postman collections, not handcrafted OpenAPI docs. Collections typically lack:
maxLength) and array bounds (maxItems)Code-first generators or AI can guess at schemas, but they often err on the side of being permissive. Tenable will flag that.
FroggerAPI starts from your Postman collection and produces a strict OpenAPI 3.0 spec tuned for Tenable:
type and formatmaxLength and maxItemspattern where obvious (IDs, codes, etc.)additionalProperties: false where safeAuthorization so you can keep using Tenable’s own credential system.From the web UI at froggerapi.io/convert, upload a Postman collection and optional environment JSON. Alternatively, use the API directly:
curl -X POST "https://api.froggerapi.io/api/convert" \ -F "collection=@your_collection.postman_collection.json" \ -F "environment=@your_environment.json" \ -o openapi.json
The response (or openapi.json if you use -o) is a strict OpenAPI 3 document.
openapi.json (or YAML) you generated from FroggerAPI.
Configure your usual credential method in Tenable (bearer token, header auth, etc.). Since
FroggerAPI excludes Authorization from the spec, Tenable’s own credential
workflow remains the source of truth.
With tighter schemas, Tenable can:
For teams that want an always-fresh spec, you can run FroggerAPI as a build step:
# Example (GitHub Actions) curl -X POST "https://api.froggerapi.io/api/convert" \ -F "collection=@collections/my-api.postman_collection.json" \ -o openapi.json # Then, publish openapi.json as an artifact # or feed it into downstream tools.
See the Docs for full CI/CD examples and patterns.
If you have a specific Tenable WAS use case and want to see if FroggerAPI fits, email: feedback@froggerapi.io.