Skip to main content

ImportReadingProgressResponse

The response for both a real import and a dry run: the shape is identical either way, so a client cannot tell from the response alone whether anything was written. Only dry_run (and the DB) says that.

dry_runbooleanrequired
noticesstring[]

Informational notes about the request, e.g. reattach_sessions having no effect because the file carries no sessions.

series object[]required
  • Array [
  • 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 accept_stem_matches 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.

    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]

    file_namestringrequired
    matched_book_id(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.

    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
    library_relative_pathstringrequired
    matched_series_id(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]

  • ]
  • sessions_in_filebooleanrequired
    summary objectrequired

    Totals across every series in the file, for a one-line summary.

    books_ambiguousinteger<int32>required

    Possible values: >= 0

    books_hash_mismatchinteger<int32>required

    Possible values: >= 0

    books_matchedinteger<int32>required

    Possible values: >= 0

    books_stem_matchedinteger<int32>required

    Possible values: >= 0

    books_totalinteger<int32>required

    Possible values: >= 0

    books_unmatchedinteger<int32>required

    Possible values: >= 0

    completions_insertedinteger<int32>required

    Possible values: >= 0

    completions_reattachedinteger<int32>required

    Possible values: >= 0

    progress_writteninteger<int32>required

    Possible values: >= 0

    ratings_writteninteger<int32>required

    Possible values: >= 0

    series_ambiguousinteger<int32>required

    Possible values: >= 0

    series_committedinteger<int32>required

    Possible values: >= 0

    series_matchedinteger<int32>required

    Possible values: >= 0

    series_totalinteger<int32>required

    Possible values: >= 0

    series_unmatchedinteger<int32>required

    Possible values: >= 0

    sessions_insertedinteger<int32>required

    Possible values: >= 0

    sessions_reattachedinteger<int32>required

    Possible values: >= 0

    ImportReadingProgressResponse
    {
    "dry_run": true,
    "notices": [
    "string"
    ],
    "series": [
    {
    "attempted": true,
    "books": [
    {
    "applied": true,
    "completions": {
    "inserted": 0,
    "reattached": 0,
    "skipped": 0
    },
    "disposition": "matched",
    "file_name": "string",
    "matched_book_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "path": "string",
    "progress": "inserted",
    "sessions": {
    "inserted": 0,
    "reattached": 0,
    "skipped": 0
    }
    }
    ],
    "committed": true,
    "disposition": "matched",
    "error": "string",
    "library_relative_path": "string",
    "matched_series_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "string",
    "rating": "inserted"
    }
    ],
    "sessions_in_file": true,
    "summary": {
    "books_ambiguous": 0,
    "books_hash_mismatch": 0,
    "books_matched": 0,
    "books_stem_matched": 0,
    "books_total": 0,
    "books_unmatched": 0,
    "completions_inserted": 0,
    "completions_reattached": 0,
    "progress_written": 0,
    "ratings_written": 0,
    "series_ambiguous": 0,
    "series_committed": 0,
    "series_matched": 0,
    "series_total": 0,
    "series_unmatched": 0,
    "sessions_inserted": 0,
    "sessions_reattached": 0
    }
    }