Fully local & private
No account, no cloud sync, no telemetry. Your data never leaves your device.
Synapse is an offline desktop IDE for REST services, a lightweight client that keeps your data 100% on your device.
No login. No cloud synchronization. No telemetry. Just your APIs.
{
"id": "login",
"name": "Login",
"method": "POST",
"url": "{{selector.environment.BASE_URL}}/auth/login",
"headers": {
"Authorization": "Bearer {{secrets.API_KEY}}"
},
"postScriptLines": [
"TOKEN = response.body.accessToken",
"run:parse-token"
]
}
Everything is stored as plain JSON files on your filesystem. It works offline, it works with Git, and it behaves the way developers expect tools to behave.
No account, no cloud sync, no telemetry. Your data never leaves your device.
Fast, lightweight app for Linux, macOS, and Windows. Built with Kotlin Compose Multiplatform.
Plain JSON files you can diff, branch, merge, and review in PRs like any other code.
Define as many independent dropdowns as your project needs (environment, team profile, device, or any custom parameter). Flip one and every request retargets at once via {{templates}}.
Edit a JSON file on disk and the UI updates instantly. No manual reload.
No cloud paywall, no per-seat pricing, no feature tiers.
Import a .env once; Synapse encrypts its values with a machine-local key and stores them outside your repo. Reference values as {{secrets.KEY}}; nothing is tracked in Git or readable by AI agents.
Structured JSON workspace in predictable paths, easy for LLMs and AI agents to read, generate, and edit.
A workspace is just a folder. Collections, selectors, and scripts are plain files you control.
Each workspace is a plain folder with a workspace.json, a collections/ folder of requests, and a selectors/ folder, plus an optional scripts/ folder.
my-workspace/
├── workspace.json ← workspace name
├── collections/ ← HTTP requests
├── selectors/ ← dropdowns
└── scripts/ ← automation
Each .json in collections/ is one request. Templates work in url, headers, queryParams, and body.
{
"method": "GET",
"url": "{{selector.env.BASE_URL}}/products/{{selector.profile.PRODUCT_ID}}"
}
Selectors are toolbar dropdowns. Define one per dimension (environment, team profile, device, or any custom parameter), then flip any of them and every request that references it retargets instantly.
{{selector.environment.BASE_URL}}
{{selector.profile.PRODUCT_ID}}
{{selector.device.USER_AGENT}}
Extract values from responses into session variables, or run custom Kotlin .kts scripts for JWT decoding, HMAC signatures, and multi-step flows.
TOKEN = response.body.accessToken
run:parse-token
# → {{script.TOKEN}} everywhere
API keys, tokens, and passwords don't belong in plain JSON or Git history. Import a .env once and Synapse keeps them in an encrypted, machine-local vault saved outside your repository.
{{secrets.KEY}} placeholder by default.{
"headers": {
"Authorization": "Bearer {{secrets.API_KEY}}"
}
}
At send time Synapse decrypts the value on the fly and injects it.
Everything you might want to know before you download.
Synapse is a lightweight alternative to Postman, Bruno, and Insomnia. Unlike Postman or Insomnia, it works completely offline and needs no account or cloud synchronization. Unlike all of them, it uses Kotlin for custom scripts.
Completely. There is no sign-in, no cloud synchronization, and no telemetry. The only network traffic Synapse generates is the HTTP requests you send to your own APIs.
In a directory you choose on your filesystem. Each workspace is a folder containing workspace.json, a collections/ folder of requests, and a selectors/ folder, all plain JSON you can commit to Git.
macOS, Windows, and Linux. Synapse is a native desktop app built with Kotlin Compose Multiplatform.
Yes. Secrets are encrypted in a local vault saved outside your repository, so they never reach Git. Resolved values are shown as their {{secrets.KEY}} placeholder by default.
Yes, that's a core design goal. Every request and selector is structured JSON in a predictable path, so LLMs and coding agents can scaffold entire workspaces with no special tooling. The import-synapse-workspace skill converts an existing API collection automatically.
Yes. GraphQL runs over HTTP: send a POST request with a JSON body containing your query and variables.
Yes. Send a GET or POST request with an XML body.
Yes. Kotlin scripts (.kts) run before or after a request and can supply any value it needs.
Free, native, and offline. Pick your platform and start sending requests.
.deb package · Debian / Ubuntu
Recommended: installation via CLI
curl -fsSL https://synapse-app.org/install-linux.sh | sh
or manual installation
Download.dmg installer · Apple Silicon & Intel
Recommended: installation via CLI
curl -fsSL https://synapse-app.org/install-mac.sh | sh
or manual installation macOS note for manual installation: The first time you open Synapse, macOS may block it, because the app is downloaded from the web and not signed yet. Go to System Settings → Privacy & Security, scroll down to Security, find “Synapse” was blocked to protect your Mac, and click Open Anyway.
Download.msi installer · 64-bit
Recommended: installation via CLI
irm https://synapse-app.org/install-windows.ps1 | iex
or manual installation Windows note for manual installation: The first time you open Synapse, Windows Defender SmartScreen may block it, because the app is downloaded from the web and not signed yet. In the “Windows protected your PC” dialog, click More info and then Run anyway.
Download
import-synapse-workspace turns an existing API collection export (OpenAPI/Swagger,
Postman, Insomnia, Bruno, RapidAPI, HAR, or curl) into a ready Synapse workspace. Built on the
agent-skill standard, so any compatible AI coding assistant can run it. Unpack it into your
assistant's skills folder.