Document which fields or functionality are deprecated and will be removed. The docs should also let consumers know how to upgrade or how to achieve the previous functionality in the new API version.
Responses should send information on deprecation. GraphQL has this built in, though it doesn’t tell the consumer when the deprecation will occur. This method only works for APIs where devs actively look at the response. Services that have been using your API for a while might not have anyone watching for the deprecation warning.
Provide clear communications around timelines.
Monitor traffic to versions of APIs so that you can identify consumers that are lagging and safely turn off old versions.
Give consumers a reason to upgrade, like improved features or better performance.
Keep old code versions patched for security concerns, but do not add any new backward-compatible features to old versions.
https://www.opslevel.com/blog/the-ultimate-guide-to-microservices-versioning-best-practices