"As a Client Developer, I want to have a RESTful CMS-level API available for each project and language, so I can provide CMS-style functionality to my end user."
We should mount the MediaWiki REST API at the project/language endpoints, like:
* `api.wikipedia.org/travel/fr/page/Maldives/history`
For the Core REST API, we’ll use paths that look like:
/core/v<version>/<project>/<language>/<path> (If the project has multiple languages)
/core/v<version>/<project>/<path> (If the project has just one language)
There may be cases in which we will have incompatible versions of the Core REST API running on different projects. For example, if/when a version 2.x of the Core REST API is released, which isn’t backwards-compatible with version 1.x, it may roll out to Group 0, Group 1, Group 2, etc. on different schedules.
| Path | Mapping
| /core/v1/wikipedia/<language>/<path> | <language>.wikipedia.org/w/rest.php/v1/<path>
| /core/v1//wiktionary/<language>/<path> | <language>.wiktionary.org/w/rest.php/v1/<path>
| /core/v1/commons/<path> | commons.wikimedia.org/w/rest.php/v1/<path>
| /core/v1/wikibooks/<language>/<path> | <language>.wikibooks.org/w/rest.php/v1/<path>
| /core/v1/wikiquote/<language>/<path> | <language>.wikiquote.org/w/rest.php/v1/<path>
| /core/v1/wikiversity/<language>/<path> | <language>.wikiversity.org/w/rest.php/v1/<path>
| /core/v1/mediawiki/<path> | mediawiki.org/w/rest.php/v1/<path>
| /core/v1/wikidata/<path> | wikidata.org/w/rest.php/v1/<path>
| /core/v1/wikisource/<language>/<path> |<language>.wikisource.org/w/rest.php/v1/<path>
| /core/v1/wikivoyage/<language>/<path> | <language>.wikivoyage.org/w/rest.php/v1/<path>
| /core/v1/meta/<path> | meta.wikimedia.org/w/rest.php/v1/<path>
| /core/v1/wikinews/<language>/<path> | <language>.wikinews.org/w/rest.php/v1/<path>
| /core/v1/wikispecies/<path> | species.wikimedia.org/w/rest.php/v1/<path>