Baton
API Development. Synced.

Your API collections, in your own git repository.

Baton keeps requests, environments, and schedules as plain YAML files in a repository you own. Review changes in a pull request. Run them on a schedule from a worker you host. No vendor cloud in the middle.

Get Baton Try it in the browser User manual

Free for personal use on macOS, Windows, Linux and the web · on the App Store and Google Play. The web app opens a demo workspace, nothing to install.

How it works

  1. Point it at a repository. Open a git checkout, start from the demo, or import from Postman, Insomnia, Bruno, Yaak, an OpenAPI document or a curl command.

  2. Send requests, commit the changes. Every request, environment and schedule is a YAML file, so a change is a diff you review in a pull request.

  3. Run them unattended. A worker you host runs collections on a schedule, and baton-worker run runs them in CI.

The tour

35 seconds, with sound. Also on YouTube.

The user manual comes in two guides, each also a PDF for reading offline: desktop (PDF) and iPhone and Android (PDF).

What you get

Every request is a file. Every change is a commit. Every secret stays in your keychain.

Get a key and a build

Registration is free. Your key is valid for 180 days, verified offline — the app never calls home.

Already registered and your key expired? Request a fresh one.

Downloads

Loading the current release…

Every desktop build's SHA-256 is listed above and in version.json, which is also what the app checks for updates. Phones and tablets install from the store.

Baton Worker — optional, and yours

A small Node service you run yourself. The app is complete without it; the worker adds the things a desktop app cannot do alone — running collections on a schedule while your laptop is shut, reaching an API that sends no CORS headers, and giving the browser build a real git checkout.

It is not a service we operate. There is no account, and nothing about your requests reaches us.

docker run -d --name baton-worker \
  -p 8787:8787 \
  -e BATON_WORKER_TOKEN=pick-a-long-secret \
  -e BATON_GIT_URL=https://github.com/you/your-apis.git \
  -v baton-data:/data \
  ghcr.io/dudko-dev/baton-worker:latest

The worker clones that repository itself and re-checks it every five minutes; it never reads the machine running the app.

Then pair it from the app: the sidebar's worker row, or Baton Worker in the command palette. The worker dialog lists every option and the schedule format.

Commercial licensing for the worker and the packages beyond the small-entity thresholds: siarhei@dudko.dev.

Questions

Is Baton free?

For personal, non-commercial use, yes. Register with your email and you get a key for 180 days; renewing it is free too. The key is checked offline — the app never calls home.

Can I use it at work?

Not under the free license — it covers personal, non-commercial use only. For use inside a company, write to siarhei@dudko.dev.

Does anything I send reach you?

No. Requests go from your device, or from a worker you host, straight to your APIs. The app sends no usage data, and its only call to this site is the update check, which carries no identifier.

Can I bring my Postman collections?

Yes: Postman collections (v2.x) and environments, Insomnia, Bruno and Yaak exports, OpenAPI 3 and Swagger 2 documents, and a pasted curl command.

Which git hosts does it work with?

The desktop downloads work with any repository git can reach. In the browser, on phones and in the Mac App Store build, Baton commits through the host's API: GitHub, GitLab or Bitbucket.

Do I need the worker?

No. The app is complete without it. The worker adds runs on a schedule while your laptop is shut, a relay for APIs that send no CORS headers, and a real git checkout for the web app.

Does it work offline?

The desktop apps do: your workspace is files on disk and the key is verified offline. Syncing needs a route to your git host, and the web app needs this site to load.

What about iPhone and Android?

Install Baton from the App Store or Google Play. The store builds need no key.

Get Baton

Free for personal use. The desktop builds take a key sent to your email; the web app needs nothing.

Get Baton Try it in the browser User manual