A fast, native REST workspace for composing requests, inspecting responses, and keeping an exact local history.
PostOwl is a local-first desktop API client built for focused request work. It combines a compact native shell with a precise request editor, response telemetry, scripting, environments, and persistent history—without requiring an account or remote service.
- Compose HTTP requests with query parameters, headers, and JSON or text bodies.
- Reuse values through local environments and variable substitution.
- Run isolated QuickJS scripts before requests and after responses.
- Inspect status, timing, captured size, headers, assertions, and script logs.
- Automatically preview JSON, XML, sandboxed HTML, and supported images.
- Preserve response history in a local SQLite workspace.
- Import and export complete workspaces as JSON.
- Navigate the full request and response workflow with the keyboard.
- Tauri 2 and Rust for the native application
- SolidJS for the interface
- SQLite for local persistence
- QuickJS for request and response scripting
- WebDriverIO for native end-to-end coverage
- Node.js 22 or newer
- pnpm 11
- Rust 1.88 or newer
- The Tauri system prerequisites for your platform
pnpm install
pnpm tauri devpnpm check
cargo test --manifest-path src-tauri/Cargo.toml
pnpm test:e2eThe native end-to-end suite builds PostOwl with its test-only WebDriver feature and uses an isolated temporary data directory.
pnpm tauri buildGenerated bundles are written beneath src-tauri/target/release/bundle/.
src/ SolidJS application
src/lib/components/ Request, response, environment, and sidebar UI
src-tauri/src/ Tauri commands, HTTP execution, scripting, and SQLite
scripts/ Release and version synchronization utilities
tests/e2e/ Native WebDriver workflow coverage
PostOwl stores workspaces and response history locally. Workspace exports can contain request URLs, headers, bodies, scripts, environment values, and recorded responses; review exported files before sharing them.