Actively in development • Preview release on: Jan 5, 2026
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.

Open Source
Git Friendly
Tool Agnostic
get-orders.yml
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.

Human readable
Git friendly
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
10x
Collaboration
Possibilities
0
Lock-in
1
Specification
🔧

Variables

Define once, use everywhere. Switch between environments instantly. Keep secrets safe. Make your API collections truly portable.

🏠
Local
🚧
Staging
🚀
Production
{{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.

Assertions
Post-response tests
All tests passed
Status code is 200
Response time < 500ms
Contains user data