Evergreen

What to Do When an API Policy Changes

Preserve the old and new policy, map journeys and data, classify the change, choose adapt, negotiate, replace, narrow, or exit, then communicate clearly.

Aug 4, 20266 min readBy Dalton Anderson
In this article

What Happens When an API Policy Changes Under Your Product?

When an API policy changes, preserve the old and new record, identify the effective date, map every affected user journey and data flow, separate contractual permission from technical feasibility, and choose whether to adapt, negotiate, replace, narrow, or exit. Treat the event as a product, engineering, data, legal, support, and communication change.

An engineering patch alone can make the requests succeed while leaving the product noncompliant or the user experience broken.

Stabilize the first response

Capture the notice, policy, documentation, schema, terms, brand rules, pricing, rate limits, email, dashboard message, and current production behavior. Record when each item was retrieved and whether the provider labels it current, archived, or effective later.

Do not overwrite the prior version in the incident record. A redline between versions is more useful than a summary written from memory.

Then identify four dates: publication, notice receipt, effective date, and the date production behavior actually changes. They may differ.

flowchart TD
    A["Upstream change detected"] --> B["Preserve and version evidence"]
    B --> C["Map journeys, data, contracts, and operations"]
    C --> D{"Change classification"}
    D --> E["Adapt"]
    D --> F["Negotiate"]
    D --> G["Replace or narrow"]
    D --> H["Exit"]
    E --> I["Test, communicate, monitor"]
    F --> I
    G --> I
    H --> I

Classify what changed

An API change is not limited to endpoints and fields.

Change surfaceQuestions to answer
AccessAre credentials, eligibility, review, or termination rights different?
PermissionAre use, display, competition, training, sharing, or retention rules different?
InterfaceAre endpoints, fields, types, authentication, or webhooks changing?
EconomicsAre price, quota, rate, minimums, or support tiers changing?
AttributionMust source labels, logos, links, or metadata appear in new places?
PrivacyDo consent, deletion, visibility, transfer, or subprocessors change?
OperationsAre latency, reliability, environments, monitoring, or escalation changing?
User experienceWhich journeys, history, exports, and expectations are affected?

Garmin's June 2025 API Brand Guidelines illustrate a policy change with technical reach. Attribution applied to primary views, secondary screens, exported and downstream data, derived outputs, and social visuals.

Strava's current API agreement illustrates upstream control from another direction. It imposes use restrictions and allows Strava to modify or discontinue access. The exact rights in a reader's relationship depend on the applicable agreement and law.

Map the dependency to the user journey

List every place the upstream input enters, changes, or leaves the product.

Journey or systemUpstream dependencyFailure effectStored dataDownstream recipientsOwner
Account connectionOAuth and approved scopeNew users cannot connectTokens and account linkIdentity systemPlatform engineering
Activity importEndpoint and webhookNew activities stop or arrive lateRaw and normalized recordsFeed and analyticsData product
Activity displayField and attribution rulesView becomes incomplete or noncompliantCached activityUser interfaceProduct
Coaching insightPermitted derived useFeature must change or stopDerived metricsUser and coachProduct and legal
ExportTransfer and branding rulesUser export or partner delivery changesExport packageUser or partnerData governance
DeletionPrivacy webhook and retention ruleStale data remainsAll related recordsInternal and downstreamPrivacy owner

The map should include jobs, support scripts, analytics, experimentation, machine learning, backups, data warehouses, exports, and customer contracts. A hidden scheduled process can be as critical as the visible feature.

Separate provider practice from your rights

Some providers offer transition protections. GitHub's current breaking-change documentation describes dated API versions, advance notice, migration, testing, and at least 24 months of support for the previous version after a new version is released.

Stripe's API upgrade guidance describes pinned behavior, backward-compatible monthly releases, major releases with breaking changes, test headers, webhook considerations, and a limited rollback window.

These are examples of provider practice. They do not create a general right to notice, version support, or rollback. Read the actual agreement, documentation, and notice governing the integration.

Choose a response explicitly

Adapt when the upstream remains strategically useful and the change can be implemented without violating the product's commitments or economics.

Negotiate when scope, timeline, attribution, use, rate, or migration support materially affects shared customers and the provider has a partner channel. Preserve what was requested, offered, and confirmed.

Replace when a substitute can serve the user with acceptable migration, quality, permission, and cost. A second provider is not a fallback if it depends on the same upstream system.

Narrow when the integration remains valuable but one use, data class, region, or journey creates disproportionate risk.

Exit when the change makes the product unlawful, unsafe, uneconomic, strategically captive, or inconsistent with user promises. Exit includes deletion, export, contract, support, and communication work.

Test more than the endpoint

Create representative accounts and historical records. Test authentication, imports, updates, duplicates, deletions, visibility changes, rate limits, retries, time zones, units, derived values, exports, and downstream webhooks.

Test the user-facing labels and source metadata. Test what happens after a user revokes access. Confirm whether the provider applies the new behavior by account, version, region, or program.

Monitor both technical success and business continuity. An HTTP 200 response can still contain missing fields, delayed data, a changed meaning, or a policy violation.

Communicate what the user needs

Explain which feature or connection is affected, what still works, whether action is required, how historical data is treated, which alternatives exist, and when the next update will arrive.

Distinguish the provider's published requirement, your interpretation, your chosen response, and any unresolved negotiation. Do not ask users to infer a legal conclusion from a product notice.

[[How to Communicate a Partner Dispute Without Making It Worse]] provides the public sequence. [[User Data Portability and Platform Attribution Are Different Questions]] helps when source and movement are being confused.

Reduce the next dependency

After stabilization, update a dependency register with control, concentration, substitute, data rights, exit time, and funded mitigation. Add contract and policy monitoring. Store an approved version of critical documentation and record its effective date.

Build adapters around provider-specific schemas where the cost is justified. Keep organization-owned identifiers and derived records separate from upstream identifiers. Preserve an export path for users when appropriate. Exercise the fallback before the incident.

[[How to Measure Platform Dependency Risk Before It Breaks Your Startup]] turns the postmortem into a repeatable review.

This page provides general product and operational guidance, not legal advice or a promise of API access. It reflects sources reviewed on July 27, 2026. AI assistance was used for research organization, drafting, and validation. Publication remains unauthorized.

Sources

Follow the evidence.

  1. patents.google.com: US9116922patents.google.com
  2. communityhub.strava.com: update regarding garmin attribution best practice 11916communityhub.strava.com
  3. developer.garmin.com: Garmin Developer API Brand Guidelinesdeveloper.garmin.com
  4. storage.courtlistener.com: gov.uscourts.cod.247832.19.0storage.courtlistener.com
  5. docs.stripe.com: upgradesdocs.stripe.com
  6. docs.github.com: breaking changesdocs.github.com
  7. reddit.com: setting the record straight about garminreddit.com
  8. dockets.justia.com: 247832dockets.justia.com
  9. prsa.org: ethicsprsa.org
  10. w3.org: prov ow3.org
  11. developers.strava.com: guidelinesdevelopers.strava.com
  12. patents.google.com: US9778053patents.google.com
  13. ico.org.uk: right to data portabilityico.org.uk
  14. garminrumors.com: Strava vs Garmin Lawsuit Segments 9 30garminrumors.com
  15. developers.strava.com: getting starteddevelopers.strava.com
  16. developers.strava.com: webhooksdevelopers.strava.com
  17. strava.com: apistrava.com
  18. developer.garmin.com: brand guidelinesdeveloper.garmin.com
  19. patents.google.com: US9297651patents.google.com

From this episode

Two useful next steps.

Episode Story · 1 min

Venture Step E086: Strava, Garmin, and Platform Power

Episode 86 argued that the Strava-Garmin dispute exposed API dependence and weak communication. The lawsuit later ended without a merits ruling.

Evergreen · 1 min

Strava v. Garmin Lawsuit: Documented Timeline

A sourced timeline of Strava's 2025 Garmin complaint, attribution dispute, public statement, voluntary dismissal without prejudice, and unresolved questions.

Return to the episode