{"slug": "show-hn-driftwatch-breaking-change-alerts-for-the-third-party-apis-you-call", "title": "Show HN: Driftwatch – breaking-change alerts for the third-party APIs you call", "summary": "Driftwatch launched in early access as a monitoring service that alerts developers when third-party APIs from providers including Stripe, OpenAI, GitHub and Cloudflare change in ways that break their code, and its GitHub App opens a pull request with the fix ready for review. The service classifies each change by published rules so the same change always gets the same verdict, and it flags changes providers label safe that still break callers, such as a Plaid field rename from protect_session_id to device_session_id. Driftwatch says it judges changes by their effect on the user's code rather than the provider's, and offers RSS or JSON feeds for every API or only the ones a team uses.", "body_md": "### Continuous API monitoring\n\nStripe, OpenAI, GitHub, Cloudflare and more. When a provider changes its API, you know about it.\n\nDriftwatch monitors the third-party APIs your product depends on and alerts you to the changes that break your code.\n\nNo error is raised. The value is ignored and your results change silently, which is the hardest class of break to notice.\n\nCode that breaks\n\n```\nawait client.post(\"/v2/sandboxes/sessions/{sessionId}/cmd\", {\n  // cmdId is now ignored, not rejected\n  cmdId: value,\n});\n```\n\nAPIs Driftwatch watches\n\nKnow what changed, what it breaks, and how to fix it.\n\nEvery alert shows the code that fails, so your team knows where to look.\n\n```\nswitch (payment.status) {\n  case \"succeeded\": …\n  case \"failed\": …\n  // \"requires_review\"\n  // has no branch\n}\n```\n\nThe GitHub App opens a pull request with the fix, ready for your review.\n\nChanges are judged by their effect on your code, not on the provider’s.\n\nEvery change is classified by published rules, so the same change always gets the same verdict.\n\nFollow every API, or only the ones you use, by RSS or JSON feed.\n\nSome changes a provider considers safe are exactly the ones that break the code calling it. Driftwatch catches them.\n\nWhat their changelog says\n\nSafe for them: every response they send is still valid.\n\nWhat your code sees\n\nCode that reads the field without a check throws on every response that leaves it out.\n\n```\nconst { city } = customer.address;\n// TypeError: Cannot destructure property 'city'\n// of 'customer.address' as it is undefined.\n```\n\nA real Plaid change, end to end.\n\nPlaid renames a field in its API.\n\n```\nProtectEventSendRequest:\n  properties:\n-   protect_session_id:+   device_session_id:      type: string\n```\n\nYou get an alert with what breaks and the code that fails.\n\nThe GitHub App opens a pull request with the fix, ready for review.\n\n```\n-  protect_session_id: sessionId,+  device_session_id: sessionId,\n```\n\nJoin early access to the GitHub App, and get a pull request when an API change breaks your code.", "url": "https://wpnews.pro/news/show-hn-driftwatch-breaking-change-alerts-for-the-third-party-apis-you-call", "canonical_source": "https://driftwatch.et", "published_at": "2026-10-19 16:27:12+00:00", "updated_at": "2026-10-19 16:46:43.103372+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools"], "entities": ["Driftwatch", "Stripe", "OpenAI", "GitHub", "Cloudflare", "Plaid"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-driftwatch-breaking-change-alerts-for-the-third-party-apis-you-call", "markdown": "https://wpnews.pro/news/show-hn-driftwatch-breaking-change-alerts-for-the-third-party-apis-you-call.md", "text": "https://wpnews.pro/news/show-hn-driftwatch-breaking-change-alerts-for-the-third-party-apis-you-call.txt", "jsonld": "https://wpnews.pro/news/show-hn-driftwatch-breaking-change-alerts-for-the-third-party-apis-you-call.jsonld"}}