Skip to main content
Komga exposes Mihon/Tachiyomi progress operations for read lists and series. Use the standard Read Progress operations for page-based or OPDS/Readium readers. Generated operations return { data, error, request, response }. Path and body values are flat parameters; pass { client } as the second argument.
These endpoints use Mihon’s progress model. A read-list position (lastBookRead) is an index into the list, while a series position (lastBookNumberSortRead) is the numeric sort value of the last book. Do not send one field to the other operation.

Read-list progress

Get read-list progress

The response includes total, unread, in-progress, and read counts plus the last continuously read index:

Update read-list progress

The body parameter is tachiyomiReadProgressUpdateDto and contains only lastBookRead:
Send the list position produced by the Mihon client, not a book ID or a series number. The update returns a successful no-content result; fetch the progress endpoint again when the UI needs refreshed counts.

Series progress

Get series progress

The v2 response also reports the maximum and last continuous numeric sort values:

Update series progress

The series operation uses tachiyomiReadProgressUpdateV2Dto with lastBookNumberSortRead:
This value follows Komga’s numeric book sort, so a display label such as #42.5 must be converted using the same numeric sort value the server returns rather than parsed as an integer.

Workflow: sync client state

Read the server state before writing and keep the model-specific field in local state:
For a read list, send the list index instead:

Handle failures

Inspect the structured result when a request should remain non-throwing. A 404 generally means the list or series ID is not visible to the authenticated user; a 401 means the client is not authenticated:
Use unwrap and KomgaApiError when your application wants a throwing boundary.

Next steps

Read Progress

Track standard page and OPDS progression.

Read Lists

Create and manage reading lists.