advanced 3 min answer

You must make a breaking change to an API used by 5000 partner organisations. What is your plan?

b2bversioningdeprecationpartnersdoordash
Show the full answer Hide the answer

What is being tested

Whether you recognise that the technical work is trivial and the commercial and operational work is the entire problem.

First: is it actually necessary?

Breaking 5,000 integrations is expensive in support cost, partner goodwill and churn. Before proceeding, exhaust:

  • Can it be additive? New field alongside old, both populated, old deprecated but never removed.
  • Can the old behaviour be preserved with a translation layer on your side? Carrying a mapping is usually cheaper than 5,000 partners doing work.
  • Can it apply to new integrations only, with existing ones grandfathered indefinitely?

The default answer for a partner API should be that versions live forever, because you cannot upgrade the other side and the commercial relationship is worth more than schema tidiness.

If it is genuinely necessary

1. Measure who is affected. Per-partner, per-endpoint, per-field usage. If you cannot produce this, you cannot plan the change — and the instrumentation cannot be added retroactively to history, which is why it should have existed from version one.

2. Segment the partners. A small number will drive most of your volume; a long tail will drive most of your support burden. They need different treatment: direct engineering contact for the first, scalable tooling and clear communication for the second.

3. Run both versions in parallel for a period measured against partner change cycles, not yours. Many partners have quarterly release trains and procurement processes. Six months is a realistic minimum for a large partner base; a 30-day notice to organisations whose change process takes six months is not notice, it is an announcement of an outage.

4. Communicate through multiple channels. Direct contact to technical and commercial owners, deprecation headers in every response (so it appears in their logs), dashboard warnings, and changelog. A changelog entry alone reaches nobody.

5. Run brownouts. Brief scheduled periods where the old version returns errors, announced in advance. This surfaces the integrations nobody responded to while there is still time to fix them, which is far better than discovering them at cutover.

6. Provide migration tooling. A compatibility shim, a test harness, or a sandbox where they can validate against the new version. Reduce the work you are asking 5,000 organisations to do.

7. Have an exception process for the partner who genuinely cannot move, with a commercial decision attached rather than an engineering one.

The long tail is the design constraint

Delivery and commerce platforms integrating with tens of thousands of merchants learn this repeatedly: the partner base spans sophisticated engineering teams and a tablet in a kitchen. Optimising only for the sophisticated excludes most of the market; optimising only for the simplest excludes the partners who drive volume.

The consequence for this change: a plan that assumes partners can respond to a technical announcement will succeed with the top 5% and fail with everyone else. Tiered communication and tooling is not politeness, it is the only way the migration completes.

What a strong answer adds

Naming per-partner isolation as a prerequisite. During a migration, partners will retry aggressively, call both versions, and behave unpredictably. Without per-partner rate limits and isolation, one integrator's confusion becomes everyone's incident.