macOS Apple silicon
brew install --cask zanmato/tap/broquestThe app is not notarized. If you download the archive yourself, clear the quarantine flag after unpacking it:
xattr -r -d com.apple.quarantine Broquest.app
Rust and GPUI · Apache 2.0
Broquest runs on Linux, macOS and Windows. Collections are folders of TOML files, and requests can run JavaScript before they are sent and after the response arrives.
GET {{baseUrl}}/v1/shipments?status=in_transit&destination_country=SE&limit=4 200 OK · 1.1KB
{{baseUrl}} comes from the environment selected next to the method.Each request opens in a tab with its own environment and response.
Each request has a pre-request and a post-response script. Before the request is sent, a script can change its URL, headers and body through req. After the response arrives, a script can read its status, headers and body through res.
bro.setEnvVar saves a value, such as a token, to the selected environment. Scripts run in QuickJS with LLRT modules for crypto, Buffer and URL, and scripts written for Bruno's bru API run as well.
The editor checks syntax as you type, completes the API and has recipes for common scripts such as HMAC signatures.
A collection can have several environments, such as Local, Staging and Production. They are stored in collection.toml.
Reference a variable as {{name}} in the URL, query, path parameters, headers, body and auth. Secret values are masked in the editor and saved to the system keychain.
Filter a JSON response with a JSONPath expression in the field under it.
XML responses are formatted, images are shown inline and PDFs open in the system viewer. The Raw tab shows the final URL, the request headers that were sent and the response headers.
Each request is a TOML file and each group is a folder. A collection can live in the repository of the API it tests, and changes to it show up in diffs and pull requests.
Broquest can also open OpenCollection YAML folders, the format used by Bruno, and save changes back in that format. Support for it is partial.
Auth set on the collection is used by every request that inherits it.
kestrel/ ├─ collection.toml ├─ Health check.toml ├─ Auth/ │ └─ Log in.toml ├─ Rates/ │ └─ Quote rates.toml ├─ Shipments/ │ ├─ Cancel shipment.toml │ ├─ Create shipment.toml │ ├─ Get shipment.toml │ └─ List shipments.toml └─ Webhooks/ ├─ List webhooks.toml └─ Register webhook.toml
[meta] name = "Get shipment" type = "http" seq = "2" [http] method = "GET" url = "{{baseUrl}}/v1/shipments/:id" auth = "none" [[headers]] key = "Authorization" value = "Bearer {{token}}" enabled = true [[headers]] key = "Kestrel-Version" value = "{{apiVersion}}" enabled = true [params.path] id = "KS-48213"
Ctrl K (⌘ K on macOS) to open a request by name or run a command.brew install --cask zanmato/tap/broquestThe app is not notarized. If you download the archive yourself, clear the quarantine flag after unpacking it:
xattr -r -d com.apple.quarantine Broquest.appA single executable, no installer.
sudo apt install ./broquest_0.1.13_amd64.debRuns on Wayland and X11.