Skip to main content
Read Lists organize individual books in a defined sequence. They are useful for:
  • Crossover events spanning multiple series
  • Recommended reading orders for complex universes
  • Personal “to-read” queues
  • Curated book-club selections
For series-level grouping, use Collections. Generated operations return { data, error, request, response }; pass flat parameters first and { client } second. Creating, updating, and deleting a read list requires the ADMIN role.

List read lists

search, library_id, page, size, and unpaged remain flat query parameters. Use unpaged: true when calculating a complete queue.

Get a read list by ID

A read-list response contains the ordered bookIds array:

Create a read list

The generated body parameter is readListCreationDto. Keep the IDs in the intended order when ordered is true:
Use ordered: true for a sequence where next/previous navigation matters. Use ordered: false for a thematic grouping where the server does not need to preserve a reading order.

Update a read list

readListUpdateDto is partial, but bookIds is a complete replacement when supplied. Fetch first when inserting one book into an existing order:

Delete a read list

Deleting a read list does not delete its books:

Get books in a read list

The path parameter is named id. The returned page preserves the read-list order; unpaged: true is useful when progress or export code needs every book:

Find read lists containing a book

This operation returns an array rather than a paginated response:

Import a ComicRack list

matchComicRackList accepts the uploaded .cbl file directly. The result contains one request entry per requested book and its candidate matches; inspect these before creating a list:
A missing or ambiguous match is not a successful book selection. Resolve those entries in the UI or by a follow-up search before sending bookIds to createReadList.

Thumbnails

Thumbnail reads return binary data. Uploads accept a flat file and optional selected query value; deleting an upload needs its thumbnailId.
At a boundary the server may return no book. Check error first; only treat an undefined data value as “end” or “beginning” when the request itself succeeded:

Workflows

Build a crossover reading order

Create a “Next Up” queue

The current list operation requires bookSearch; use a read-status condition rather than the removed top-level readStatus body field:

Calculate progress through a read list

Read each book’s readProgress.completed flag. An absent progress object is unread; do not use the old read property:

Next steps