tl;dr: adjust the REST Sandbox to visually separate certain modules, requiring the user to proactively choose to see them. Use this for "beta" and "internal" audience designations.
Details
Note: we may choose to split the following work into several subtasks.
Certain REST API modules are not intended for general, long-term use by public callers. These include "beta" modules, which should exist for only a limited amount of time, and "internal" modules, whose stability and versioning is subject to the needs of internal WMF teams and therefore may be undesirable for general public use.
To prevent confusion or accidental adoption of these endpoints, while still allowing their documentation to be presented, we will require users to take proactive action in order to see these "opt-in" modules in the REST Sandbox.
We should first determine how to visually present opt-in modules, how users will go about choosing to view them, and what internal changes may need to be made to the data communicated to the REST Sandbox Special Page by ModuleManager to allow this.
We should then implement this system.
Finally, we should use this for "beta" and "internal" modules by default.
Checklist
- Determine a visual and functional design for separating "opt-in" modules
- Implement this in the REST Sandbox
- Remap the "beta" and "internal" modules to the "opt-in" functionality set.