Client-Driven Versioning
Client-Driven Versioning is an API versioning approach where the client explicitly specifies the desired API version in requests, typically through headers, URL parameters, or media types. It shifts control to API consumers, allowing them to choose when to upgrade to newer versions while maintaining backward compatibility for older clients. This method contrasts with server-driven versioning, where the server dictates the version based on factors like deployment or configuration.
Developers should use Client-Driven Versioning when building public or partner APIs that need to support multiple client versions simultaneously, such as in mobile apps, third-party integrations, or long-lived enterprise systems. It enables gradual migration, reduces breaking changes for users, and provides flexibility for clients to adopt new features at their own pace, making it ideal for APIs with diverse or external consumer bases.