{ client }; responses are non-throwing.
Latest books
On-deck books
Scope and page discovery calls
getBooksLatest accepts unpaged, page, and size. getBooksOnDeck accepts the same pagination keys plus library_id (an array) to scope the result to one or more libraries. Both return PageBookDto; content can be empty even when the request succeeds, so use totalElements/totalPages for navigation.
Duplicate books
getBooksDuplicates returns a PageBookDto. Each item is a normal BookDto; duplicates are identified by their shared file hash.
Review duplicates safely
Duplicate-book listing is an administrative operation (ADMIN). Each BookDto includes a fileHash; group by that value before deciding which file to keep. A duplicate hash does not by itself tell you which metadata or read progress is authoritative, and deleting a file is irreversible.
Common workflows
Home dashboard data
Find duplicates and notify an administrator
Error handling
The non-throwing result exposes the response when the server returned an HTTP error:403 is expected for duplicate-book requests when the account is not an administrator. A 404 means the requested resource or library is not available to the current user; do not treat that as an empty page.
Next steps
Book Content
Access pages, thumbnails, and manifests.
Series Discovery
Find new series and release dates.