---
title: "Changes to Update the user preferences"
method: POST
path: "/api/Users/update-preferences"
---

# Changes to Update the user preferences

`POST /api/Users/update-preferences`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 16 of 136 revisions.

- **2026-10-03** `20dc09733e05`: 6 info
- **2026-09-20** `4e3330779233`: 6 breaking, 6 info
- **2026-07-23** `751a92d6effc`: 6 info
- **2026-04-13** `2a82e5fe5308`: 42 breaking, 66 info
- **2025-12-31** `a2fbe407f214`: 6 info
- **2025-12-19** `add8826dba01`: 12 info
- **2025-12-13** `ba8553c39654`: 3 breaking, 9 info
- **2025-11-01** `c59c4436529e`: 6 breaking, 6 info
- **2025-11-01** `6cabddef7e29`: 3 breaking, 3 info
- **2025-10-11** `115810d94e11`: 3 breaking, 3 info
- **2025-10-04** `89037f9576e8`: 3 breaking, 3 warning, 6 info
- **2025-09-28** `4e8350222ca6`: 6 warning
- **2025-09-20** `eb8d8ffe951a`: 3 breaking, 3 info
- **2025-08-30** `e28764d251f1`: 3 breaking, 3 info
- **2025-06-08** `f67785730083`: 75 breaking, 72 warning, 3 info
- **2025-05-04** `cf686683146a`: 3 breaking, 3 warning

## Changes

- **2026-10-03** `20dc09733e05`: 6 info
  - added the new optional request property `customKeyBinds/OpenEventWidget` (media type: application/json)
  - added the new optional request property `customKeyBinds/OpenEventWidget` (media type: text/json)
  - added the new optional request property `customKeyBinds/OpenEventWidget` (media type: application/*+json)
  - added the optional property `customKeyBinds/OpenEventWidget` to the response with the `200` status (media type: text/plain)
  - added the optional property `customKeyBinds/OpenEventWidget` to the response with the `200` status (media type: application/json)
  - added the optional property `customKeyBinds/OpenEventWidget` to the response with the `200` status (media type: text/json)
- **2026-09-20** `4e3330779233`: 6 breaking, 6 info
  - added the new required request property `onDeckProgressDays` (media type: application/json)
  - added the new required request property `onDeckProgressDays` (media type: text/json)
  - added the new required request property `onDeckProgressDays` (media type: application/*+json)
  - added the new required request property `onDeckUpdateDays` (media type: application/json)
  - added the new required request property `onDeckUpdateDays` (media type: text/json)
  - added the new required request property `onDeckUpdateDays` (media type: application/*+json)
  - added the required property `onDeckProgressDays` to the response with the `200` status (media type: text/plain)
  - added the required property `onDeckProgressDays` to the response with the `200` status (media type: application/json)
  - added the required property `onDeckProgressDays` to the response with the `200` status (media type: text/json)
  - added the required property `onDeckUpdateDays` to the response with the `200` status (media type: text/plain)
  - added the required property `onDeckUpdateDays` to the response with the `200` status (media type: application/json)
  - added the required property `onDeckUpdateDays` to the response with the `200` status (media type: text/json)
- **2026-07-23** `751a92d6effc`: 6 info
  - added the new optional request property `customKeyBinds/NavigateHome` (media type: application/json)
  - added the new optional request property `customKeyBinds/NavigateHome` (media type: text/json)
  - added the new optional request property `customKeyBinds/NavigateHome` (media type: application/*+json)
  - added the optional property `customKeyBinds/NavigateHome` to the response with the `200` status (media type: text/plain)
  - added the optional property `customKeyBinds/NavigateHome` to the response with the `200` status (media type: application/json)
  - added the optional property `customKeyBinds/NavigateHome` to the response with the `200` status (media type: text/json)
- **2026-04-13** `2a82e5fe5308`: 42 breaking, 66 info
  - the request property `customKeyBinds/BookmarkPage/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/BookmarkPage/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/BookmarkPage/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/Escape/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/Escape/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/Escape/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/GoTo/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/GoTo/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/GoTo/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/NavigateToScrobbling/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/NavigateToScrobbling/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/NavigateToScrobbling/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/NavigateToSettings/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/NavigateToSettings/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/NavigateToSettings/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/OffsetDoublePage/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/OffsetDoublePage/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/OffsetDoublePage/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/OpenHelp/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/OpenHelp/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/OpenHelp/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/OpenSearch/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/OpenSearch/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/OpenSearch/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/PageDown/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/PageDown/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/PageDown/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/PageLeft/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/PageLeft/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/PageLeft/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/PageRight/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/PageRight/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/PageRight/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/PageUp/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/PageUp/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/PageUp/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/ToggleFullScreen/items/key` became required (media type: application/json)
  - the request property `customKeyBinds/ToggleFullScreen/items/key` became required (media type: text/json)
  - the request property `customKeyBinds/ToggleFullScreen/items/key` became required (media type: application/*+json)
  - the request property `customKeyBinds/ToggleMenu/items/key` became required (media type: application/json)
  - …68 more
- **2025-12-31** `a2fbe407f214`: 6 info
  - added the new optional request property `customKeyBinds/OffsetDoublePage` (media type: application/json)
  - added the new optional request property `customKeyBinds/OffsetDoublePage` (media type: text/json)
  - added the new optional request property `customKeyBinds/OffsetDoublePage` (media type: application/*+json)
  - added the optional property `customKeyBinds/OffsetDoublePage` to the response with the `200` status (media type: text/plain)
  - added the optional property `customKeyBinds/OffsetDoublePage` to the response with the `200` status (media type: application/json)
  - added the optional property `customKeyBinds/OffsetDoublePage` to the response with the `200` status (media type: text/json)
- **2025-12-19** `add8826dba01`: 12 info
  - added the new optional request property `customKeyBinds/PageDown` (media type: application/json)
  - added the new optional request property `customKeyBinds/PageDown` (media type: text/json)
  - added the new optional request property `customKeyBinds/PageDown` (media type: application/*+json)
  - added the new optional request property `customKeyBinds/PageUp` (media type: application/json)
  - added the new optional request property `customKeyBinds/PageUp` (media type: text/json)
  - added the new optional request property `customKeyBinds/PageUp` (media type: application/*+json)
  - added the optional property `customKeyBinds/PageDown` to the response with the `200` status (media type: text/plain)
  - added the optional property `customKeyBinds/PageDown` to the response with the `200` status (media type: application/json)
  - added the optional property `customKeyBinds/PageDown` to the response with the `200` status (media type: text/json)
  - added the optional property `customKeyBinds/PageUp` to the response with the `200` status (media type: text/plain)
  - added the optional property `customKeyBinds/PageUp` to the response with the `200` status (media type: application/json)
  - added the optional property `customKeyBinds/PageUp` to the response with the `200` status (media type: text/json)
- **2025-12-13** `ba8553c39654`: 3 breaking, 9 info
  - added the new required request property `promptForRereadsAfter` (media type: application/json)
  - added the new required request property `promptForRereadsAfter` (media type: text/json)
  - added the new required request property `promptForRereadsAfter` (media type: application/*+json)
  - added the new optional request property `socialPreferences/shareProfile` (media type: application/json)
  - added the new optional request property `socialPreferences/shareProfile` (media type: text/json)
  - added the new optional request property `socialPreferences/shareProfile` (media type: application/*+json)
  - added the optional property `socialPreferences/shareProfile` to the response with the `200` status (media type: text/plain)
  - added the optional property `socialPreferences/shareProfile` to the response with the `200` status (media type: application/json)
  - added the optional property `socialPreferences/shareProfile` to the response with the `200` status (media type: text/json)
  - added the required property `promptForRereadsAfter` to the response with the `200` status (media type: text/plain)
  - added the required property `promptForRereadsAfter` to the response with the `200` status (media type: application/json)
  - added the required property `promptForRereadsAfter` to the response with the `200` status (media type: text/json)
- **2025-11-01** `c59c4436529e`: 6 breaking, 6 info
  - added the new required request property `opdsPreferences` (media type: application/json)
  - added the new required request property `opdsPreferences` (media type: text/json)
  - added the new required request property `opdsPreferences` (media type: application/*+json)
  - the request property `socialPreferences` became required (media type: application/json)
  - the request property `socialPreferences` became required (media type: text/json)
  - the request property `socialPreferences` became required (media type: application/*+json)
  - the response property `socialPreferences` became required for the status `200` (media type: text/plain)
  - the response property `socialPreferences` became required for the status `200` (media type: application/json)
  - the response property `socialPreferences` became required for the status `200` (media type: text/json)
  - added the required property `opdsPreferences` to the response with the `200` status (media type: text/plain)
  - added the required property `opdsPreferences` to the response with the `200` status (media type: application/json)
  - added the required property `opdsPreferences` to the response with the `200` status (media type: text/json)
- **2025-11-01** `6cabddef7e29`: 3 breaking, 3 info
  - added the new required request property `customKeyBinds` (media type: application/json)
  - added the new required request property `customKeyBinds` (media type: text/json)
  - added the new required request property `customKeyBinds` (media type: application/*+json)
  - added the required property `customKeyBinds` to the response with the `200` status (media type: text/plain)
  - added the required property `customKeyBinds` to the response with the `200` status (media type: application/json)
  - added the required property `customKeyBinds` to the response with the `200` status (media type: text/json)
- **2025-10-11** `115810d94e11`: 3 breaking, 3 info
  - added the new required request property `dataSaver` (media type: application/json)
  - added the new required request property `dataSaver` (media type: text/json)
  - added the new required request property `dataSaver` (media type: application/*+json)
  - added the required property `dataSaver` to the response with the `200` status (media type: text/plain)
  - added the required property `dataSaver` to the response with the `200` status (media type: application/json)
  - added the required property `dataSaver` to the response with the `200` status (media type: text/json)
- **2025-10-04** `89037f9576e8`: 3 breaking, 3 warning, 6 info
  - removed the required property `shareReviews` from the response with the `200` status (media type: text/plain)
  - removed the required property `shareReviews` from the response with the `200` status (media type: application/json)
  - removed the required property `shareReviews` from the response with the `200` status (media type: text/json)
  - removed the request property `shareReviews` (media type: application/json)
  - removed the request property `shareReviews` (media type: text/json)
  - removed the request property `shareReviews` (media type: application/*+json)
  - added the new optional request property `socialPreferences` (media type: application/json)
  - added the new optional request property `socialPreferences` (media type: text/json)
  - added the new optional request property `socialPreferences` (media type: application/*+json)
  - added the optional property `socialPreferences` to the response with the `200` status (media type: text/plain)
  - added the optional property `socialPreferences` to the response with the `200` status (media type: application/json)
  - added the optional property `socialPreferences` to the response with the `200` status (media type: text/json)
- **2025-09-28** `4e8350222ca6`: 6 warning
  - removed the request property `bookReaderHighlightSlots/items/title` (media type: application/json)
  - removed the request property `bookReaderHighlightSlots/items/title` (media type: text/json)
  - removed the request property `bookReaderHighlightSlots/items/title` (media type: application/*+json)
  - removed the optional property `bookReaderHighlightSlots/items/title` from the response with the `200` status (media type: text/plain)
  - removed the optional property `bookReaderHighlightSlots/items/title` from the response with the `200` status (media type: application/json)
  - removed the optional property `bookReaderHighlightSlots/items/title` from the response with the `200` status (media type: text/json)
- **2025-09-20** `eb8d8ffe951a`: 3 breaking, 3 info
  - added the new required request property `colorScapeEnabled` (media type: application/json)
  - added the new required request property `colorScapeEnabled` (media type: text/json)
  - added the new required request property `colorScapeEnabled` (media type: application/*+json)
  - added the required property `colorScapeEnabled` to the response with the `200` status (media type: text/plain)
  - added the required property `colorScapeEnabled` to the response with the `200` status (media type: application/json)
  - added the required property `colorScapeEnabled` to the response with the `200` status (media type: text/json)
- **2025-08-30** `e28764d251f1`: 3 breaking, 3 info
  - added the new required request property `bookReaderHighlightSlots` (media type: application/json)
  - added the new required request property `bookReaderHighlightSlots` (media type: text/json)
  - added the new required request property `bookReaderHighlightSlots` (media type: application/*+json)
  - added the required property `bookReaderHighlightSlots` to the response with the `200` status (media type: text/plain)
  - added the required property `bookReaderHighlightSlots` to the response with the `200` status (media type: application/json)
  - added the required property `bookReaderHighlightSlots` to the response with the `200` status (media type: text/json)
- **2025-06-08** `f67785730083`: 75 breaking, 72 warning, 3 info
  - the response property `globalPageLayoutMode` became optional for the status `200` (media type: text/plain)
  - the response property `globalPageLayoutMode` became optional for the status `200` (media type: application/json)
  - the response property `globalPageLayoutMode` became optional for the status `200` (media type: text/json)
  - removed the required property `allowAutomaticWebtoonReaderDetection` from the response with the `200` status (media type: text/plain)
  - removed the required property `allowAutomaticWebtoonReaderDetection` from the response with the `200` status (media type: application/json)
  - removed the required property `allowAutomaticWebtoonReaderDetection` from the response with the `200` status (media type: text/json)
  - removed the required property `autoCloseMenu` from the response with the `200` status (media type: text/plain)
  - removed the required property `autoCloseMenu` from the response with the `200` status (media type: application/json)
  - removed the required property `autoCloseMenu` from the response with the `200` status (media type: text/json)
  - removed the required property `backgroundColor` from the response with the `200` status (media type: text/plain)
  - removed the required property `backgroundColor` from the response with the `200` status (media type: application/json)
  - removed the required property `backgroundColor` from the response with the `200` status (media type: text/json)
  - removed the required property `bookReaderFontFamily` from the response with the `200` status (media type: text/plain)
  - removed the required property `bookReaderFontFamily` from the response with the `200` status (media type: application/json)
  - removed the required property `bookReaderFontFamily` from the response with the `200` status (media type: text/json)
  - removed the required property `bookReaderFontSize` from the response with the `200` status (media type: text/plain)
  - removed the required property `bookReaderFontSize` from the response with the `200` status (media type: application/json)
  - removed the required property `bookReaderFontSize` from the response with the `200` status (media type: text/json)
  - removed the required property `bookReaderImmersiveMode` from the response with the `200` status (media type: text/plain)
  - removed the required property `bookReaderImmersiveMode` from the response with the `200` status (media type: application/json)
  - removed the required property `bookReaderImmersiveMode` from the response with the `200` status (media type: text/json)
  - removed the required property `bookReaderLayoutMode` from the response with the `200` status (media type: text/plain)
  - removed the required property `bookReaderLayoutMode` from the response with the `200` status (media type: application/json)
  - removed the required property `bookReaderLayoutMode` from the response with the `200` status (media type: text/json)
  - removed the required property `bookReaderLineSpacing` from the response with the `200` status (media type: text/plain)
  - removed the required property `bookReaderLineSpacing` from the response with the `200` status (media type: application/json)
  - removed the required property `bookReaderLineSpacing` from the response with the `200` status (media type: text/json)
  - removed the required property `bookReaderMargin` from the response with the `200` status (media type: text/plain)
  - removed the required property `bookReaderMargin` from the response with the `200` status (media type: application/json)
  - removed the required property `bookReaderMargin` from the response with the `200` status (media type: text/json)
  - removed the required property `bookReaderReadingDirection` from the response with the `200` status (media type: text/plain)
  - removed the required property `bookReaderReadingDirection` from the response with the `200` status (media type: application/json)
  - removed the required property `bookReaderReadingDirection` from the response with the `200` status (media type: text/json)
  - removed the required property `bookReaderTapToPaginate` from the response with the `200` status (media type: text/plain)
  - removed the required property `bookReaderTapToPaginate` from the response with the `200` status (media type: application/json)
  - removed the required property `bookReaderTapToPaginate` from the response with the `200` status (media type: text/json)
  - removed the required property `bookReaderThemeName` from the response with the `200` status (media type: text/plain)
  - removed the required property `bookReaderThemeName` from the response with the `200` status (media type: application/json)
  - removed the required property `bookReaderThemeName` from the response with the `200` status (media type: text/json)
  - removed the required property `bookReaderWritingStyle` from the response with the `200` status (media type: text/plain)
  - …110 more
- **2025-05-04** `cf686683146a`: 3 breaking, 3 warning
  - removed the required property `pdfLayoutMode` from the response with the `200` status (media type: text/plain)
  - removed the required property `pdfLayoutMode` from the response with the `200` status (media type: application/json)
  - removed the required property `pdfLayoutMode` from the response with the `200` status (media type: text/json)
  - removed the request property `pdfLayoutMode` (media type: application/json)
  - removed the request property `pdfLayoutMode` (media type: text/json)
  - removed the request property `pdfLayoutMode` (media type: application/*+json)

---

[Operation](https://skmtc.dev/kareadita/apis/kavita/docs/api/Users/update-preferences/post.md) - [API](https://skmtc.dev/kareadita/apis/kavita.md) - [Page](https://skmtc.dev/kareadita/apis/kavita/changes/api/Users/update-preferences/post)
