Blog
Notes on API contract drift, monitoring third-party APIs, and catching breaking changes before your customers do.
September 15, 2026
Stripe Made card.last4 Nullable. If Your Receipts Assume It's Always There, They Break on Nobody's Schedule.
In the 2026-03-25 API version, Stripe changed card.last4, card.brand, card.exp_month, card.exp_year, and card.funding from always present to nullable. Nothing errors. Your code just starts reading null on certain transactions.
September 3, 2026
GitHub Quietly Removed merge_commit_sha From Its API. Your Automation Won't Error, It'll Just Be Wrong.
GitHub's 2026-03-10 API version removes merge_commit_sha, has_downloads, the singular assignee field, and more from responses. None of it throws an error. Your integration just starts reading null.
August 26, 2026
The OpenAI Assistants API Dies Today, and the Loud Shutdown Isn't the One That Gets You
OpenAI's Assistants API shuts down August 26, 2026 with hard errors and no grace period. That failure is loud and easy to catch. The dangerous failures are the silent ones hiding inside the migration.
August 18, 2026
Cloudflare's Account API Will Start Rejecting Names on September 27 — It Silently Truncates Them Today
Cloudflare's create-account API truncates long names silently while the update API already rejects them. On September 27, 2026 that mismatch turns into a 400 error. Here's why the silent version is the dangerous one.
August 10, 2026
The Content API for Shopping Shuts Down August 18 — and the Migration Fails Quietly
Google's Content API for Shopping sunsets August 18, 2026. The endpoint returning 410 is the loud part. The dangerous part is how the replacement fails without erroring at all.
August 5, 2026
API Contract Testing vs. API Monitoring: What's the Difference?
Contract testing runs at build time against your assertions. Monitoring watches live responses in production. Here's the difference, why you need both, and where each one fails.
August 3, 2026
Optic Alternative: What to Use Now That Optic Is Archived
Optic was archived in January 2026. Here's what it did, the honest drop-in replacement for its CI spec-diffing, and the runtime gap it never covered.
August 2, 2026
What Is API Contract Drift? Types, Causes, and How to Detect It
API contract drift is when a live API's responses stop matching its spec while still returning 200. Here are the types of drift, why tooling misses it, and how to catch it.
July 27, 2026
When the Contract Lies: Detecting API Drift in Production
A third-party's WSDL was missing a parameter. My generated client compiled clean and still failed at runtime — a lesson in why API contracts drift from reality.