Start with the facts
Before you touch code, answer four questions:
- What changed in the contract: endpoint, schema, headers, auth flow, or error shape.
- How many call sites are affected.
- Whether the old and new versions can coexist temporarily.
- Whether you can add a fallback without rewriting the client.
Skipping this step usually sends the team in the wrong direction. A change that looks like “just an SDK bump” may actually live in request serialization or token handling.
Build an impact map
Do not try to fix everything at once. First, map the blast radius:
- where the old API is called;
- which tests cover the path;
- which failures could stay silent;
- which dependencies must be updated together.
This matters even more when the break comes from a transitive dependency or a service you do not fully control.
Pick the safe path
Once the scope is clear, choose one of four options:
- a
shimor adapter if you need to translate old input into the new shape for a while; - a
feature flagif the change is risky and needs controlled release; - a
dual pathif old and new behavior must coexist; - a delayed rollout if compatibility is still unproven.
Do not confuse “can ship” with “can support safely”. If the new contract is not covered well yet, it is usually smarter to add protection first and release second.
Practical checklist
- Describe the change in plain language.
- Find every call site that depends on the old contract.
- Add or update tests for both success and failure cases.
- Confirm the fallback works when part of the flow degrades.
- Roll out gradually and watch errors, latency, and retry rate.
Common mistakes
Teams usually trip over three things:
- Reading the docs but not searching the real call sites.
- Testing only the happy path.
- Releasing without a rollback plan.
This is where an AI assistant helps: not by making the decision for you, but by turning the change into a structured plan quickly.
Further reading
Next step
If a breaking change is already queued for release, start with a short inventory: what changed, where it is used, which fallback is available, and how you will roll back if a test fails.
Quick checklist
- Confirm exactly what changed in the contract.
- Find every place that still depends on the old call or response shape.
- Check the tests that cover happy and unhappy paths.
- Choose a fallback: shim, feature flag, dual path, or delayed rollout.
- Roll out in stages and watch error rates after release.
Map the breaking API change and plan a safe migration
You are helping a junior or full-stack engineer respond to a breaking API change. Identify the affected call sites, note what changed in the contract, list the compatibility risks, choose a fallback, and order the rollout steps so the team can ship safely without guessing. Return: - impact map - compatibility checks - fallback plan - rollout order