Reading List API (1.0.0)

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.

What you can do

  • List books, optionally filtered by reading status
  • Retrieve a single book by its ID
  • Add a book to your reading list

Authentication

Every request must include an API key in the X-API-Key header. See the Authentication guide for details.

Errors

Errors use the Problem Details format (RFC 9457) with the application/problem+json media type. See the Error handling guide for details.

Books

List, retrieve, and add books on your reading list.

List books

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.

Authorizations:
ApiKeyAuth
query Parameters
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.

Responses

Request samples

curl "http://127.0.0.1:4010/books?status=unread&limit=10" \
  -H "X-API-Key: demo-key"

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Add a book

Adds a book to your reading list. The server assigns the book's id and createdAt timestamp.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
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. unread means you have not started the book, reading means you are partway through it, and finished means you have completed it.

Responses

Request samples

Content type
application/json
{
  • "title": "The Art of API Docs",
  • "author": "Jane Example",
  • "status": "unread"
}

Response samples

Content type
application/json
{
  • "id": "bk_003",
  • "title": "The Art of API Docs",
  • "author": "Jane Example",
  • "status": "unread",
  • "createdAt": "2026-10-14T18:45:00Z"
}

Get a book

Returns a single book by its ID.

Authorizations:
ApiKeyAuth
path Parameters
bookId
required
string
Example: bk_001

The book's unique identifier, as returned in the id field when the book was created. IDs start with bk_.

Responses

Request samples

curl http://127.0.0.1:4010/books/bk_001 \
  -H "X-API-Key: demo-key"

Response samples

Content type
application/json
{
  • "id": "bk_001",
  • "title": "Docs for Developers",
  • "author": "A. Writer",
  • "status": "unread",
  • "createdAt": "2026-09-28T09:15:00Z"
}