Repository navigation
Releases
ApiWorkbench 1.4.0
The Postman gaps release: scripts, every Postman auth type, cookies, the console, streaming protocols, gRPC, and the formats Postman reads and writes. 1.3.1 was never published separately; its changes (arm64 builds, Windows zip, Microsoft Store packaging, privacy policy) ship here too.
Added
- Scripts. Pre-request and post-response scripts run with Postman's
pmAPI on an embedded QuickJS engine (built from source for every
platform, including arm64). Scripts run at collection, folder and
request level, in Postman's order.- Variables:
pm.environment,pm.collectionVariables,pm.globals,
pm.variablesandpm.iterationData. - Requests:
pm.request(pre-request scripts can change it),
pm.response,pm.sendRequestandpm.cookies. - Tests:
pm.test,pm.expect(chai) and thepm.response.to.*
assertions. - Flow:
pm.execution.skipRequestandpostman.setNextRequestin the
runner. - Libraries: lodash, crypto-js, moment, uuid, tv4 and ajv through
require(). console.*output goes to the Console.pm.visualizeroutput appears in a new Visualize response tab.- Scripts get a timeout, a memory cap, and no file system access.
- Variables:
- Auth. OAuth 2.0 with every grant: authorization code with PKCE,
implicit, password and client credentials. "Get new access token" signs in
through the system browser and a local redirect listener. Tokens refresh
automatically, and a saved-token list is kept per request.- Also: OAuth 1.0, Digest, NTLM, AWS Signature v4, Hawk, Akamai EdgeGrid
and JWT Bearer. - Requests can inherit auth from their folder or collection.
- Also: OAuth 1.0, Digest, NTLM, AWS Signature v4, Hawk, Akamai EdgeGrid
- Collection and folder settings: auth, scripts and description for each
collection and folder. - Cookies:
- An RFC 6265 cookie jar. It keeps cookies from every response (redirect
hops included) and sends them back. - A cookie manager to browse, add, edit and delete cookies.
- A Cookies response tab.
- Settings to turn the jar off app-wide and per request.
- An RFC 6265 cookie jar. It keeps cookies from every response (redirect
- Console. Every request on the wire, redirects included, with headers
and bodies, plus script output. It has filters and search, and secret
values are masked. - Request settings: a per-request Settings tab for following redirects,
the redirect limit, keeping the method and Authorization on redirects,
certificate checks, URL encoding, the cookie jar and the timeout. - Proxy and certificates:
- Proxy: none, system (environment variables) or custom, with a login and
a bypass list. - An extra trusted CA certificate.
- Client certificates (mutual TLS) per host, as PEM or PFX.
- Proxy: none, system (environment variables) or custom, with a login and
- Variables:
- A Globals scope.
- Separate initial and current values. Scripts and captures write current
values; you can reset or persist them. - Secret variables, masked in editors, the Console, docs and reports.
- New request types:
- WebSocket: composer, saved messages, ping and auto-reconnect.
- Socket.IO: event listeners and emit with acknowledgements.
- MQTT: subscriptions, publish, QoS, retain and last will.
- Server-Sent Events, with reconnect and
Last-Event-ID. - gRPC: services from server reflection or imported
.protofiles; all
four call types, metadata, TLS and deadlines.
- GraphQL:
- Fetch the schema by introspection.
- Browse it in an explorer and click to insert fields with their
variables. - Field suggestions while you type, and a prettifier.
- Path variables:
:idsegments get their own table under Params, and
values are filled in on send. - Code snippets in 19 languages: cURL, HTTPie, wget and PowerShell;
Python, JavaScript and Node; Java, Kotlin, C# and Go; PHP, Ruby, Swift,
Dart and Rust. Snippets use the resolved request, with auth, or with
{{variables}}kept as written. - Bulk edit for params, headers and form fields, as
key: valuelines. - Response tools:
- A Preview tab for HTML, images, SVG and PDF, and a hex view for binary
bodies. - Save the response body to a file.
- Find in body (Ctrl+F).
- A full-body view beyond the 64 KB preview.
- A Preview tab for HTML, images, SVG and PDF, and a hex view for binary
- Saved response examples: save a response as an example, then edit,
duplicate or delete it from the collection tree. - Import and export:
- Postman: export collections (v2.1), environments and globals. Postman
imports now keep scripts, examples, path variables, inherited auth,
folder settings, globals and secret variables. - OpenAPI 3.0 and 3.1 and Swagger 2.0: import (JSON or YAML) and export
(OpenAPI 3.0). - HAR: import, with static assets left out.
- Postman: export collections (v2.1), environments and globals. Postman
- Runner and CLI:
- The collection runner takes CSV or JSON data files.
- New
apiworkbench-clicommand, a Newman-style runner for CI. It runs a
workspace export or a Postman collection with environment, globals and
data files, and writes cli, JSON, JUnit and HTML reports. It ships in
the .deb, the tarball, the snap (apiworkbench.cli) and the Windows
zip.
- Collection docs and history:
- Generate documentation for a whole collection, as one HTML page or as
Markdown. - Local version history for collections, with a diff and restore.
- Generate documentation for a whole collection, as one HTML page or as
Changed
- Redirects are followed by the app, hop by hop, so cookies and the Console
see each one. The Authorization header is dropped when a redirect leaves
the original host. - GET requests send their body when one is set, like Postman. HEAD never
does. - Saving a request keeps its place in the collection.
- On Android, iOS and macOS, HTTP/3 falls back to HTTP/1.1 when a proxy,
CA, client certificate or "don't verify" is set, because the platform
network stacks don't apply those settings.
Install: the Linux and Windows packages (x64 and arm64) are attached below; the Android APK is ApiWorkbench-1.4.0.apk. Snap: sudo snap install apiworkbench. Full notes: CHANGELOG.md.
ApiWorkbench 1.3.0
ApiWorkbench 1.3.0
New
- Hover help: every field, tab, button and badge explains itself with a title, a plain explanation and an example. HTTP methods and status codes are described in plain words. Long-press on touch screens. Turn it off in Settings.
Phone and layout polish
- Every screen fits at phone, tablet and desktop sizes:
- heavy dialogs go full-screen on phones;
- the runner scrolls as one page;
- assertion rows and load-test logs stack on narrow screens;
- body-type chips scroll sideways;
- touch targets are 44 px or more.
- Layout sweep test: renders every screen at 7 sizes (320–1440 px) in each theme and fails on any overflow, overlap or small touch target.
Less flicker
- Theme switches happen in one frame, with no leftover colors.
- Chaos effects no longer replay when you switch tabs.
- The response cross-fade no longer flips content partway through.
- Dragging the splitter or panel no longer redraws the editor.
- Each request tab remembers which editor and response tab you had open.
Fixes
- A crash when the Save, Rename or Import cURL dialogs closed.
- A row taking on the wrong assertion type after another row was removed.
Install
sudo apt install ./apiworkbench_1.3.0_amd64.deb, or sudo snap install apiworkbench. On Android, install ApiWorkbench-1.3.0.apk directly; it's signed with a development key, so it isn't a Play Store build.
ApiWorkbench 1.2.0
ApiWorkbench 1.2.0
New: import from Postman
Click Import on the left rail (or press Ctrl+O), or use Import into collection / folder from any collection or folder menu.
- Formats: collections (v1, v2.0, v2.1), single requests or folders, environments, globals and Postman's full Export data dump, plus ApiWorkbench workspaces. Choose files or paste JSON.
- Destination: a new collection, or an existing collection or folder. Existing requests and variable values are never overwritten.
- Carried over: nested folders, auth inherited from the collection or folder (Bearer, Basic, API key, OAuth 2.0 with a saved token), collection variables,
:idpath variables, disabled params and headers, descriptions, and every body type. - Scripts: ApiWorkbench doesn't run JavaScript. Common
pm.testchecks (status, response time, headers, body text, JSON values) become Tests, andpm.environment.set(...)-style lines become Captures. The original scripts are kept under Docs. - Preview: before importing, a preview lists anything that couldn't be carried over: saved response examples, and the Digest, OAuth 1.0, AWS Signature, NTLM, Hawk, Akamai EdgeGrid, JWT and ASAP auth types.
Also new
- Folders: collections show a folder tree. Run, load-test or import into any collection or folder.
- Collection variables: variables scoped to a collection; the active environment wins on a name clash.
- Dynamic variables: Postman-style values such as
{{$guid}},{{$timestamp}}and{{$randomEmail}}are generated on send. - Captures: save response values (
token = body.data.token,etag = header.ETag) into variables for later requests, in the editor, runner and load tester. - New body types: multipart form-data with file fields, and binary file bodies.
- Docs tab: a description for each request.
Redesign
- Navigation: an icon rail (Collections, Environments, History, Import, Export, theme, Settings) with a resizable, collapsible side panel. Request tabs, breadcrumbs with Save (Ctrl+S), and an environment picker in the top bar.
- Themes: Teal in light and dark, following your system setting by default, and Graphite and orange. Switch from the rail or Settings › Appearance.
- Logo: a new braces-and-bolt logo on every platform.
Install
sudo apt install ./apiworkbench_1.2.0_amd64.deb
or sudo snap install apiworkbench.
Android: install ApiWorkbench-1.2.0.apk directly (sideload). It's signed with a development key, so it isn't a Play Store build.
ApiWorkbench 1.1.0
ApiWorkbench 1.1.0
New: load testing
Open any request's ⋮ → Load test (parallel calls)…, or Load test collection… from a collection's menu.
- Parallel calls: up to 1,000 parallel users, each sending its own copy of the request at the same time.
- Repeat: a set number of iterations per user, a fixed duration, or until you press Stop. Ramp-up and think time are supported.
- Multi-step journeys: collection requests run one by one (values extracted from a response, e.g.
token = body.data.token, are passed to later requests as{{token}}) or all at once. - Live results: throughput chart, error rate, and p50/p95/p99 latency overall and per request, with status-code and error breakdowns.
- Call log: every call is recorded with its time, user, iteration, status, latency, size, pass/fail and error. Response bodies can be kept for none, only failed, or all calls (64 KB each). The log is written to disk, so long runs don't grow memory.
- Reports: save an HTML report (summary, latency, call log, saved responses), a CSV log of every call, or a JSON export with every call and saved response.
Lighter on memory
- The runner keeps bounded result summaries; stats still cover the whole run.
- Response previews decode at most 64 KiB (full bytes stay available for tests, copy and export).
- JSON formatting is cached; network clients are closed when replaced.
Phone layout
Bottom request/response navigation, status badges, request progress, a full-width URL field and larger touch targets.
Install
sudo apt install ./apiworkbench_1.1.0_amd64.deb
or from the Snap Store: sudo snap install apiworkbench.
Android: install ApiWorkbench-1.1.0.apk (sideload; signed with a development key, so it is not a Play Store build).
Only load-test servers you own or have permission to test.
v1.0.0
ApiWorkbench v1.0.0
A fast, cross-platform API client — one Flutter codebase for Linux, Windows, macOS, Android and iOS.
Highlights
- Request builder — all HTTP methods incl. the new QUERY; query params, headers, JSON / text / XML / form / GraphQL bodies; Bearer / Basic / API-key auth.
- Protocols — HTTP/1.1, HTTP/2 (ALPN), and HTTP/3 (QUIC) with automatic fallback.
- Organise — collections,
{{variable}}environments, request history, multi-tab editing. - Test — response assertions (status, JSON path, headers, latency) and a collection runner with recurring and data-driven runs.
- Share — cURL import/export, workspace import/export, Markdown docs export (secrets auto-masked).
- Dev-friendly — self-signed cert support, configurable timeouts, resizable panes, keyboard shortcuts.
- 🎲 Chaos Mode — a Focus/Chaos toggle that plays a meme sound per status code (confetti on success, screen-shake on errors), plus a sound library for importing your own clips.
Downloads
| Platform | File |
|---|---|
| Android | ApiWorkbench-1.0.0.apk |
| Linux (Debian/Ubuntu) | apiworkbench_1.0.0_amd64.deb |
Install
- Android: enable "install unknown apps", then open the APK.
- Linux:
sudo apt install ./apiworkbench_1.0.0_amd64.deb
Checksums (SHA-256)
95dc5609d19fef8f14f1a73c1e27b5fc84c59f7123f4b6d07b2c878d730ad7fc ApiWorkbench-1.0.0.apk
792463137d2612e3c2f3b78fc0c5b97e9bea8e93f242ed05c4b6e8a7ad15b494 apiworkbench_1.0.0_amd64.deb
Notes
- The Android APK is signed with a debug key (fine for sideloading; a release keystore is needed for Play Store).
- Windows / macOS / iOS builds require those OSes to compile and aren't attached here.