"As a Curator, I want to get a list of the previous versions of a page, so that I can understand how it developed over time."
GET /page/{title}/history?{older_than|newer_than={id}}
Segmented history of a page. (I'm calling it "segmented" instead of "paged" so we don't all go crazy.)
{title} is the page title.
If older_than is provided, only show the newest versions strictly older than the given version ID, non-inclusive.
If newer_than is provided, only show the oldest versions strictly newer than the given version ID, non-inclusive.
Only one of older_than or newer_than are allowed.
Request body: none
Notable request headers:
If-Modified-Since: only if the result set has changed since this date
If-None-Match: only if the result set's etag is different from this
Notable response headers:
Last-Modified: last time this result set was modified
ETag: etag for this result set
Body: JSON, an object with the following fields:
older: full link to API endpoint for the next older segment of results (usually the same endpoint plus "older_than" with the last version in this segment). May be excluded if there are no known older versions.
newer: full link to API endpoint for the next newer segment of results (usually the same endpoint plus "newer_than" parameter for first version in this segment). May be excluded if there are no known older versions.
latest: full link to API endpoint for the latest values, usually just this endpoint with no parameters
versions: an array of up to 20 version objects, each with the following information:
id: version id
summary: summary of the change, provided by the user
date: date of change, YYYY-MM-DDTHH:MM:SSZ
delta: +/- count of characters changed from previous
size: count of characters
user: user name who made the change, if any