---
title: "Changes to Authenticate with the Server given an auth key. This will log you in by returning the user object and the JWT token."
method: POST
path: "/api/Plugin/authenticate"
---

# Changes to Authenticate with the Server given an auth key. This will log you in by returning the user object and the JWT token.

`POST /api/Plugin/authenticate`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 19 of 136 revisions.

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

## Changes

- **2026-10-03** `20dc09733e05`: 3 info
  - added the optional property `preferences/customKeyBinds/OpenEventWidget` to the response with the `200` status (media type: text/plain)
  - added the optional property `preferences/customKeyBinds/OpenEventWidget` to the response with the `200` status (media type: application/json)
  - added the optional property `preferences/customKeyBinds/OpenEventWidget` to the response with the `200` status (media type: text/json)
- **2026-09-20** `4e3330779233`: 6 info
  - added the required property `preferences/onDeckProgressDays` to the response with the `200` status (media type: text/plain)
  - added the required property `preferences/onDeckProgressDays` to the response with the `200` status (media type: application/json)
  - added the required property `preferences/onDeckProgressDays` to the response with the `200` status (media type: text/json)
  - added the required property `preferences/onDeckUpdateDays` to the response with the `200` status (media type: text/plain)
  - added the required property `preferences/onDeckUpdateDays` to the response with the `200` status (media type: application/json)
  - added the required property `preferences/onDeckUpdateDays` to the response with the `200` status (media type: text/json)
- **2026-07-23** `751a92d6effc`: 3 info
  - added the optional property `preferences/customKeyBinds/NavigateHome` to the response with the `200` status (media type: text/plain)
  - added the optional property `preferences/customKeyBinds/NavigateHome` to the response with the `200` status (media type: application/json)
  - added the optional property `preferences/customKeyBinds/NavigateHome` to the response with the `200` status (media type: text/json)
- **2026-04-13** `2a82e5fe5308`: 54 info
  - added the optional property `preferences/customKeyBinds/FirstPage` to the response with the `200` status (media type: text/plain)
  - added the optional property `preferences/customKeyBinds/FirstPage` to the response with the `200` status (media type: application/json)
  - added the optional property `preferences/customKeyBinds/FirstPage` to the response with the `200` status (media type: text/json)
  - added the optional property `preferences/customKeyBinds/LastPage` to the response with the `200` status (media type: text/plain)
  - added the optional property `preferences/customKeyBinds/LastPage` to the response with the `200` status (media type: application/json)
  - added the optional property `preferences/customKeyBinds/LastPage` to the response with the `200` status (media type: text/json)
  - added the optional property `preferences/customKeyBinds/NextChapter` to the response with the `200` status (media type: text/plain)
  - added the optional property `preferences/customKeyBinds/NextChapter` to the response with the `200` status (media type: application/json)
  - added the optional property `preferences/customKeyBinds/NextChapter` to the response with the `200` status (media type: text/json)
  - added the optional property `preferences/customKeyBinds/PreviousChapter` to the response with the `200` status (media type: text/plain)
  - added the optional property `preferences/customKeyBinds/PreviousChapter` to the response with the `200` status (media type: application/json)
  - added the optional property `preferences/customKeyBinds/PreviousChapter` to the response with the `200` status (media type: text/json)
  - the response property `preferences/customKeyBinds/BookmarkPage/items/key` became required for the status `200` (media type: text/plain)
  - the response property `preferences/customKeyBinds/BookmarkPage/items/key` became required for the status `200` (media type: application/json)
  - the response property `preferences/customKeyBinds/BookmarkPage/items/key` became required for the status `200` (media type: text/json)
  - the response property `preferences/customKeyBinds/Escape/items/key` became required for the status `200` (media type: text/plain)
  - the response property `preferences/customKeyBinds/Escape/items/key` became required for the status `200` (media type: application/json)
  - the response property `preferences/customKeyBinds/Escape/items/key` became required for the status `200` (media type: text/json)
  - the response property `preferences/customKeyBinds/GoTo/items/key` became required for the status `200` (media type: text/plain)
  - the response property `preferences/customKeyBinds/GoTo/items/key` became required for the status `200` (media type: application/json)
  - the response property `preferences/customKeyBinds/GoTo/items/key` became required for the status `200` (media type: text/json)
  - the response property `preferences/customKeyBinds/NavigateToScrobbling/items/key` became required for the status `200` (media type: text/plain)
  - the response property `preferences/customKeyBinds/NavigateToScrobbling/items/key` became required for the status `200` (media type: application/json)
  - the response property `preferences/customKeyBinds/NavigateToScrobbling/items/key` became required for the status `200` (media type: text/json)
  - the response property `preferences/customKeyBinds/NavigateToSettings/items/key` became required for the status `200` (media type: text/plain)
  - the response property `preferences/customKeyBinds/NavigateToSettings/items/key` became required for the status `200` (media type: application/json)
  - the response property `preferences/customKeyBinds/NavigateToSettings/items/key` became required for the status `200` (media type: text/json)
  - the response property `preferences/customKeyBinds/OffsetDoublePage/items/key` became required for the status `200` (media type: text/plain)
  - the response property `preferences/customKeyBinds/OffsetDoublePage/items/key` became required for the status `200` (media type: application/json)
  - the response property `preferences/customKeyBinds/OffsetDoublePage/items/key` became required for the status `200` (media type: text/json)
  - the response property `preferences/customKeyBinds/OpenHelp/items/key` became required for the status `200` (media type: text/plain)
  - the response property `preferences/customKeyBinds/OpenHelp/items/key` became required for the status `200` (media type: application/json)
  - the response property `preferences/customKeyBinds/OpenHelp/items/key` became required for the status `200` (media type: text/json)
  - the response property `preferences/customKeyBinds/OpenSearch/items/key` became required for the status `200` (media type: text/plain)
  - the response property `preferences/customKeyBinds/OpenSearch/items/key` became required for the status `200` (media type: application/json)
  - the response property `preferences/customKeyBinds/OpenSearch/items/key` became required for the status `200` (media type: text/json)
  - the response property `preferences/customKeyBinds/PageDown/items/key` became required for the status `200` (media type: text/plain)
  - the response property `preferences/customKeyBinds/PageDown/items/key` became required for the status `200` (media type: application/json)
  - the response property `preferences/customKeyBinds/PageDown/items/key` became required for the status `200` (media type: text/json)
  - the response property `preferences/customKeyBinds/PageLeft/items/key` became required for the status `200` (media type: text/plain)
  - …14 more
- **2026-03-19** `1acacd51149a`: 3 info
  - added the optional property `oidcId` to the response with the `200` status (media type: text/plain)
  - added the optional property `oidcId` to the response with the `200` status (media type: application/json)
  - added the optional property `oidcId` to the response with the `200` status (media type: text/json)
- **2026-01-10** `13d135cff824`: 3 warning, 3 info
  - removed the optional property `authKeys/items/lastAccessedAt` from the response with the `200` status (media type: text/plain)
  - removed the optional property `authKeys/items/lastAccessedAt` from the response with the `200` status (media type: application/json)
  - removed the optional property `authKeys/items/lastAccessedAt` from the response with the `200` status (media type: text/json)
  - added the optional property `authKeys/items/lastAccessedAtUtc` to the response with the `200` status (media type: text/plain)
  - added the optional property `authKeys/items/lastAccessedAtUtc` to the response with the `200` status (media type: application/json)
  - added the optional property `authKeys/items/lastAccessedAtUtc` to the response with the `200` status (media type: text/json)
- **2025-12-31** `a2fbe407f214`: 3 info
  - added the optional property `preferences/customKeyBinds/OffsetDoublePage` to the response with the `200` status (media type: text/plain)
  - added the optional property `preferences/customKeyBinds/OffsetDoublePage` to the response with the `200` status (media type: application/json)
  - added the optional property `preferences/customKeyBinds/OffsetDoublePage` to the response with the `200` status (media type: text/json)
- **2025-12-19** `add8826dba01`: 6 info
  - added the optional property `preferences/customKeyBinds/PageDown` to the response with the `200` status (media type: text/plain)
  - added the optional property `preferences/customKeyBinds/PageDown` to the response with the `200` status (media type: application/json)
  - added the optional property `preferences/customKeyBinds/PageDown` to the response with the `200` status (media type: text/json)
  - added the optional property `preferences/customKeyBinds/PageUp` to the response with the `200` status (media type: text/plain)
  - added the optional property `preferences/customKeyBinds/PageUp` to the response with the `200` status (media type: application/json)
  - added the optional property `preferences/customKeyBinds/PageUp` to the response with the `200` status (media type: text/json)
- **2025-12-13** `ba8553c39654`: 24 info
  - added the optional property `authKeys` to the response with the `200` status (media type: text/plain)
  - added the optional property `authKeys` to the response with the `200` status (media type: application/json)
  - added the optional property `authKeys` to the response with the `200` status (media type: text/json)
  - added the optional property `coverImage` to the response with the `200` status (media type: text/plain)
  - added the optional property `coverImage` to the response with the `200` status (media type: application/json)
  - added the optional property `coverImage` to the response with the `200` status (media type: text/json)
  - added the optional property `created` to the response with the `200` status (media type: text/plain)
  - added the optional property `created` to the response with the `200` status (media type: application/json)
  - added the optional property `created` to the response with the `200` status (media type: text/json)
  - added the optional property `createdUtc` to the response with the `200` status (media type: text/plain)
  - added the optional property `createdUtc` to the response with the `200` status (media type: application/json)
  - added the optional property `createdUtc` to the response with the `200` status (media type: text/json)
  - added the optional property `preferences/socialPreferences/shareProfile` to the response with the `200` status (media type: text/plain)
  - added the optional property `preferences/socialPreferences/shareProfile` to the response with the `200` status (media type: application/json)
  - added the optional property `preferences/socialPreferences/shareProfile` to the response with the `200` status (media type: text/json)
  - added the optional property `primaryColor` to the response with the `200` status (media type: text/plain)
  - added the optional property `primaryColor` to the response with the `200` status (media type: application/json)
  - added the optional property `primaryColor` to the response with the `200` status (media type: text/json)
  - added the optional property `secondaryColor` to the response with the `200` status (media type: text/plain)
  - added the optional property `secondaryColor` to the response with the `200` status (media type: application/json)
  - added the optional property `secondaryColor` to the response with the `200` status (media type: text/json)
  - added the required property `preferences/promptForRereadsAfter` to the response with the `200` status (media type: text/plain)
  - added the required property `preferences/promptForRereadsAfter` to the response with the `200` status (media type: application/json)
  - added the required property `preferences/promptForRereadsAfter` to the response with the `200` status (media type: text/json)
- **2025-11-01** `c59c4436529e`: 6 info
  - the response property `preferences/socialPreferences` became required for the status `200` (media type: text/plain)
  - the response property `preferences/socialPreferences` became required for the status `200` (media type: application/json)
  - the response property `preferences/socialPreferences` became required for the status `200` (media type: text/json)
  - added the required property `preferences/opdsPreferences` to the response with the `200` status (media type: text/plain)
  - added the required property `preferences/opdsPreferences` to the response with the `200` status (media type: application/json)
  - added the required property `preferences/opdsPreferences` to the response with the `200` status (media type: text/json)
- **2025-11-01** `6cabddef7e29`: 3 info
  - added the required property `preferences/customKeyBinds` to the response with the `200` status (media type: text/plain)
  - added the required property `preferences/customKeyBinds` to the response with the `200` status (media type: application/json)
  - added the required property `preferences/customKeyBinds` to the response with the `200` status (media type: text/json)
- **2025-10-11** `115810d94e11`: 3 info
  - added the required property `preferences/dataSaver` to the response with the `200` status (media type: text/plain)
  - added the required property `preferences/dataSaver` to the response with the `200` status (media type: application/json)
  - added the required property `preferences/dataSaver` to the response with the `200` status (media type: text/json)
- **2025-10-04** `89037f9576e8`: 3 breaking, 3 info
  - removed the required property `preferences/shareReviews` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/shareReviews` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/shareReviews` from the response with the `200` status (media type: text/json)
  - added the optional property `preferences/socialPreferences` to the response with the `200` status (media type: text/plain)
  - added the optional property `preferences/socialPreferences` to the response with the `200` status (media type: application/json)
  - added the optional property `preferences/socialPreferences` to the response with the `200` status (media type: text/json)
- **2025-09-28** `4e8350222ca6`: 3 warning, 3 info
  - removed the optional property `preferences/bookReaderHighlightSlots/items/title` from the response with the `200` status (media type: text/plain)
  - removed the optional property `preferences/bookReaderHighlightSlots/items/title` from the response with the `200` status (media type: application/json)
  - removed the optional property `preferences/bookReaderHighlightSlots/items/title` from the response with the `200` status (media type: text/json)
  - added the optional property `id` to the response with the `200` status (media type: text/plain)
  - added the optional property `id` to the response with the `200` status (media type: application/json)
  - added the optional property `id` to the response with the `200` status (media type: text/json)
- **2025-09-20** `eb8d8ffe951a`: 3 info
  - added the required property `preferences/colorScapeEnabled` to the response with the `200` status (media type: text/plain)
  - added the required property `preferences/colorScapeEnabled` to the response with the `200` status (media type: application/json)
  - added the required property `preferences/colorScapeEnabled` to the response with the `200` status (media type: text/json)
- **2025-08-30** `e28764d251f1`: 3 info
  - added the required property `preferences/bookReaderHighlightSlots` to the response with the `200` status (media type: text/plain)
  - added the required property `preferences/bookReaderHighlightSlots` to the response with the `200` status (media type: application/json)
  - added the required property `preferences/bookReaderHighlightSlots` to the response with the `200` status (media type: text/json)
- **2025-08-03** `8d18e89366d9`: 6 info
  - added the optional property `identityProvider` to the response with the `200` status (media type: text/plain)
  - added the optional property `identityProvider` to the response with the `200` status (media type: application/json)
  - added the optional property `identityProvider` to the response with the `200` status (media type: text/json)
  - added the optional property `roles` to the response with the `200` status (media type: text/plain)
  - added the optional property `roles` to the response with the `200` status (media type: application/json)
  - added the optional property `roles` to the response with the `200` status (media type: text/json)
- **2025-06-08** `f67785730083`: 75 breaking
  - the response property `preferences/globalPageLayoutMode` became optional for the status `200` (media type: text/plain)
  - the response property `preferences/globalPageLayoutMode` became optional for the status `200` (media type: application/json)
  - the response property `preferences/globalPageLayoutMode` became optional for the status `200` (media type: text/json)
  - removed the required property `preferences/allowAutomaticWebtoonReaderDetection` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/allowAutomaticWebtoonReaderDetection` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/allowAutomaticWebtoonReaderDetection` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/autoCloseMenu` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/autoCloseMenu` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/autoCloseMenu` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/backgroundColor` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/backgroundColor` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/backgroundColor` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/bookReaderFontFamily` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/bookReaderFontFamily` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/bookReaderFontFamily` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/bookReaderFontSize` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/bookReaderFontSize` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/bookReaderFontSize` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/bookReaderImmersiveMode` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/bookReaderImmersiveMode` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/bookReaderImmersiveMode` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/bookReaderLayoutMode` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/bookReaderLayoutMode` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/bookReaderLayoutMode` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/bookReaderLineSpacing` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/bookReaderLineSpacing` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/bookReaderLineSpacing` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/bookReaderMargin` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/bookReaderMargin` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/bookReaderMargin` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/bookReaderReadingDirection` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/bookReaderReadingDirection` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/bookReaderReadingDirection` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/bookReaderTapToPaginate` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/bookReaderTapToPaginate` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/bookReaderTapToPaginate` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/bookReaderThemeName` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/bookReaderThemeName` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/bookReaderThemeName` from the response with the `200` status (media type: text/json)
  - removed the required property `preferences/bookReaderWritingStyle` from the response with the `200` status (media type: text/plain)
  - …35 more
- **2025-05-04** `cf686683146a`: 3 breaking
  - removed the required property `preferences/pdfLayoutMode` from the response with the `200` status (media type: text/plain)
  - removed the required property `preferences/pdfLayoutMode` from the response with the `200` status (media type: application/json)
  - removed the required property `preferences/pdfLayoutMode` from the response with the `200` status (media type: text/json)

---

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