Blog
Guides for API developers
How to test, tunnel, inspect and validate APIs — with the trade-offs stated honestly.
Browse by topic
API Testing
3 postsPractical guides to testing REST APIs: request design, assertions, status codes, auth and debugging failures.
Tunneling & Webhooks
3 postsExposing local development servers to the internet, receiving webhooks locally, and inspecting the traffic.
Schemas & Contracts
3 postsJSON Schema, OpenAPI and contract testing — keeping an API and its consumers honest as both change.
Tools & Comparisons
3 postsHonest comparisons of API clients and tunneling tools, and how to migrate between them.
Latest articles
When your API tests pass but production breaks
Your API tests are green and the integration still broke. The usual cause is contract drift — the API changed in a way your tests were never written to notice.
Moving your team off Postman
Postman's free plan no longer includes team collaboration. Here is what actually changed, what it costs, and how to move a team's collections somewhere else.
WebSockets vs Server-Sent Events: which to use
WebSockets and Server-Sent Events both push data to a browser, but they solve different problems. How to choose, and how to test whichever one you pick.
The best free API testing tools in 2026
An honest comparison of the best free API testing tools — SchemaClient, Postman, Insomnia, Bruno, Hoppscotch and more — and exactly where each free tier ends.
Free localhost tunneling — a public URL for your dev server
Tunnel localhost to a public URL for free. What localhost tunneling is, when you need it, and how SchemaClient, ngrok and cloudflared compare on free tiers.
A free webhook testing tool that reaches your localhost
Test webhooks against your local server for free: a public URL for localhost, live delivery inspection, and Stripe or GitHub webhook debugging.
How to test a GraphQL API
Send queries and mutations, handle the errors array, use introspection instead of guessing field names, and validate GraphQL responses properly.
REST vs GraphQL: how testing differs
REST and GraphQL take opposite approaches to fetching data. Here is how testing each one differs in practice, and when to reach for which.
Validating an API against its OpenAPI spec
Import an OpenAPI 3.x document, check live responses against it, and catch the drift between what an API promises and what it actually returns.
The HTTP status codes that actually matter
The status codes that actually come up when you are debugging an API, what each one is really telling you, and which are routinely misused.
Your webhook works in production but not locally
The handful of reasons a webhook handler that is fine in production fails on your development machine, and how to tell which one you have hit.
Why a 200 OK response can still be broken
Contract drift does not announce itself with an error code. Here is how APIs break while every status check keeps passing, and what to assert instead.