API versioning can be managed by URL path, query parameters, or headers.
To handle breaking changes in APIs, versioning ensures backward compatibility. Common strategies include embedding the version in the URL (e.g., `/api/v1/products`), using query parameters (`/api/products?version=1`), or headers (`Accept: application/vnd.example.v1+json`). This allows clients to specify which version of the API they are interacting with.