Got an OpenAPI spec and want to start making requests with it right away?

The open-collection command converts any OpenAPI 3.x specification into OpenCollection format, which is compatible with Bruno v3+ and other API clients that support the format.

Just point vacuum at a spec and get a ready-to-use collection.

Ready to import into Bruno and go.


Basic Usage

vacuum open-collection openapi.yaml collection.yaml

This reads the OpenAPI spec, converts every path and operation into requests, and writes the result as a single bundled YAML file.

Bundled vs Exploded Output

The output format is determined by the file extension of the output path.

Bundled Mode

Use a .yaml or .yml extension to produce a single file containing the entire collection:

vacuum open-collection openapi.yaml my-collection.yaml

Perfect for sharing collections as a single artifact or checking into version control as one file.

Exploded Mode

Use a directory path to produce an exploded directory tree with individual request files:

vacuum open-collection openapi.yaml my-collection/

Each request gets its own file, organized by path and operation.


Multi-File Specs

Got a spec that’s split across multiple files with $ref references? No problem. vacuum resolves all local file references automatically:

vacuum open-collection specs/openapi.yaml collection.yaml

Remote references are also supported by default. Use --remote=false to disable remote lookups if needed.

If your references are relative to a different base path, use the --base flag:

vacuum open-collection openapi.yaml collection.yaml --base /path/to/refs

Customizing the Collection

Override the Collection Name

By default, vacuum derives the collection name from the spec’s info.title. Override it with --name:

vacuum open-collection openapi.yaml collection.yaml --name "My Awesome API"

Skip Environments

Don’t need environment files generated? Use --no-environments:

vacuum open-collection openapi.yaml collection.yaml --no-environments

Skip Descriptions

If you don’t want API descriptions included as documentation in the collection, use --no-descriptions:

vacuum open-collection openapi.yaml collection.yaml --no-descriptions

Available Flags

open-collection supports the following flags

Short Full Input Description
-n –name string Override the collection name (defaults to the spec title)
-E –no-environments bool Skip generating environment files
-D –no-descriptions bool Skip including descriptions as documentation
-q –no-style bool Disable styling and color output (useful for CI/CD)

Global Flags

Short Full Input Description
-p –base string Override base path for resolving file and remote references
-u –remote bool Allow remote and local file reference lookups (default true)
-w –debug bool Enable debug logging for detailed processing information
-t –time bool Show how long the command took to run and processing stats

CI/CD Usage

Running in a pipeline? Use --no-style for clean output without ANSI escape codes:

vacuum open-collection openapi.yaml collection.yaml --no-style

Combine with --time to capture performance metrics in your build logs.