Migrate from Postman in 5 minutes

Export your Postman collection, drop it into Bandura, fill in your secrets, and run — your requests become Git-native .aether flows with no rewrite.

Switching from Postman doesn’t mean starting over. Export your collection, drop it in, and your requests become plain .aether files in your repo — versioned in Git, runnable from the terminal, and editable as a graph or as code. Here’s the whole path, start to finish.

1. Export your collection from Postman

In Postman, right-click your collection → ExportCollection v2.1 → save the .json. If you use Postman environments, export those too (the menu on an environment → Export) — Bandura turns them into your .env so secrets never live in the flow files.

2. Drop it into Bandura

Open a workspace folder (this is where your flows will live as files), then drag the exported .json straight onto the Bandura window. A “Drop to import” overlay confirms it, and the Import dialog opens pre-filled with your collection — already recognized as Postman. Click Import.

Each Postman request becomes its own .aether flow, with headers, body, and path/query params carried over as structured, editable fields (not baked into the URL). Folders are flattened; collision-safe names mean nothing you already have is overwritten.

Prefer menus or paste? File → Import Flows… does the same thing — see the full import guide. Coming from Insomnia or Bruno instead? Those import the same way; export Insomnia as v4 (JSON) first.

3. Bring your environment over

Drop your exported Postman environment file in the same way. Instead of creating flows, Bandura writes its values into a git-ignored .env and records the variable names in your project manifest’s requiredEnv. Your {{baseUrl}}-style references resolve from there — and because secrets live in .env, not in the committed flow files, sharing via Git stays safe.

See Variables & environments for how the resolution order works (manifest environment → .env → per-run overrides).

4. Run it — the muscle memory carries over

Open any imported flow and press ⌘⏎ — the same key Postman uses to send a request. The graph lights up node by node as it runs, and the History panel records every run locally.

Pressing ⌘⏎ on a flow that references a variable you haven’t filled in yet? Bandura points you at the missing value first instead of failing blindly. Fill it in and run again.

5. Chain requests into real scenarios

Postman requests are individual calls; Bandura’s strength is stitching them into flows. A couple of moves that pay off immediately:

  • Capture and reuse — a login request can capture its token (capture: { token: "response.body.token" }) and a later request reads ${{ variables.token }} for its Authorization header. See Variables & environments.
  • Assert, don’t eyeball — add an assertion node after a request (response.status === 200) so a run is pass/fail, not a wall of JSON to read.
  • Add nodes without the docs — right-click the canvas to drop in a prefilled example node (request, assertion, condition, loop…), or use the + Node button. Press ⌘/ anytime for the full keyboard cheat sheet.

6. Commit — Git is your sync from here

There’s no cloud account and no sign-in. Your flows are files; git add, git commit, and you’re done. Teammates clone the repo and run the same flows — no shared-workspace service, no seat limits, no lock-in. See Share flows with Git.

That’s the migration: export, drop, fill in secrets, run. From here on, your API tests are part of your codebase like everything else.