ExportSeriesDto
One series and everything the exporting user recorded against its books.
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
includeSessions=false.
"measured", "inferred", or "unknown".
measured"progress", "completed", or "reset".
progressexternalIds 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.
{
"books": [
{
"completions": [
{
"completedAt": "2024-07-29T15:51:28.071Z",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"startedAt": "2024-07-29T15:51:28.071Z"
}
],
"fileHash": "string",
"fileName": "v01.cbz",
"partialHash": "string",
"path": "Vol 01/v01.cbz",
"progress": {
"completed": true,
"completedAt": "2024-07-29T15:51:28.071Z",
"currentPage": 0,
"progressPercentage": 0,
"r2Progression": "string",
"startedAt": "2024-07-29T15:51:28.071Z",
"updatedAt": "2024-07-29T15:51:28.071Z"
},
"sessions": "Unknown Type: array,null"
}
],
"externalIds": [
{
"id": "12345",
"source": "plugin:mangabaka"
}
],
"libraryRelativePath": "shonen/Naruto",
"name": "Naruto",
"notes": "string",
"rating": 0,
"ratingUpdatedAt": "2024-07-29T15:51:28.071Z"
}