The public API is versioned in the URL path:
/api/public/v1/...
Within v1 changes are additive only. You should build your client to
tolerate:
Never assume a response object's field set is closed — parse what you know, ignore what you don't.
Anything that would break the rules above ships as a new path version
(/api/public/v2/...). When that happens:
v1 keeps working for at least 12 months after v2 is announced;Deprecation / Sunset response headers on the old version;Watch the changelog — every addition to the API is recorded there, release by release.