Once other systems depend on your API, you cannot change it freely. Versioning is the habit that lets you improve it without breaking what already works.
The idea
Each time a change would break existing users, you release it as a new version and keep the old one running for a while. People move over when they are ready.
Good habits
A few practices make changes calm.
- Add new features without changing existing ones when you can
- Announce changes well ahead of time
- Keep the old version working for an agreed period
- Document what changed and how to move
Plan the end of old versions
Say from the start how long a version will be supported. People can plan when they know the date.

