API versioning is the practice of managing changes to an API and ensuring that these changes are made without disrupting clients. A good API versioning strategy clearly communicates the changes made and allows API consumers to decide when to upgrade to the latest version at their own pace
So, you should refrain from making breaking changes and versioning whenever possible. However, they’re sometimes inevitable. A breaking change could be:
Changing the format of request or response data (like switching from JSON format to XML format)
Changing the data type of a resource (like changing from a string to an integer)
Changing the name of a resource
Removing one or more resources, removing or changing properties or methods for a particular resource, or any other changes to API functionality
Adding a new required field for client HTTP requests.