Decide retirement with client obligations and rollback constraints
The old API has little traffic but one supported partner still relies on its unknown-stock behavior.
- Focused work estimate
- 5h + prerequisites
- Priority in the scenario
- High
- Engineering practice
- API strategy · Tradeoff analysis
Estimated field mix
- API design60%
- System design20%
- Site reliability20%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
A fictional inventory platform must replace a legacy availability response. Existing partners upgrade on different schedules, and the team needs a versioned transition.
Setup prerequisites
- Create two local API versions and synthetic partner clients with different upgrade schedules; no real partner traffic.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
- BAPIVER-101 · Inventory breaking and additive availability-contract changes
- BAPIVER-102 · Define version selection and unsupported-version errors
- BAPIVER-103 · Keep legacy and new projections over one domain authority
- BAPIVER-104 · Use Problem Details for versioned validation failures
- BAPIVER-105 · Preserve idempotency semantics across client version upgrades
- BAPIVER-106 · Generate SDK migration examples from packaged client versions
- BAPIVER-107 · Expose deprecation signals without breaking successful responses
- BAPIVER-108 · Measure version adoption using bounded non-sensitive metadata
Acceptance criteria
- Define retirement criteria beyond traffic volume.
- Compare support cost, partner migration risk, and data compatibility.
- Rehearse restoring legacy routing after a failed retirement.
Implementation constraints
- Keep unsupported assumptions visible; no actual partner notifications are sent.
Verification to include
- Retire a fully migrated synthetic client set.
- Block retirement when a supported dependency remains unresolved.
Deliverables
- API retirement decision record.
Rollout and recovery
Use a staged local retirement and retain tested legacy artifacts through the rollback window.
Value of the work
For the engineer: Practice public-contract design, compatible evolution, and client lifecycle management.
For the team: Provide a predictable migration that keeps supported integrations inspectable and recoverable.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.