An open format for API collections
A modern, developer-first specification pioneered by Bruno for defining and sharing API collections. Designed for simplicity and collaboration.
info:
name: Get Orders
type: http
seq: 1
http:
method: GET
url: "https://echo.usebruno.com/orders"
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5 One Spec, Many Possibilities
A clear, open spec you can build on, adapt, and integrate anywhere.
Plain YAML format
No proprietary formats. No binary files. Just readable YAML that you can edit in any text editor, diff in git, and understand at a glance.
http:
method: POST
url: "https://echo.usebruno.com/users"
headers:
- name: "Authorization"
value: "Bearer {{token}}"
body:
type: json
data: |-
"name": "John Doe",
"email": "john.doe@example.com"
Works everywhere
Import into Bruno, execute via CLI, automate in CI/CD, generate docs, edit and run in VSCode - OpenCollection fits into every part of your workflow.
Variables
Define once, use everywhere. Switch between environments instantly. Keep secrets safe. Make your API collections truly portable.
{{baseUrl}}/api/v1/users
https://api.myapp.com/api/v1/users
Built-in testing
Write tests that actually run. Validate responses, check status codes, and ensure your APIs work as expected. CI/CD friendly out of the box.