Skip to main content

Overview

The User Management API provides comprehensive endpoints for user CRUD operations, authentication, password management, and user configuration in Jellyfin Server.

Get Users

Retrieves a list of all users on the server. Endpoint: GET /Users Authorization: Required

Query Parameters

boolean
Filter by hidden status. Set to true to show only hidden users, false for non-hidden users.
boolean
Filter by disabled status. Set to true to show only disabled users, false for enabled users.

Response

array
Array of user objects

Example Request

Example Response


Get Public Users

Retrieves a list of publicly visible users for display on a login screen. Endpoint: GET /Users/Public Authorization: Not required

Response

Returns an array of UserDto objects for users that are not hidden and have remote access enabled.

Example Request


Get User by ID

Retrieves a specific user by their unique identifier. Endpoint: GET /Users/{userId} Authorization: Required

Path Parameters

string (UUID)
required
The unique identifier of the user

Response

Returns a UserDto object with complete user information.

Status Codes

  • 200 - User returned successfully
  • 404 - User not found

Example Request


Get Current User

Retrieves the user associated with the current authentication token. Endpoint: GET /Users/Me Authorization: Required

Response

Returns a UserDto object for the authenticated user.

Status Codes

  • 200 - User returned successfully
  • 400 - Token is not owned by a user

Example Request


Create User

Creates a new user account on the server. Endpoint: POST /Users/New Authorization: Required (Administrator with elevated privileges)

Request Body

string
required
Username for the new user
string
Initial password for the user (plain text)

Response

Returns the newly created UserDto object.

Status Codes

  • 200 - User created successfully
  • 403 - Insufficient permissions

Example Request

Example Response


Update User

Updates a user’s information including username and configuration. Endpoint: POST /Users (with query parameter) or POST /Users/{userId} (legacy) Authorization: Required

Query Parameters

string (UUID)
The user ID to update. If not provided, updates the authenticated user.

Request Body

string
required
Updated username
object
required
Updated user configuration object

Response

Returns 204 No Content on success.

Status Codes

  • 204 - User updated successfully
  • 400 - Invalid user information
  • 403 - User update forbidden
  • 404 - User not found

Example Request


Delete User

Deletes a user account from the server. Endpoint: DELETE /Users/{userId} Authorization: Required (Administrator with elevated privileges)

Path Parameters

string (UUID)
required
The unique identifier of the user to delete

Response

Returns 204 No Content on success. This operation also:
  • Revokes all user tokens
  • Removes all user playlists
  • Permanently deletes the user account

Status Codes

  • 204 - User deleted successfully
  • 404 - User not found

Example Request


Update User Password

Updates a user’s password or resets it. Endpoint: POST /Users/Password (with query parameter) or POST /Users/{userId}/Password (legacy) Authorization: Required

Query Parameters

string (UUID)
The user ID to update password for. If not provided, updates the authenticated user’s password.

Request Body

string
Current password in plain text (required for non-admin users)
string
New password in plain text
boolean
If true, resets the password to empty (admin only)

Response

Returns 204 No Content on success. All existing user tokens (except the current one) are revoked.

Status Codes

  • 204 - Password successfully updated
  • 403 - Insufficient permissions or invalid current password
  • 404 - User not found

Example Request


Update User Policy

Updates a user’s policy settings, including permissions and restrictions. Endpoint: POST /Users/{userId}/Policy Authorization: Required (Administrator with elevated privileges)

Path Parameters

string (UUID)
required
The unique identifier of the user

Request Body

boolean
Whether the user has administrator privileges
boolean
Whether the user is hidden from login screens
boolean
Whether the user account is disabled
boolean
Whether the user can access all media folders
array
Array of folder IDs the user can access (if EnableAllFolders is false)
boolean
Whether the user can play media
boolean
Whether the user can access Live TV
integer
Maximum number of concurrent sessions (0 for unlimited)

Response

Returns 204 No Content on success.

Status Codes

  • 204 - Policy updated successfully
  • 400 - Invalid policy data
  • 403 - Operation forbidden (e.g., removing last admin)
  • 404 - User not found

Validation Rules

  • At least one administrator must remain in the system
  • At least one enabled user must remain in the system
  • Administrators cannot be disabled

Example Request


Update User Configuration

Updates a user’s configuration settings such as language preferences and playback options. Endpoint: POST /Users/Configuration (with query parameter) or POST /Users/{userId}/Configuration (legacy) Authorization: Required

Query Parameters

string (UUID)
The user ID to update configuration for. If not provided, updates the authenticated user.

Request Body

string
Preferred audio language code (e.g., “eng”, “spa”)
string
Preferred subtitle language code
boolean
Whether to play the default audio track
string
Subtitle mode: “Default”, “Smart”, “OnlyForced”, “Always”, “None”
boolean
Whether to automatically play the next episode
boolean
Whether to remember audio track selections
boolean
Whether to remember subtitle selections

Response

Returns 204 No Content on success.

Status Codes

  • 204 - Configuration updated successfully
  • 403 - User configuration update not allowed
  • 404 - User not found

Example Request


Authenticate User by Name

Authenticates a user with username and password, creating a new session. Endpoint: POST /Users/AuthenticateByName Authorization: Not required (but device headers are recommended)

Request Body

string
required
The username
string
required
The password in plain text

Response

object
The authenticated user information (UserDto)
object
Information about the created session
string
The authentication token to use for subsequent requests
string
The server identifier

Status Codes

  • 200 - User authenticated successfully
  • 401 - Invalid username or password

Example Request

Example Response


Forgot Password

Initiates the forgot password process for a local user. Endpoint: POST /Users/ForgotPassword Authorization: Not required

Request Body

string
required
The username to reset password for

Response

string
The action to take: “ContactAdmin”, “PinCode”, or “InNetworkRequired”
string
Path to the PIN file (if Action is “PinCode”)

Status Codes

  • 200 - Password reset process started

Example Request


Redeem Forgot Password Pin

Redeems a forgot password PIN to complete the password reset. Endpoint: POST /Users/ForgotPassword/Pin Authorization: Not required

Request Body

string
required
The PIN from the forgot password process

Response

boolean
Whether the PIN was valid
array
Array of usernames that were reset

Status Codes

  • 200 - PIN processed

Example Request