RESTbase defines a set of endpoints related to pages and page content, which are tagged with "page content" in [[https://en.wikipedia.org/api/rest_v1/#/|the OpenAPI spec]]. All of these endpoints need to be implemented without restbase, or deprecated and sunset. This task provides an overview and is intended for coordinating work on the different groups of endpoints.
=== Page and revision meta-data ===
[] `/page/title/{title}` Get revision metadata for a title.
[] `/page/title/{title}/{revision}` Get revision metadata for a title.
Reroute to a compatibility mode of `content.v1/page/{title}/bare` and `content.v1/revision/{id}/bare`: {T374136}
=== Rendered HTML ===
[] `/page/html/{title}` Get latest HTML for a title.
[] `/page/html/{title}/{revision}` Get HTML for a specific title/revision & optionally timeuuid.
parsoid migration, see {T334238} and {T373716}
=== Parsoid Lint ===
[] `/page/lint/{title}` Get the linter errors for a specific title/revision.
[] `/page/lint/{title}/{revision}` Get the linter errors for a specific title/revision.
We **don't yet know!**
Low usage, about one request per minute. Probably from the [[https://en.wikipedia.org/wiki/User:PerfektesChaos/js/lintHint/r.js|LintHints script]]. There is an action API module that can return lint errors, but they [[https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&list=linterrors&titles=Earth&formatversion=2|appear to be different errors]] ([[https://en.wikipedia.org/api/rest_v1/page/lint/Earth|compare]]).
=== PCS/MCS ===
[] `/page/segments/{title}` Fetches a segmented page to be used in machine translation
[] `/page/segments/{title}/{revision}` Fetches a segmented page to be used in machine translation
[] `/page/summary/{title}` Get basic metadata and simplified article introduction.
[] `/page/media-list/{title}` Get list of media files used on a page.
[] `/page/media-list/{title}/{revision}` Get list of media files used on a page.
[] `/page/mobile-html/{title}` Get page content HTML optimized for mobile consumption.
[] `/page/mobile-html/{title}/{revision}` Get page content HTML optimized for mobile consumption.
[] `/page/mobile-html-offline-resources/{title}` Get styles and scripts for offline consumption of mobile-html-formatted pages
[] `/page/mobile-html-offline-resources/{title}/{revision}` Get styles and scripts for offline consumption of mobile-html-formatted pages
Preparation work in progress, see {T319365}
=== PDF ===
[x] `/page/pdf/{title}` Get a page as PDF
[x] `/page/pdf/{title}/{format}` Get a page as PDF
[x] `/page/pdf/{title}/{format}/{type}` Get a page as PDF
Already routed directly to proton.
=== Misc ===
[x] `/page/data-parsoid/{title}/{revision}/{tid}` Get data-parsoid metadata for a specific title/revision/tid.
* unused/deprecated
[x] `/page/related/{title}` Get pages related to the given title
* Sunset, see {T336694}
[x] `/page/random/{format}` Get content for a random page
* driven by feeds, see {T263780}