Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Wikimedia Reading lists API

Private lists of selected pages

Wikimedia Reading lists API is one of 20 APIs that Wikimedia publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Reading lists. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, rate-limit docs, and pricing.

This API exposes 13 operations across 10 paths, and defines 5 schemas. It is described by OpenAPI 3.1.0, at version 2.0.0.

Requests are made against a single base URL, https://api.enterprise.wikimedia.com.

13 operations 10 paths 5 schemas 2 DELETE4 GET6 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
2.0.0
Base URL
https://en.wikipedia.org/w/api.php
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

Wikimedia Reading lists API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (JWT) (bearerAuth). By default, every request must be authenticated.

Paths & Operations 13

Across 10 paths, the API surfaces 13 operations — 2 DELETE, 4 GET, 6 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Reading lists 13

Private lists of selected pages

POST
/data/lists/setup
Opt in to use reading lists.
1 param → 200default
POST
/data/lists/teardown
Opt out from using reading lists.
1 param → 200default
GET
/data/lists/
Get all lists of the current user.
2 params → 200default
POST
/data/lists/
Create a new list for the current user.
1 param body → 200default
PUT
/data/lists/{id}
Update a list.
2 params body → 200default
DELETE
/data/lists/{id}
Delete a list.
1 param → 200default
POST
/data/lists/batch
Create multiple new lists for the current user.
1 param body → 200default
GET
/data/lists/{id}/entries/
Get all entries of a given list.
getListEntries 3 params → 200default
POST
/data/lists/{id}/entries/
Create a new list entry.
2 params body → 200default
DELETE
/data/lists/{id}/entries/{entry_id}
Delete a list entry.
2 params → 200default
POST
/data/lists/{id}/entries/batch
Create multiple new list entries.
2 params body → 200default
GET
/data/lists/pages/{project}/{title}
Get lists of the current user which contain a given page.
3 params → 200default
GET
/data/lists/changes/since/{date}
Get recent changes to the lists
2 params → 200default

Schemas 5

The contract defines 5 schemas that model the data the API accepts and returns. The most detailed are list_entry_read (5 properties), list_read (5 properties), problem (4 properties), list_entry_write (2 properties). Each schema is shown below with its type and property counts.

problem
object
4 properties 1 required
list_write
object
2 properties 1 required
list_read
object
5 properties 4 required
list_entry_write
object
2 properties 2 required
list_entry_read
object
5 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

wikimedia-reading-lists-api-openapi.yml Raw ↑

Other APIs Wikimedia publishes across the network.

MediaWiki REST API
Wikimedia articles API
Wikimedia batches API
Wikimedia Citation API
Wikimedia codes API
Wikimedia languages API
Wikimedia Math API
Wikimedia Mobile API
Wikimedia namespaces API
Wikimedia offline API
Wikimedia Page content API
Wikimedia projects API