API versioning

Global API version
The global API version is part of the path. Example:. Following the principles of semantic versioning, it is incremented when a stable end point is changed in a backwards-incompatible manner. Since this is a disruptive event, we try hard to avoid breaking stable end points.

End point stability
Each API end point is marked with a stability class: Stable, unstable or experimental. Typically, API end points start out as experimental or unstable, and over time graduate to become part of the stable API.

Stable
Stable end points are guaranteed to not change in incompatible ways. This means that you can be sure that the basic interface as documented by the spec will continue to work as described.

Changes in the structure of the returned content will be clearly indicated by a change in the profile part of the mime type: text/html;profile=mediawiki.org/specs/html/1.0.0 If you'd like to avoid changes in the content representation from breaking your application, then you are encouraged to send an  header with the mime type you expect. That said, incompatible changes in the content representation should be very rare.

Unstable
End points marked as unstable can change in incompatible ways without incrementing the major API version, but they will increment minor versions. We will reach out to users and make a concerted effort to avoid breaking existing consumers.

Experimental
Experimental end points can change in incompatible ways at any time, without incrementing the API version. You are welcome to use them at your own risk.