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.
Navigate within a read list
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