How it works

One URL change. Real staging. Private sandboxes.

Think of FlowMock as a smart middleman. Your app sends requests to FlowMock. FlowMock either returns a mock response or forwards to your real staging API and passes the response back.

Your app  →  FlowMock proxy  →  Staging API
                ↓
           Mock? Return it.
           No mock? Forward.

Three steps

1

Point your app at a FlowMock URL

Create a project, set your real staging API as upstream, and get a proxy URL. Change one base URL in your app — that's the integration.

2

Traffic flows; sessions appear

Requests hit FlowMock first. If a mock matches your session, you get that response. Otherwise the request goes to staging and the response comes back. Everything is logged live.

3

Flip states without colliding

Activate mocks or a whole scenario on your session. Teammates on the same URL keep seeing real staging (or their own mocks). CI uses an explicit session key for the same states.

The pieces

PieceWhat it isPlain English
ProjectA container for one staging API"Our checkout backend"
EnvironmentA proxy endpoint with its own URL"Staging" or "QA"
SessionAn isolated override scope"Alice's sandbox"
MockA response override for a route"Return 402 for POST /pay"
TransformA body patch after mock or upstream"Mark every task done"
ScenarioA bundle of mocks you switch between"Payment declined" preset

Environments share a library, not traffic

Environments (proxy slots) are deployments of the same project. They share one mock library and one set of scenarios, but each gets its own proxy URL and its own traffic. Give staging one, give each parallel QA lane its own, give the mobile team theirs. A scenario saved on one environment is available on all of them — because the library belongs to the project, not the URL.

Session detection is usually zero work

For manual testers, FlowMock reads the identity your app already sends — JWT in Authorization or a cookie, a custom header, or heuristics — so people appear in the session list without setting a special header. Pipelines still use an explicit x-flowmock-session key when they need deterministic isolation. One project setting; your QA team never has to learn the plumbing. Full sources and fallbacks are on the QA Sessions page.

One URL for the whole team

Everyone on QA uses the same proxy URL. Isolation comes from sessions, not separate environments. Alice's empty cart doesn't empty Bob's. CI gets its own key and tears it down when the job finishes.

Prefer the long-form product docs? Start at /docs/how-it-works.

One URL change. That's the whole integration.

Free plan, no card, two-minute setup.