Skip to main content
Collections group related series, such as a summer reading theme, an award shortlist, or a favorite set. A collection stores series IDs; use Read Lists when the items are individual books. Generated operations return { data, error, request, response }. Pass flat parameters first and { client } second. Collection creation and updates require the ADMIN role; listing and reading collections follows the user’s library permissions.

List collections

search, library_id, page, size, and unpaged are flat query parameters. Use unpaged: true when a client needs to inspect every collection rather than walking pages.

Get a collection by ID

Create a collection

The generated body parameter is collectionCreationDto:
Use ordered: true when the sequence of series is meaningful. With ordered: false, consumers should treat seriesIds as a grouping rather than a reading order.

Update a collection

collectionUpdateDto is partial. Include seriesIds when changing membership or order; the supplied array replaces the collection’s current series list, so fetch the collection first when adding one ID without dropping existing entries:

Delete a collection

Deleting a collection does not delete any of its series:

Find collections for a series

This endpoint returns an array, not a paginated response:

Thumbnails

Komga can expose a selected poster for a collection and can retain several uploaded thumbnails. Thumbnail reads return binary data, uploads return thumbnail metadata, and deletes return an accepted/no-content result.

Read a collection thumbnail

Upload a custom thumbnail

The upload parameter is a flat file value. Set selected: true when this upload should become the collection’s selected poster; omit it when storing an alternate thumbnail.

Delete a custom thumbnail

Use the collection ID and the uploaded thumbnail ID returned by the thumbnail-list operation:

Workflows

Build a “Recently Added” collection

getSeries uses the same flat pagination/sort parameters and a required seriesSearch body. This workflow keeps the newest series in a defined order:

Organize series by genre

seriesSearch.fullTextSearch is the generated search field. Create a collection only when a genre has matches:

Add a series without losing existing order

Read the current list, append only if the series is not already present, and send the complete replacement list:

Collections vs Read Lists

Next steps