Download OpenAPI specification:
Track the books you want to read, are reading, or have finished.
The Reading List API lets you keep a personal catalog of books and track your progress through each one.
This is a fictional API. It was designed for a technical writing portfolio and has no production backend. You can try every endpoint against a local mock server. See the Quickstart for setup steps.
Every request must include an API key in the X-API-Key header.
See the Authentication guide for details.
Errors use the Problem Details format
(RFC 9457) with the
application/problem+json media type.
See the Error handling guide for details.
Returns the books on your reading list, most recently added first.
Use the status parameter to return only books with a given reading
status. Use limit to cap the number of books returned.
| status | string (BookStatus) Enum: "unread" "reading" "finished" Example: status=unread Return only books with this reading status. |
| limit | integer [ 1 .. 100 ] Default: 20 Maximum number of books to return. |
curl "http://127.0.0.1:4010/books?status=unread&limit=10" \ -H "X-API-Key: demo-key"
{- "items": [
- {
- "id": "bk_002",
- "title": "API Patterns",
- "author": "R. Designer",
- "status": "reading",
- "createdAt": "2026-10-02T14:30:00Z"
}, - {
- "id": "bk_001",
- "title": "Docs for Developers",
- "author": "A. Writer",
- "status": "unread",
- "createdAt": "2026-09-28T09:15:00Z"
}
]
}Adds a book to your reading list. The server assigns the book's id
and createdAt timestamp.
| title required | string [ 1 .. 200 ] characters The book's title. Between 1 and 200 characters. |
| author required | string [ 1 .. 100 ] characters The book's author. Between 1 and 100 characters. |
| status required | string (BookStatus) Enum: "unread" "reading" "finished" Reading status. |
{- "title": "The Art of API Docs",
- "author": "Jane Example",
- "status": "unread"
}{- "id": "bk_003",
- "title": "The Art of API Docs",
- "author": "Jane Example",
- "status": "unread",
- "createdAt": "2026-10-14T18:45:00Z"
}Returns a single book by its ID.
| bookId required | string Example: bk_001 The book's unique identifier, as returned in the |
curl http://127.0.0.1:4010/books/bk_001 \ -H "X-API-Key: demo-key"
{- "id": "bk_001",
- "title": "Docs for Developers",
- "author": "A. Writer",
- "status": "unread",
- "createdAt": "2026-09-28T09:15:00Z"
}