As can be found in the thread over at Clarify the versioning strategy for APIs, this is a highly controversial discussed topic and went on for over a year with no clarity in sight.
Actually, the only confusing part of JSON:API for us was to see that there’s not even a suggestion about versioning, but instead a rather surprisingly “rich” thread about it, and yet no resolution.
We went for the double accept header like
Accept: application/vnd.api+json;
Accept: application/vnd.api+json; version=1.0
By my experience that’s accepted as by the specs by any implementation of JSON:API so far.
I would like to know if this topic is currently officially addressed internally for a future specification or at least recommendation.