Collections & requests
Multiple named collections, each with saved requests. Pick a row to load method, URL, headers, and body into the editor.
A native REST client for sending requests, organizing collections, and importing OpenAPI—without a browser tab farm.
Sidebar collections, saved environments, and a focused editor—similar in spirit to Yaak or Insomnia, shipped as a small native binary.
Multiple named collections, each with saved requests. Pick a row to load method, URL, headers, and body into the editor.
Per-collection environments with base URL and variables. Everything is stored as JSON under your user config directory—auto-saved on exit, with Save all when you need it.
Import JSON specs into a new collection—one request per operation. Path {id} placeholders become {{id}} for variables. Fetch from a URL or load a local file.
GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Custom headers, raw JSON body, response status and headers, pretty-printed JSON bodies.
Send and cancel on a worker thread so the interface stays responsive while requests run.
Material-style theme with system-aware light/dark support and optional overrides via environment variables or CLI flags.
APIkulture uses CMake, Slint, and optional OpenSSL for HTTPS. See the repository README for full prerequisites and platform notes.
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
./apikulture
Need the Slint C++ SDK? Set SLINT_DIR to your extracted SDK, or let CMake fetch Slint (Rust toolchain required). On Linux, you may need LD_LIBRARY_PATH so libslint_cpp.so is found—details are in the Slint releases and project README.