---
title: "Finalizes the import of a saved CBL file with user decisions"
method: POST
path: "/api/Cbl/finalize-import"
tags: ["Cbl"]
---

# Finalizes the import of a saved CBL file with user decisions

`POST /api/Cbl/finalize-import`

## Request body

- CblFinalizeRequestDto
  - `fileName` string, nullable
  - `decisions` CblImportDecisions
    - `itemResolutions` object, nullable
    - `saveAsRemapRules` boolean
  - `provider` 0 | 1 | 2 — Members: - `0` — File (None) - `1` — File - `2` — Url
  - `repoPath` string, nullable
  - `downloadUrl` string, nullable
  - `sha` string, nullable
  - `promote` boolean

## Response `200`

OK

- CblImportSummaryDto
  - `cblName` string, nullable
  - `fileName` string, nullable
  - `results` CblBookResult[], nullable
    - `order` integer
    - `series` string, nullable
    - `volume` string, nullable
    - `number` string, nullable
    - `libraryId` integer
    - `seriesId` integer
    - `readingListName` string, nullable
    - `reason` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 — Members: - `0` — Chapter missing (ChapterMissing) - `1` — Volume missing (VolumeMissing) - `2` — Series missing (SeriesMissing) - `3` — Name Conflict (NameConflict) - `4` — All Series Missing (AllSeriesMissing) - `5` — Empty File (EmptyFile) - `6` — Series Collision (SeriesCollision) - `7` — All Chapters Missing (AllChapterMissing) - `8` — Success - `9` — Invalid File (InvalidFile)
    - `matchTier` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | -1 — Members: - `0` — RemapRule - `1` — ExternalId - `2` — ExactName - `3` — ComicVineNaming - `4` — ArticleStripped - `5` — ReprintStripped - `6` — AlternateSeries - `7` — UserDecision - `-1` — Unmatched
    - `chapterId` integer
    - `chapterTitle` string, nullable
    - `matchedSeriesName` string, nullable
    - `libraryType` 0 | 1 | 2 | 3 | 4 | 5 — Members: - `0` — Manga - `1` — Comic (Flexible) (Comic) - `2` — Book - `3` — Image - `4` — Light Novel (LightNovel) - `5` — Comic (ComicVine)
    - `chapterNumber` string, nullable
    - `candidates` CblSeriesCandidate[], nullable
      - `seriesId` integer
      - `libraryId` integer
      - `seriesName` string, nullable
  - `success` 0 | 1 | 2 — Members: - `0` — Fail - `1` — Partial - `2` — Success
  - `successfulInserts` CblBookResult[], nullable
    - `order` integer
    - `series` string, nullable
    - `volume` string, nullable
    - `number` string, nullable
    - `libraryId` integer
    - `seriesId` integer
    - `readingListName` string, nullable
    - `reason` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 — Members: - `0` — Chapter missing (ChapterMissing) - `1` — Volume missing (VolumeMissing) - `2` — Series missing (SeriesMissing) - `3` — Name Conflict (NameConflict) - `4` — All Series Missing (AllSeriesMissing) - `5` — Empty File (EmptyFile) - `6` — Series Collision (SeriesCollision) - `7` — All Chapters Missing (AllChapterMissing) - `8` — Success - `9` — Invalid File (InvalidFile)
    - `matchTier` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | -1 — Members: - `0` — RemapRule - `1` — ExternalId - `2` — ExactName - `3` — ComicVineNaming - `4` — ArticleStripped - `5` — ReprintStripped - `6` — AlternateSeries - `7` — UserDecision - `-1` — Unmatched
    - `chapterId` integer
    - `chapterTitle` string, nullable
    - `matchedSeriesName` string, nullable
    - `libraryType` 0 | 1 | 2 | 3 | 4 | 5 — Members: - `0` — Manga - `1` — Comic (Flexible) (Comic) - `2` — Book - `3` — Image - `4` — Light Novel (LightNovel) - `5` — Comic (ComicVine)
    - `chapterNumber` string, nullable
    - `candidates` CblSeriesCandidate[], nullable
      - `seriesId` integer
      - `libraryId` integer
      - `seriesName` string, nullable
  - `isUpdate` boolean
  - `readingListId` integer

---

[API](https://skmtc.net/kareadita/apis/kavita.md) · [All operations](https://skmtc.net/kareadita/apis/kavita/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kareadita/kavita/versions/a092f0284f3e/schema)
