ReadingProgressExportDocument
The whole export: one user's reading state, self-describing enough to be matched back against a differently organised library.
codex-reading-progressseries object[]
books object[]
completions object[]
Empty when the book was never analyzed; never treated as a value to match on in that case.
v01.cbzRelative to the series folder, so a series move does not invalidate it.
Vol 01/v01.cbzprogress object
The live resume position for one book. Retains r2_progression: it is the
only place the EPUB locator survives, since sessions strip it.
sessions object[]
Omitted entirely (not an empty array) when the export was taken with
include_sessions=false.
"measured", "inferred", or "unknown".
measured"progress", "completed", or "reset".
progressexternal_ids object[]
12345plugin:<name>, comicinfo, epub, or manual.
plugin:mangabakaThe series path as stored, relative to the library root.
shonen/NarutoNarutoWhen the rating was last changed. The newest conflict policy needs it
to tell a stale rating from a fresh one; a file without it never
overwrites an existing rating except under overwrite.
1{
"exported_at": "2024-07-29T15:51:28.071Z",
"format": "codex-reading-progress",
"includes_sessions": true,
"series": [
{
"books": [
{
"completions": [
{
"completed_at": "2024-07-29T15:51:28.071Z",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"started_at": "2024-07-29T15:51:28.071Z"
}
],
"file_hash": "string",
"file_name": "v01.cbz",
"partial_hash": "string",
"path": "Vol 01/v01.cbz",
"progress": {
"completed": true,
"completed_at": "2024-07-29T15:51:28.071Z",
"current_page": 0,
"progress_percentage": 0,
"r2_progression": "string",
"started_at": "2024-07-29T15:51:28.071Z",
"updated_at": "2024-07-29T15:51:28.071Z"
},
"sessions": "Unknown Type: array,null"
}
],
"external_ids": [
{
"id": "12345",
"source": "plugin:mangabaka"
}
],
"library_relative_path": "shonen/Naruto",
"name": "Naruto",
"notes": "string",
"rating": 0,
"rating_updated_at": "2024-07-29T15:51:28.071Z"
}
],
"version": 1
}