1. Endpoint that returns page info: Parameters: * project (required) - project domain, for example, en.wikipedia.org * page title (required) - for example, Ching_Shih * types of edits to include (optional): total, minor, ip, bot, reverted - defaults to total Example response: { created_at: "2007-04-04”, editors: 371, revisions: { total: 656, minor: 168, ip: 456, bot: 200, reverted: 50 } } 2. Endpoint that returns user edit count Parameters: * project (required) - project domain, for example, en.wikipedia.org * username (required) - for example, Badylek * types of edits to include (optional): total, live, reverted - defaults to total Example response: { edits: { total: 156, live: 146, reverted: 10 } } // Nice to have - can be calculated on the client side from the revisions response. 3. Endpoint that returns the count of intermediate revisions and editors Parameters: * project (required) - project domain, for example, en.wikipedia.org * page title(required) - for example, Dog * start revision (required) - for example, 909601183 * end revision (required) - for example, 909428950 * editors (optional): total, unique - defaults to unique Example response: { revisions: 3, editors: { total: 5, unique: 4 } } // Nice to have - sizediff can be calculated on the client side from the revisions response. 4. Endpoint that returns page history (including information about revision type) This would look like https://www.mediawiki.org/wiki/API:Revisions but the response would provide additional information about revision type and the difference in size between revisions. rvprop parameter would be extended to include “type” and “sizediff”. The response would include a “type” key with an array of values (ip, reverted, bot). “sizediff” would be the difference in size between revision A and B. For revision A that’s newer than revision B, the “sizediff” value would be the size of the revision A - the size of the revision B. query: { pages: { 4269567: { pageid: 4269567, …, revisions: [ { revid: 910206663, parentid: 909630996, …, type: [ip, reverted], sizediff: -113 } ] } } }