Overview
Bruno collections are stored as plain text files directly in your filesystem. Each collection is a folder containing.bru files for requests, environment files, and a bruno.json configuration file. This approach makes your API collections fully version-controllable and shareable.
Collection Structure
A typical Bruno collection looks like this:bruno.json Configuration
Thebruno.json file contains collection-wide settings and metadata.
Basic Configuration
bruno.json
Advanced Configuration
bruno.json
Configuration Options
Configuration Options
- version - Collection format version (currently “1”)
- name - Display name of your collection
- type - Always “collection”
- ignore - Files/folders to ignore (like .gitignore)
- proxy - HTTP proxy configuration
- scripts - Script execution settings and module access
- clientCertificates - SSL/TLS client certificate configuration
- presets - Default values for new requests
Collection-Level Settings
Thecollection.bru file defines default settings applied to all requests in the collection.
collection.bru
Folder Organization
Organize your requests into folders for better structure. Each folder can have afolder.bru file with folder-level settings.
folder.bru
folder.bru
Folder-level settings are inherited by all requests within that folder. Request-level settings override folder settings, which override collection settings.
Settings Inheritance
Bruno uses a cascading system for settings:Headers
Headers defined at collection or folder level are merged with request headers
Authentication
Requests can use
auth: inherit to use collection/folder auth settingsVariables
Variables are available to all child requests and can be overridden
Scripts
Pre-request and post-response scripts run in order: collection → folder → request
Creating a Collection
1
Create a folder
Create a new folder for your collection:
2
Add bruno.json
Create a
bruno.json file with your collection settings:3
Add requests
Create
.bru files for your API requests. See the Bru Language guide for syntax.4
Open in Bruno
Open the collection folder in Bruno to start testing your APIs.
Best Practices
Logical Organization
Group related requests into folders (e.g.,
auth/, users/, products/)Descriptive Names
Use clear, descriptive names for files and folders
Shared Settings
Put common headers and auth in
collection.bru to avoid repetitionEnvironment Variables
Use environments for different servers (local, staging, production)
Next Steps
Bru Language
Learn the .bru file format for defining requests
Environments
Set up environment variables for different contexts
Git Integration
Version control your API collections with Git
Scripting
Add JavaScript for dynamic request/response handling