postly GitHub ↗

THE NATIVE, LOCAL-FIRST API WORKSPACE

API work.
Back in
your hands.

Import a collection. Inspect the response. Run the tests. Commit the files.

One project, from your desktop to your terminal. No account in between.

Try Postly ↗ Watch the 66-second demo ↓ Open source · MIT · Built with Rust
Current UI: 0.2.0 preview. Release status
YOUR REQUESTS. YOUR REPO.DESKTOP + CLI / ONE CORE

01 / THE WORKSPACE

Room for the response.

REAL NATIVE APP · macOS

66 seconds. Actual loopback API. Silent, captioned, normal speed.

Full player & transcript ↗Full-resolution screenshot ↗

02 / FROM MIGRATION TO A COMMIT

A request is only
the beginning.

Keep the whole API workflow together.
Postly's desktop and CLI read the same project.

01

Bring your collection.

Import Postman or local OpenAPI files in the app. Review migration warnings before opening your new workspace.

Migration guide ↗
02

Look closer.

Edit a parameter, send a real request and inspect the body. Compare JSON against a saved example, with explicit exclusions for changing fields.

Desktop workflows ↗
03

Make it repeatable.

Run saved requests and assertions in the app or terminal. Review plain-text TOML changes with an ordinary Git diff.

CLI reference ↗

03 / A SMALL, REAL FIRST PROJECT

Hello, local.
Goodbye, setup maze.

The built-in Orders example creates a workspace and starts a loopback API. Send a request, change paid to pending, and see the response change.

No account, API key or external service. Native assertions need no Node.js.

Walk through the example ↗
THE SAME WORKSPACE, IN YOUR TERMINAL
postly demo ./orders-demo --port 3979

Leave the server running. In another terminal:

postly run ./orders-demo
EXPECTED STARTER RESULT2 requests. 5 assertions.

Both requests pass against the built-in API.
Change the checks; run them again.

Requires the current preview binaries or a source build.
The old v0.1.0 release does not include this example.

04 / CAPABLE, WITH CLEAR BOUNDARIES

Local by design.
Honest by default.

Files you can review.

One request per TOML file. Collections belong beside your code. Local environment values and runtime state stay out of ordinary commits.

More than REST.

HTTP, GraphQL, SSE, WebSocket and gRPC workflows share the Rust core. Read each protocol's guide for its supported behavior.

No compatibility theatre.

Postman migration has documented limits. Scripts are opt-in and require Node.js. Unsupported or ambiguous fields produce diagnostics.

Read the compatibility evidence ↗

Your data stays yours.

No Postly account or hosted workspace required. Remote requests still contact the endpoints you choose; local-first doesn't make a remote API offline.

Read the privacy model ↗

05 / EARLY SOFTWARE, OPEN DEVELOPMENT

Put your next
request in Postly.

The redesigned desktop ships in the public 0.2.0-preview.1 for macOS Apple Silicon. The older v0.1.0 archive does not contain the UI shown here.

This preview is ad hoc signed and not notarized. Clean-machine, Developer ID, Windows/Linux and Intel macOS validation remain open.