Provider API drift detection

Every API you build on has an expiry date. Your client repos never get the memo.

Shopify, Stripe, Google Ads, Meta, Twilio, the AI SDKs — every provider sunsets old versions and deprecates fields on its own schedule. Sunset watches every repo you point it at, finds what's about to break across all of them, and opens a tested draft PR before the date lands.

No silent auto-merge. Every migration is test-verified and every PR is a draft, waiting on a human to approve it.

Sunset announced Apr 3
Today Jul 27
Draft PR Jul 27
Enforcement 41 days
lib/shopify/admin-client.ts
14const client = new shopify.clients.Rest({
15 session,
16 apiVersion: '2025-10',
16+ apiVersion: '2026-04',
17});
18
19const res = await client.get({ path: 'orders', query: { status: 'any' } });
19+const res = await client.get({ path: 'orders', query: { status: 'any', fulfillment_status: 'any' } });
20// 2025-10 default-filtered fulfilled orders; 2026-04 requires the explicit param
Draft PR #482 · +18 −6 · tests passing ✓ DRAFT

The API changed. You found out from a client.

Every provider you integrate runs its own deprecation clock. Payment APIs retire versions, ad platforms rename fields, commerce APIs force-sunset old endpoints, the AI SDKs change response shapes between releases. When one of them lands on code that still calls the old way, requests start failing. Usually you find out from a client, not from the provider.

That's manageable for one integration. It's not manageable for the client book. An agency running thirty, fifty, eighty client repos has some version, some field, some endpoint going stale across some provider somewhere in that portfolio at any given time, and nobody's job is to track all of it. So it gets found the way most integration breakage gets found: in production, after it's already cost someone money.

How it works

Sunset connects to your GitHub org and reads the repos you point it at. It works through the parts most tools miss, then hands you a PR you review like any other.

01

Find every call, even the wrapped ones

It finds every place your code calls an external provider's API, and which version each call is pinned to, including calls buried a few layers deep in your own service wrapper. An AST parser follows the call graph; regex would miss them.

02

Match against the real sunset schedule

It matches those call sites against each provider's actual deprecation and sunset schedule. Not "is there a newer version out" but "does your code touch the specific field or endpoint that's changing."

03

Write the fix and prove it

When something's going to break, Sunset writes the migration, applies it in an isolated branch, and runs your test suite against the new version. Green tests are the gate.

04

Open a draft PR you review

You get a draft PR with a plain-English report: what breaks, when, why, exactly which call sites were touched, and whether the tests passed. You review it like any other PR from a teammate. Nothing merges without you.

The Portfolio Drift Board

One rare event per repo is easy to ignore. Across forty client repos and a dozen providers, something is always drifting. This is the thing you check on a Monday instead of finding out on a Friday, every client, every provider, ranked so the worst deadline is at the top.

Client repoProviderStatusDeadline
havenwood-interiorsShopify Admin 2025-07BREAKING6 days
northfield-paymentsStripe 2025-08-27BREAKING23 days
lumen-growthGoogle Ads v18 → v19DRIFT61 days
fettle-socialMeta Graph v21DRIFT96 days
orchard-notificationsTwilio 2010-04-01VERIFIED

One tool, every provider you don't control

Sunset isn't a Shopify tool. It's built for the whole surface of third-party APIs your code depends on but can't pin down. Shopify is live today; the rest are laddered in the order agencies feel the pain. Want one moved up? Tell us.

Commerce

Storefront and admin APIs that version aggressively and force-sunset old endpoints.

  • Shopify Admin API Live
  • Shopify Storefront API Next
  • BigCommerce Roadmap
  • WooCommerce Roadmap
  • Salesforce Commerce Cloud Roadmap
  • Adobe Commerce Roadmap

Payments

Pinned API versions and deprecated parameters that silently change behaviour.

  • Stripe Next
  • PayPal Roadmap
  • Adyen Roadmap
  • Braintree Roadmap
  • Square Roadmap

Ads & Marketing

Hard version sunsets several times a year, with renamed fields and enums.

  • Google Ads API Next
  • Meta Marketing API Next
  • Microsoft Advertising Roadmap
  • TikTok Marketing API Roadmap
  • LinkedIn Marketing API Roadmap

Email & Messaging

Endpoint and payload changes that break delivery without a compile error.

  • Twilio Roadmap
  • SendGrid Roadmap
  • Postmark Roadmap
  • Mailgun Roadmap

AI & LLM

Fast-moving APIs where response shapes and model names shift between releases.

  • OpenAI Roadmap
  • Anthropic Roadmap
  • Google Gemini Roadmap
  • Azure OpenAI Roadmap

Cloud & Infra

SDK surface and service APIs that deprecate on long but unforgiving timelines.

  • AWS SDK Roadmap
  • Google Cloud Roadmap
  • Cloudflare API Roadmap

Identity & Auth

Auth flows and token endpoints where a quiet change locks users out.

  • Auth0 Roadmap
  • Okta Roadmap
  • Firebase Auth Roadmap
Live — supported today Next — in active build Roadmap — planned, prioritised by demand

It never merges itself.

Sunset doesn't auto-merge and it doesn't touch your production secrets. Every migration runs against a test environment pinned to the new API version before a PR ever opens, and every PR is a draft, waiting on a human to approve it.

If a call site is ambiguous, Sunset flags it as low-confidence and says so, rather than guessing. We'd rather be a tool you trust than one that's fast and occasionally wrong in your prod branch.

See what's drifting in your client book.

A small design-partner beta with Shopify agencies, working directly on real client repos.