Skip to main content

Import reading progress from an export document

POST 

/api/v1/reading-progress/import

Resolves the file's series and books against the current library through the same access-group / sharing-tag visibility that an ordinary read respects: a book the importing user cannot see resolves as unmatched, never as a permission error that would confirm it exists, and nothing is ever written against it.

Matching never guesses: any step (external id, path, file name, or, under hashMode = "match", hash) that finds more than one candidate reports ambiguous and writes nothing for that series or book. dryRun: true returns the identical response shape without writing anything, which is what makes it safe to preview before committing.

Each series is applied in its own transaction; the response's per-series committed field says which ones actually landed. read_completions and reading_sessions reuse their exported ids on insert, so importing the same file twice leaves row counts unchanged rather than duplicating history.

Request​

Responses​

Import processed (or, for a dry run, previewed)