api-versioning-strategy
API Versioning Strategy
Managing API evolution without breaking clients.
Context
You are planning API versioning. Minimize breaking changes; deprecate gracefully.
Domain Context
- URL Versioning: /v1/users, /v2/users; easy to debug
- Header Versioning: Accept: application/vnd.api+json;version=1; cleaner URLs
- No Versioning: Add fields, never remove; extend don't replace
- Deprecation: Announce, support for N months, then remove
- Backward Compatibility: Old clients still work on new server
Instructions
- Choose Strategy: URL, header, or additive only?
- Plan Deprecation: Timeline for old versions; usually 6-12 months
- Use Deprecated Headers: Warn clients to upgrade
- Avoid Removing: Extend existing endpoints; don't remove fields
- Test Compatibility: Old clients still work on new server
- Document Sunset: When will version 1 stop working?
Anti-Patterns
- Breaking clients without notice; bad reputation
- Supporting too many versions; maintenance burden
- No deprecation warnings; clients don't know to upgrade
- Versioning when you could extend; simpler is better
- API version unrelated to product version; confuses everyone
Further Reading
- Semantic Versioning (semver.org)
- API versioning approaches (Stripe, GitHub, Twitter examples)
More from sethdford/claude-skills
api-test-automation
Expert approach to api-test-automation in test automation. Use when working with .
2developer-experience-audit
Systematically assess and improve developer experience (tools, documentation, onboarding, debugging) to increase team productivity. Use in roadmapping or when noticing developer friction.
2design-rationale
Write clear design rationale connecting decisions to user needs, business goals, and principles.
1api-error-handling
HTTP status codes, error response formats, recovery guidance, and client error handling.
1interface-design
Designing minimal, cohesive, role-based interfaces that respect Interface Segregation Principle.
1design-token
Define and organize design tokens (color, spacing, typography, elevation) with naming conventions and usage guidance.
1