Local-first · Git-native · Free forever

The API client that stays on your device — under your control.

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.

  • Fully local & private
  • Plain JSON collections
  • Linux · macOS · Windows
collections/login.json
{
  "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"
  ]
}

Why choose Synapse?

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.

Fully local & private

No account, no cloud sync, no telemetry. Your data never leaves your device.

Native desktop app

Fast, lightweight app for Linux, macOS, and Windows. Built with Kotlin Compose Multiplatform.

Git-native collections

Plain JSON files you can diff, branch, merge, and review in PRs like any other code.

Multiple selectors

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}}.

Live file watching

Edit a JSON file on disk and the UI updates instantly. No manual reload.

Free, no subscription

No cloud paywall, no per-seat pricing, no feature tiers.

AI-safe secrets

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.

AI-agent friendly

Structured JSON workspace in predictable paths, easy for LLMs and AI agents to read, generate, and edit.

How it works

A workspace is just a folder. Collections, selectors, and scripts are plain files you control.

1

Organize workspaces as folders

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
2

Define requests in JSON

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}}"
}
3

Switch context with selectors

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}}
4

Automate with scripts

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
AI-safe secrets

Your keys never touch your repo

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.

  • The encryption key is valid only on your device and is never written to disk.
  • Saved per project in Synapse's local config, never in the workspace or repository.
  • Teammates' checkouts and AI agents reading the repository can't see them.
  • Resolved values are shown as their {{secrets.KEY}} placeholder by default.
request headers
{
  "headers": {
    "Authorization": "Bearer {{secrets.API_KEY}}"
  }
}

At send time Synapse decrypts the value on the fly and injects it.

Frequently asked questions

Everything you might want to know before you download.

Which tools is Synapse similar to?

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.

Does Synapse work offline?

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.

Where is my data stored?

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.

Which platforms are supported?

macOS, Windows, and Linux. Synapse is a native desktop app built with Kotlin Compose Multiplatform.

Are my secrets safe?

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.

Can AI tools generate Synapse collections?

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.

Does Synapse support GraphQL requests?

Yes. GraphQL runs over HTTP: send a POST request with a JSON body containing your query and variables.

Does Synapse support SOAP requests?

Yes. Send a GET or POST request with an XML body.

Can I run custom scripts?

Yes. Kotlin scripts (.kts) run before or after a request and can supply any value it needs.

Download Synapse

Free, native, and offline. Pick your platform and start sending requests.

Synapse AI skills

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.

Docu