bolla replaces your API client, load tester, mock server, and CI runner with a single plain-text file in your git repo. No account. No cloud proxy. No vendor lock-in.
Each one requires its own definition format, its own sync strategy, its own learning curve — and none of them talk to each other.
Bruno / Postman / Insomnia — define your requests, organize collections
Locust / k6 / Gatling — write Python or JS scripts to describe the same endpoints
Mockoon / WireMock — configure mocks in yet another format for local dev
Newman / bru CLI — wire everything together for pipelines, maintain separate gate config
Core features are always on. Every module beyond that is independently toggleable — disable what you don't use and it vanishes from the UI entirely.
Full HTTP, GraphQL, WebSocket, and SSE support. Variables, environments, Bearer/Basic/API key/OAuth2 auth. Collections in plain YAML files — git-trackable by design.
CoreMulti-step realistic scenarios. Ramp-up profiles, constant load, or spike bursts. Live p50/p95/p99 latency histograms and RPS charts. Built on HDR histogram — O(1) memory regardless of sample count.
CoreSpins up an HTTP mock from your collection on any port. Returns saved examples by name, or auto-generates realistic fake data from field names (email, uuid, phone, price…) — no config needed.
OptionalHeadless --ci mode exits 0 or 1. Define latency gates, error rate budgets, and throughput floors per scenario. Outputs JUnit XML + JSON for any CI system. Zero dependencies beyond the binary.
Client credentials, authorization code + PKCE, and device flow — all built in. AES-256-GCM encrypted token cache. Google, GitHub, and Microsoft presets. BYO provider.
OptionalImport any OpenAPI 3.x / Swagger 2.x spec and generate a full collection in one click. Drift detection alerts you when a live response no longer matches the spec — persisted to SQLite for trending.
OptionalBrowse, filter, and export all past runs. Run-to-run comparison shows exactly where p50/p95 regressed. Export to CSV, HTML, or JSON. Compare two load runs side-by-side with delta percentages.
OptionalCode snippet generator (cURL, Python, JS, Go). Import from cURL commands or HAR files. Security linter with 8 rules. Auto-generated HTML docs site from your collection. Team dashboard with aggregate stats.
OptionalBYO Anthropic key — no subscription required. Get assertion suggestions from any response. Plain-English CI report summaries and load test analysis. Key stored in memory only, never written to disk.
OptionalA .bolla.yaml file is the source of truth. Write it by hand, generate it from an OpenAPI spec, or import from a cURL command. It lives in your repo, travels with your code, and stays readable in any text editor.
bolla --ci --request <id>GET /api/polish/docs generates a live HTML docs pagebolla isn't just another API client — it's the tool that replaces the whole stack.
| Capability | ● bolla |
Bruno | Postman | k6 | Apidog |
|---|---|---|---|---|---|
| Request builder & collections | ✓ | ✓ | ✓ | — | ✓ |
| Load & stress testing | ✓ | — | paid | ✓ | ✓ |
| Built-in mock server | ✓ | — | cloud | — | ✓ |
| CI gates (exit 0/1) | ✓ | bru CLI | Newman | ✓ | paid |
| OpenAPI import + drift | ✓ | import only | ✓ | — | ✓ |
| Git-native plain text | ✓ | ✓ | — | ✓ | optional |
| Fully offline / no account | ✓ | ✓ | — | ✓ | — |
| Free, no seat limit | ✓ forever | ✓ | 1 user | ✓ | 3 users |
| Single definition for all of the above | ✓ | — | — | — | partial |
A single static binary. No runtime. No npm install. No Docker required.
The installer detects your OS and architecture, downloads the right binary, and puts it on your PATH.
bolla is free for individuals and teams — no seat limits, no cloud subscription, no usage caps. Ever.