Top-Level Structure
A Bruno YAML request file contains the following top-level sections:info
Store metadata about your request.http
The HTTP request configuration.http.method
The HTTP method. Supported values:GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD, TRACE, CONNECT (uppercase).
http.params
Parameters as an array of objects with atype field to distinguish query vs path parameters.
http.headers
Request headers as an array of objects.http.body
The request body configuration.http.auth
Authentication configuration. Credentials are specified directly under theauth object. Use inherit to inherit authentication from the parent folder or collection.
none, inherit, basic, bearer, apikey, digest, oauth1, oauth2, awsv4, ntlm, wsse.
runtime
The runtime section contains scripts and assertions that execute during the request lifecycle.runtime.scripts
JavaScript code to run at different points in the request lifecycle.runtime.assertions
Declarative assertions without writing JavaScript code.settings
Request-level settings.docs
Request-level documentation in Markdown format.Collection Root File (opencollection.yml)
The opencollection.yml file at the root of a collection replaces bruno.json. It holds the collection name, collection-level request defaults, configuration, and Bruno-specific extensions.
Mapping from bruno.json
The
scripts.moduleWhitelist and scripts.filesystemAccess settings from bruno.json have no equivalent in opencollection.yml. See Whitelisting Modules for how these settings work in the Bru format.Environment Files
Environments are stored as.yml files in the environments folder of the collection (for example, environments/development.yml). Each file contains the environment name and its variables.
Each entry in
variables supports: