Description
We will start by creating a new ‘preview’ or ‘beta’ flag that can be used on API requests to intentionally opt in. For now, we assume this approach will be a 'vBeta' (or similar) pattern included within the endpoint route. We believe that introducing an intentional flag will help address an observed gap, where current endpoints are documented as being unstable or experimental, yet end up being used in production applications.
We will then test these mechanisms by introducing new versions of some MediaWiki REST API endpoints that will demonstrate some of the new consistent usage patterns that we are driving towards. The initial endpoints will reflect changes that we are relatively confident in, or which have industry standard practices that we may follow (eg: pagination, error message structure).
Conditions of acceptance
- Align on routing patterns for surfacing 'beta' endpoints
- Generate an OpenAPI spec for 'beta' endpoints
- 'Beta' should appear as its own module within the REST Sandbox. For now, this will appear as a single module.
- Once more modules are released, we may assume that each module may have a 'live' and 'beta' version.
- Create at least 1 'Beta' endpoint that reflects new patterns for:
- Pagination
- Versioning
- Consistent error messages