Back to Blog

Your API Workspace Belongs in Git

Version-control your API workspace — RESTK stores requests and environments as plain files in a git repo you own. Commit, branch, PR, and merge like code.

RESTK Team
6 min read

Everything else you build lives in version control. Your application code, your infrastructure, your CI configuration, your database migrations — all of it is versioned, reviewed, and diffed. One part of the stack almost never made it in: your API workspace.

Your requests, your environments, the collection your whole team shares — those usually live in a vendor's cloud or a local binary file. A teammate changes an endpoint and you find out when a test breaks. There is no diff, no review, no history, no way to see who changed what and why.

Today we are fixing that. RESTK now stores your entire API workspace as plain files in a git repository you own — so you can commit, branch, open pull requests, and merge changes to your API workspace exactly like you do with the rest of your code. And for work that should never leave your machine at all, there is a fully local mode with no account and no network.

RESTK is a native app for macOS and Windows, and both of these modes work the same way on each.

APIs as files, in your repo

When you put a workspace in git mode, RESTK writes your requests, environments, folders, and collection runners as readable text files inside a repository you control. Not an opaque export you have to remember to run — the files are the workspace, kept in sync as you work.

That unlocks the entire git workflow you already use every day:

  • Commit a change to an endpoint alongside the code change that motivated it.
  • Branch to build out a new set of requests without touching everyone else's.
  • Open a pull request so an API change gets the same review as any other change.
  • Read the diff — because it is just text, you can actually see what changed: a header added, a URL updated, a body field renamed.

You do not need a separate git client for any of this. RESTK does the git work — staging, committing, branching, pushing, pulling — from inside the app, with a source-control panel built for it. If you prefer your own terminal or editor, that works too, because the files are ordinary files in an ordinary repo.

Real merges, with a visual resolver

The moment two people edit the same request, most tools either overwrite one person's work or hand you a wall of conflict markers to untangle by hand. RESTK does a real merge that keeps both sides instead.

Field-level merge means that when you change a request's URL and your teammate changes its headers on another branch, both changes survive — there is nothing to resolve, because you touched different things. When you genuinely edit the same field, RESTK stops and shows you a visual conflict resolver: your version and their version, side by side, with a clear choice. No hand-editing raw conflict markers in a text file.

Renames and moves are handled as what they are. Renaming a request stays a rename — it does not turn into a delete-and-re-add that loses its history. Moving a request between folders keeps the request intact. These are the cases that quietly lose work in tools that treat your workspace as a bag of lines, and they are exactly the cases we spent the most time getting right.

"But won't that commit my secrets?"

This is the first question everyone asks, and it should be. The answer is no, by design.

Any value you mark as a secret is kept out of your commits. Your teammates can see that the workspace expects that secret — so they know exactly what to fill in — but they never see your actual token or key.

On top of that, a secret scan runs before every commit and push, checking for the kinds of API keys and tokens that get pasted in by accident. If something sensitive is about to enter your repository, RESTK catches it and warns you before it does.

The result is a workspace you can put in a repo without holding your breath: your team shares the requests and the structure, and your credentials stay yours.

Local mode: nothing leaves your machine

Not every workspace should sync anywhere. Sometimes you just want a fast, native API client that keeps everything on your own disk.

That is what local mode is. No account, no login, no network — install RESTK and start working. Your workspace lives in an encrypted database on your machine and goes nowhere. It is the default for anyone who wants the tool without any notion of a backend, and it is always there as the mode where, by construction, there is no server of ours in the loop.

You choose where your data lives — per workspace

Git and local are two of three modes, and the choice is yours for each workspace:

  • Local — Fully offline. No account, nothing leaves your machine.
  • Git — Plain files in a repo you own. Commit, branch, PR, merge. Secrets never committed.
  • Cloud — Real-time sync for teams who want changes to appear instantly across devices.

You are not locked into one. A personal scratch workspace can be local, your team's shared collection can be in git, and a fast-moving project can use cloud sync — all at once, each set the way that work actually needs.

A note on cloud sync, because we would rather be precise than use a bigger word than we can defend: cloud-synced values are encrypted on your device before they are sent, using a rotating per-workspace key. It uses managed encryption — the keys are server-managed, which is what makes team features like invites and device recovery work, and it means we are technically able to decrypt synced data. We do not call that end-to-end or zero-knowledge, because it is not. If you need a mode where that is not even possible, that is exactly what local and git modes are for — and values you mark secret are never synced in any mode. The full picture is in our Security & Encryption documentation.

Try it

Git sync and local mode are available now in RESTK for macOS and Windows.

  • Read the Git Sync guide to put your first workspace in a repo.
  • See Workspace Modes for how local, git, and cloud compare.
  • Or just download RESTK and start local — no account required.

Your code is in version control. Your infrastructure is in version control. Now your API workspace can be too.