"curl is for X-raying one request. For exploring an API, saving requests, building collections, sharing with a team, you reach for friendlier tools. Three are worth knowing."
httpie — curl with Better Defaults
httpie is a curl alternative with sane defaults for JSON APIs. JSON is the default body format; pretty-printing is on; colorized output by default. Same install once via brew/pip; immediately usable.
# httpie equivalent of curl POST + JSON
http POST https://api.example.com/users name=Pippa email=pippa@example.com
# Auth + headers + JSON body
http POST https://api.example.com/users \
Authorization:'Bearer abc' \
Content-Type:'application/json' \
name=Pippa
# GET with query params
http GET https://api.example.com/users role==admin status==active
Notice the syntax: key=value is a JSON body field; key==value is a query parameter; Header:value is a header. Easier to remember than curl's flag soup for ad-hoc work.
Postman — The Team API Workbench
Postman is the elephant: a desktop/web/CLI client that builds collections of requests, parameterized by environment variables, shareable across teams, runnable as automated tests. The headline features:
- Collections — folders of related requests with shared auth and variables.
- Environments — variable sets (
{{base_url}},{{token}}) you swap when targeting dev / staging / prod. - Tests — JavaScript snippets that assert on the response (status code, body shape). Run as automated CI test suites via Newman (Postman's CLI).
- Mock servers — generate a stub server from an OpenAPI spec or collection.
- Documentation — auto-generate API docs from collections.
Used by integration teams, QA, and developers exploring third-party APIs. Free tier covers most personal use; team plans add collaboration features.
Insomnia — The Quieter Alternative
Insomnia is Postman's leaner sibling: same collection model, same environment variables, same tests, simpler UI. Open-source core (Kong acquired the company but kept Insomnia open). If Postman feels heavy, Insomnia is the swap.
Distinguishing features:
- Built-in GraphQL support (query editor with schema introspection).
- gRPC support (calls native gRPC services from the GUI).
- OpenAPI/Swagger import to bootstrap collections.
- Plugin ecosystem for custom auth schemes.
The Bridge Pattern: Save in GUI, Run in CI
The common workflow: explore an API interactively in Postman/Insomnia, save the working requests into a collection, then run that collection as an automated test in CI via Newman (Postman) or Inso CLI (Insomnia). Same requests; different runtime. This is how teams move from "works on my machine" to "works in CI."
cwkPippa's Tooling
/docs serves as a built-in browser-based API explorer (you click endpoints, fill forms, see live responses) without needing Postman. cwk-site uses Postman in CI for integration tests against the Supabase + Vercel stack — Newman runs the collection on every PR build, blocking merge on test failures. Different tools for different stages.