Version 0.1 Now Available
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.
Bruno CLI CI/CD Docs VSCode
🔧
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.
✓ Status code is 200
✓ Response time < 500ms
✓ Contains user data