Fourteen partner integrations must move off a legacy API within nine months. Three partners carry 71% of the call volume and one of those three is in a contract renewal. You get one public sunset date to announce. What do you do first?
Show the full answer Hide the answer
What is actually being negotiated
Not the date. The date is a consequence; the negotiation is over who absorbs the migration cost, and the three partners carrying 71% of volume are the only ones who can refuse to absorb it.
A published sunset date behaves asymmetrically. Moving it later is free to announce and expensive forever, because it teaches every partner that your dates are opening positions. Moving it earlier is not available. So the date you announce is effectively the latest date you will ever be able to hold, and you should know the binding constraint before you commit to it.
Why talking to the top three first wins
The binding constraint is not your nine months. It is the release calendar of the slowest strategic partner. An enterprise partner typically ships integration changes in a quarterly train with code freeze weeks before, so a nine-month window contains two or three usable slots, not nine months of free scheduling. If the slowest of the three has a freeze that eats slot two, your real window is six months, and you need to know that before you print the number.
The private conversation also separates position from interest. The renewing partner's stated position is "we need twelve months". Their interest is often "this must not cost us anything inside this renewal", which you can meet with migration engineering support, a credit, or a contractual carve-out - all cheaper than three extra months of running two API surfaces.
The remaining eleven partners at 29% of volume get the standard date, a self-serve guide and a deprecation header. They are not where the risk is.
Why the other options fail
- Announce a hard date to all fourteen now. Fast and it forecloses the information you need. You will discover the freeze calendar in month four, extend publicly, and spend the credibility on the next deprecation as well.
- Nine months plus paid extensions. This prices the thing you are trying to end. Any partner for whom the extension fee is less than their migration cost will pay it, and those are exactly the three that matter. You have converted a deadline into a subscription.
- Run it until the last partner moves. The legacy surface is not free: it is a second code path in every release, a second thing to patch, and it reliably outlives the engineers who understand it. Dual-running cost is typically the larger half of a deprecation's total bill.
What it costs
Private conversations first costs two to four weeks before you can announce, and you should assume the content leaks to the other eleven. Budget for that: have the standard package ready before the first private call, so a leak looks like preparation rather than favouritism.
When this is the wrong answer
When the legacy endpoint is a live security or compliance liability. Then the date is not negotiable, and the correct move is to announce a short window with the reason stated, accept the relationship damage deliberately, and spend the budget on migrating the three partners yourself rather than on negotiating with them.