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
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 successfully404- 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 successfully400- 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 successfully403- 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
Returns204 No Content on success.
Status Codes
204- User updated successfully400- Invalid user information403- User update forbidden404- 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
Returns204 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 successfully404- 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
Returns204 No Content on success. All existing user tokens (except the current one) are revoked.
Status Codes
204- Password successfully updated403- Insufficient permissions or invalid current password404- 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
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
Returns204 No Content on success.
Status Codes
204- Policy updated successfully400- Invalid policy data403- 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
Returns204 No Content on success.
Status Codes
204- Configuration updated successfully403- User configuration update not allowed404- 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 successfully401- 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