---
title: "Updates the given reading profile, must belong to the current user"
method: POST
path: "/api/reading-profile"
tags: ["ReadingProfile"]
---

# Updates the given reading profile, must belong to the current user

`POST /api/reading-profile`

## Request

- Base URL: `http://localhost:5000`
- URL: `http://localhost:5000/api/reading-profile`
- Auth: API key in header `x-api-key`

This does not update connected series and libraries.

## Request body

- UserReadingProfileDto
  - `id` integer
  - `userId` integer
  - `name` string, nullable
  - `kind` 0 | 1 | 2: Members: - `0` — Default - `1` — User - `2` — Implicit
  - `deviceIds` integer[], nullable
  - `seriesIds` integer[], nullable
  - `libraryIds` integer[], nullable
  - `readingDirection` 0 | 1, required: Members: - `0` — LeftToRight - `1` — RightToLeft
  - `scalingOption` 0 | 1 | 2 | 3, required: Members: - `0` — FitToHeight - `1` — FitToWidth - `2` — Original - `3` — Automatic
  - `pageSplitOption` 0 | 1 | 2 | 3, required: Members: - `0` — SplitLeftToRight - `1` — SplitRightToLeft - `2` — NoSplit - `3` — FitSplit
  - `readerMode` 0 | 1 | 2, required: Members: - `0` — Left and Right (LeftRight) - `1` — Up and Down (UpDown) - `2` — Webtoon
  - `autoCloseMenu` boolean, required
  - `showScreenHints` boolean, required
  - `emulateBook` boolean, required
  - `layoutMode` 1 | 2 | 3, required: Members: - `1` — Single - `2` — Double - `3` — Double (manga) (DoubleReversed)
  - `backgroundColor` string, required
  - `swipeToPaginate` boolean, required
  - `allowAutomaticWebtoonReaderDetection` boolean, required
  - `widthOverride` integer, nullable
  - `disableWidthOverride` 0 | 768 | 1280 | 1440: Members: - `0` — Never - `768` — Mobile - `1280` — Tablet - `1440` — Desktop
  - `bookReaderMargin` integer, required
  - `bookReaderLineSpacing` integer, required
  - `bookReaderFontSize` integer, required
  - `bookReaderFontFamily` string, required
  - `bookReaderTapToPaginate` boolean, required
  - `bookReaderReadingDirection` 0 | 1, required: Members: - `0` — LeftToRight - `1` — RightToLeft
  - `bookReaderWritingStyle` 0 | 1, required: Members: - `0` — Horizontal - `1` — Vertical
  - `bookReaderThemeName` string, required
  - `bookReaderLayoutMode` 0 | 1 | 2, required: Members: - `0` — Default - `1` — 1 Column (Column1) - `2` — 2 Column (Column2)
  - `bookReaderImmersiveMode` boolean, required
  - `bookReaderDisableBookmarkIcon` boolean, required
  - `pdfTheme` 0 | 1, required: Members: - `0` — Dark - `1` — Light
  - `pdfScrollMode` 0 | 1 | 3, required: Members: - `0` — Vertical - `1` — Horizontal - `3` — Page
  - `pdfSpreadMode` 0 | 1 | 2, required: Members: - `0` — None - `1` — Odd - `2` — Even

## Response `200`

OK

- UserReadingProfileDto
  - `id` integer
  - `userId` integer
  - `name` string, nullable
  - `kind` 0 | 1 | 2: Members: - `0` — Default - `1` — User - `2` — Implicit
  - `deviceIds` integer[], nullable
  - `seriesIds` integer[], nullable
  - `libraryIds` integer[], nullable
  - `readingDirection` 0 | 1, required: Members: - `0` — LeftToRight - `1` — RightToLeft
  - `scalingOption` 0 | 1 | 2 | 3, required: Members: - `0` — FitToHeight - `1` — FitToWidth - `2` — Original - `3` — Automatic
  - `pageSplitOption` 0 | 1 | 2 | 3, required: Members: - `0` — SplitLeftToRight - `1` — SplitRightToLeft - `2` — NoSplit - `3` — FitSplit
  - `readerMode` 0 | 1 | 2, required: Members: - `0` — Left and Right (LeftRight) - `1` — Up and Down (UpDown) - `2` — Webtoon
  - `autoCloseMenu` boolean, required
  - `showScreenHints` boolean, required
  - `emulateBook` boolean, required
  - `layoutMode` 1 | 2 | 3, required: Members: - `1` — Single - `2` — Double - `3` — Double (manga) (DoubleReversed)
  - `backgroundColor` string, required
  - `swipeToPaginate` boolean, required
  - `allowAutomaticWebtoonReaderDetection` boolean, required
  - `widthOverride` integer, nullable
  - `disableWidthOverride` 0 | 768 | 1280 | 1440: Members: - `0` — Never - `768` — Mobile - `1280` — Tablet - `1440` — Desktop
  - `bookReaderMargin` integer, required
  - `bookReaderLineSpacing` integer, required
  - `bookReaderFontSize` integer, required
  - `bookReaderFontFamily` string, required
  - `bookReaderTapToPaginate` boolean, required
  - `bookReaderReadingDirection` 0 | 1, required: Members: - `0` — LeftToRight - `1` — RightToLeft
  - `bookReaderWritingStyle` 0 | 1, required: Members: - `0` — Horizontal - `1` — Vertical
  - `bookReaderThemeName` string, required
  - `bookReaderLayoutMode` 0 | 1 | 2, required: Members: - `0` — Default - `1` — 1 Column (Column1) - `2` — 2 Column (Column2)
  - `bookReaderImmersiveMode` boolean, required
  - `bookReaderDisableBookmarkIcon` boolean, required
  - `pdfTheme` 0 | 1, required: Members: - `0` — Dark - `1` — Light
  - `pdfScrollMode` 0 | 1 | 3, required: Members: - `0` — Vertical - `1` — Horizontal - `3` — Page
  - `pdfSpreadMode` 0 | 1 | 2, required: Members: - `0` — None - `1` — Odd - `2` — Even

## Changes

- **2026-09-01** `e7ced995b077`: 9 breaking, 9 warning, 18 info
  - removed the enum value `1.00` of the request property `disableWidthOverride` (media type: application/json)
  - removed the enum value `1.00` of the request property `disableWidthOverride` (media type: text/json)
  - removed the enum value `1.00` of the request property `disableWidthOverride` (media type: application/*+json)
  - removed the enum value `2.00` of the request property `disableWidthOverride` (media type: application/json)
  - …32 more
- **2026-04-01** `3dfbcae62b15`: 3 breaking, 3 info
  - added the new required request property `bookReaderDisableBookmarkIcon` (media type: application/json)
  - added the new required request property `bookReaderDisableBookmarkIcon` (media type: text/json)
  - added the new required request property `bookReaderDisableBookmarkIcon` (media type: application/*+json)
  - added the required property `bookReaderDisableBookmarkIcon` to the response with the `200` status (media type: text/plain)
  - …2 more
- **2025-12-31** `a2fbe407f214`: 18 info
  - added the new optional request property `deviceIds` (media type: application/json)
  - added the new optional request property `deviceIds` (media type: text/json)
  - added the new optional request property `deviceIds` (media type: application/*+json)
  - added the new optional request property `libraryIds` (media type: application/json)
  - …14 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/kareadita/apis/kavita/changes/api/reading-profile/post.md)

---

[API](https://skmtc.dev/kareadita/apis/kavita.md) - [All operations](https://skmtc.dev/kareadita/apis/kavita/llms.txt) - [OpenAPI document](https://skmtc.dev/kareadita/apis/kavita/revisions/d266465eeb67?raw)
