Bruno collections are organized sets of API requests and environments within the Bruno API client, allowing developers to structure, test, and share their API workflows efficiently.
Bruno Collection
Bruno Collection is the way the Bruno API client stores a set of API requests and their environments — as plain .bru files kept in a folder, right alongside your code. Instead of locking requests inside a proprietary cloud workspace, Bruno writes them to disk in its human-readable Bru markup language, so a collection lives in Git like any other source artifact. That single design choice is what sets it apart from the older generation of API clients.
- Git-native storage - Requests and environments are files on disk, so they version, branch, review, and merge with the rest of a repository.
- The Bru markup language - A readable, diff-friendly text format (now formalized as OpenCollection) describes each request without an opaque binary or cloud database.
- Environments and secrets - Environment files hold base URLs and variables, with secret handling kept out of the shared collection so credentials do not leak into version control.
- Offline and open source - Bruno runs locally with no mandatory account, keeping API workflows portable and under the developer’s control.
In my own API operations I keep a Bruno collection in the same repository as the APIs.json index and OpenAPI definition for an API, so the executable requests travel with the contract that describes them. Because the collection is just files, it drops cleanly into CI, gets reviewed in a pull request, and can be regenerated from an OpenAPI spec — making Bruno a strong fit for the Git-centered, unbundled API tooling I increasingly favor over monolithic cloud clients.
Referenced on the API Evangelist blog
Where this standard shows up across sixteen years of my writing at apievangelist.com — how it fits into API design, governance, and the agentic turn.
Git Is How You Run in Bruno
2024-11-15
The Great Unbundling of the API Client
2025-01-30