---
title: "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"
tags: ["Plugin"]
---

# 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`

This API is not fully built out and may require more information in later releases

## Query parameters

- `apiKey` string, required
- `pluginName` string, required

## Response `200`

OK

- UserDto
  - `id` integer
  - `oidcId` string, nullable
  - `username` string, nullable
  - `email` string, nullable
  - `roles` string[], nullable
  - `token` string, nullable
  - `refreshToken` string, nullable
  - `apiKey` string, nullable
  - `preferences` UserPreferencesDto
    - `theme` SiteThemeDto, required
      - `id` integer
      - `name` string, nullable, required
      - `normalizedName` string, nullable, required
      - `fileName` string, nullable, required
      - `isDefault` boolean
      - `provider` 1 | 2 — Members: - `1` — System - `2` — Custom
      - `previewUrls` string[], nullable
      - `description` string, nullable
      - `author` string, nullable
      - `compatibleVersion` string, nullable
      - `selector` string, nullable
    - `globalPageLayoutMode` 0 | 1 — Members: - `0` — Cards - `1` — List
    - `blurUnreadSummaries` boolean, required
    - `promptForDownloadSize` boolean, required
    - `noTransitions` boolean, required
    - `collapseSeriesRelationships` boolean, required
    - `locale` string, required
    - `colorScapeEnabled` boolean, required
    - `dataSaver` boolean, required
    - `promptForRereadsAfter` integer, required
    - `customKeyBinds` object, required
      - `NavigateToSettings` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `OpenSearch` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `NavigateToScrobbling` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `ToggleFullScreen` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `BookmarkPage` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `OpenHelp` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `GoTo` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `ToggleMenu` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `PageLeft` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `PageRight` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `Escape` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `PageUp` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `PageDown` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `OffsetDoublePage` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `NextChapter` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `PreviousChapter` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `FirstPage` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `LastPage` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
      - `NavigateHome` KeyBind[]
        - `key` string, nullable, required
        - `control` boolean
        - `shift` boolean
        - `meta` boolean
        - `alt` boolean
        - `controllerSequence` string[], nullable
    - `aniListScrobblingEnabled` boolean
    - `wantToReadSync` boolean
    - `bookReaderHighlightSlots` HighlightSlot[], required
      - `id` integer
      - `slotNumber` integer
      - `color` RgbaColor
        - `r` integer
        - `g` integer
        - `b` integer
        - `a` number, float
    - `socialPreferences` AppUserSocialPreferences, required
      - `shareReviews` boolean
      - `shareAnnotations` boolean
      - `viewOtherAnnotations` boolean
      - `socialLibraries` integer[], nullable
      - `socialMaxAgeRating` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -1 — Members: - `0` — Unknown - `1` — Rating Pending (RatingPending) - `2` — Early Childhood (EarlyChildhood) - `3` — Everyone - `4` — G - `5` — Everyone 10+ (Everyone10Plus) - `6` — PG - `7` — Kids to Adults (KidsToAdults) - `8` — Teen - `9` — MA15+ (Mature15Plus) - `10` — Mature 17+ (Mature17Plus) - `11` — M (Mature) - `12` — R18+ (R18Plus) - `13` — Adults Only 18+ (AdultsOnly) - `14` — X18+ (X18Plus) - `-1` — Not Applicable (NotApplicable)
      - `socialIncludeUnknowns` boolean
      - `shareProfile` boolean
    - `opdsPreferences` AppUserOpdsPreferences, required
      - `embedProgressIndicator` boolean
      - `includeContinueFrom` boolean
  - `ageRestriction` AgeRestrictionDto
    - `ageRating` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -1, required — Members: - `0` — Unknown - `1` — Rating Pending (RatingPending) - `2` — Early Childhood (EarlyChildhood) - `3` — Everyone - `4` — G - `5` — Everyone 10+ (Everyone10Plus) - `6` — PG - `7` — Kids to Adults (KidsToAdults) - `8` — Teen - `9` — MA15+ (Mature15Plus) - `10` — Mature 17+ (Mature17Plus) - `11` — M (Mature) - `12` — R18+ (R18Plus) - `13` — Adults Only 18+ (AdultsOnly) - `14` — X18+ (X18Plus) - `-1` — Not Applicable (NotApplicable)
    - `includeUnknowns` boolean, required
  - `kavitaVersion` string, nullable
  - `identityProvider` 0 | 1 — Members: - `0` — Kavita - `1` — OpenID Connect (OpenIdConnect)
  - `created` string, date-time
  - `createdUtc` string, date-time
  - `authKeys` AuthKeyDto[], nullable
    - `id` integer
    - `key` string, nullable, required
    - `name` string, nullable, required
    - `createdAtUtc` string, date-time
    - `expiresAtUtc` string, date-time, nullable
    - `lastAccessedAtUtc` string, date-time, nullable
    - `provider` 0 | 1 — Members: - `0` — User - `1` — System
  - `coverImage` string, nullable
  - `primaryColor` string, nullable
  - `secondaryColor` string, nullable

---

[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/revisions/4278761d76d7/schema)
