Skip to main content

ImportSeriesReport

The outcome for one series in the import file.

attemptedbooleanrequired

Whether book/rating processing was attempted at all (only when disposition == matched).

books object[]required
  • Array [
  • appliedbooleanrequired

    Whether any writes were attempted for this book. False for every disposition except matched, and except stem_match when acceptStemMatches is off.

    completions objectrequired

    Insert/reattach/skip counts for an append-only table (completions or sessions) within one book.

    insertedinteger<int32>required

    Possible values: >= 0

    reattachedinteger<int32>required

    Adopted an orphaned row (book_id IS NULL) rather than inserting a new one.

    Possible values: >= 0

    skippedinteger<int32>required

    Already present with the same book attached; re-importing is a no-op. Includes stranded, so inserted + reattached + skipped still totals every row in the file.

    Possible values: >= 0

    strandedinteger<int32>required

    Skipped because the row sits on a book that is still live in another library, which is not the same thing as a harmless re-import: the reading history stays behind while the progress moves. Reattaching it would strip a library the reader may still be using, so the import reports it instead of guessing.

    Possible values: >= 0

    dispositionBookDispositionrequired

    Why a book in the import file could not be resolved to exactly one book in its matched series.

    Possible values: [matched, stem_match, ambiguous, unmatched, hash_mismatch]

    fileNamestringrequired
    matchedBookId(string | null)<uuid>nullable
    pathstringrequired
    progressFieldOutcome

    What happened to one scalar field write (progress or rating) under the active conflict policy.

    Possible values: [inserted, updated, skipped]

    sessions objectrequired

    Insert/reattach/skip counts for an append-only table (completions or sessions) within one book.

    insertedinteger<int32>required

    Possible values: >= 0

    reattachedinteger<int32>required

    Adopted an orphaned row (book_id IS NULL) rather than inserting a new one.

    Possible values: >= 0

    skippedinteger<int32>required

    Already present with the same book attached; re-importing is a no-op. Includes stranded, so inserted + reattached + skipped still totals every row in the file.

    Possible values: >= 0

    strandedinteger<int32>required

    Skipped because the row sits on a book that is still live in another library, which is not the same thing as a harmless re-import: the reading history stays behind while the progress moves. Reattaching it would strip a library the reader may still be using, so the import reports it instead of guessing.

    Possible values: >= 0

  • ]
  • committedbooleanrequired

    Whether this series' transaction was committed. Always false in a dry run, and false if attempted but a write failed.

    dispositionSeriesDispositionrequired

    Why a series in the import file could not be resolved to exactly one series in the current library.

    Possible values: [matched, ambiguous, unmatched]

    errorstring | nullnullable
    libraryRelativePathstringrequired
    matchedSeriesId(string | null)<uuid>nullable
    namestringrequired
    ratingFieldOutcome

    What happened to one scalar field write (progress or rating) under the active conflict policy.

    Possible values: [inserted, updated, skipped]

    ImportSeriesReport
    {
    "attempted": true,
    "books": [
    {
    "applied": true,
    "completions": {
    "inserted": 0,
    "reattached": 0,
    "skipped": 0,
    "stranded": 0
    },
    "disposition": "matched",
    "fileName": "string",
    "matchedBookId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "path": "string",
    "progress": "inserted",
    "sessions": {
    "inserted": 0,
    "reattached": 0,
    "skipped": 0,
    "stranded": 0
    }
    }
    ],
    "committed": true,
    "disposition": "matched",
    "error": "string",
    "libraryRelativePath": "string",
    "matchedSeriesId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "string",
    "rating": "inserted"
    }