REST and GraphQL API Development Company for Mobile Apps
Our rule: additive changes are free, breaking changes cost a version. Adding a field or a new endpoint ships any time. Renaming, removing or changing the meaning of a field means a new version, while the old one keeps running.
For REST we version in the path (/v1/, /v2/) because it is visible in logs, easy to route and easy to retire. For GraphQL we evolve one schema: new fields are added, old ones are marked deprecated, and we track which app versions still query them before removal.
Every request carries the app version and platform in a header. That gives you usage numbers per version, so you know when an old version is safe to switch off, and it powers a minimum-supported-version check. When you must force an upgrade, for example after a security fix, the API returns a clear response that the app turns into an update screen rather than a crash.
Read more here: Source link
