ApiClient. ApiClient

ApiClient provides a centralized, stateful wrapper around the Jellyfin API. It automatically injects image parameters and version-specific fields for consistent, bulletproof item fetching across all Jellyfin server versions (10.7.0+).

Usage: api = GetApi() data = api.GetItem(itemId, { fields: "Overview" })

Or inline: data = GetApi().GetItem(itemId, { fields: "Overview" })

The singleton pattern ensures one instance is shared across the entire app.

Constructor

new ApiClient() → {ApiClient}

Returns:
Type: 
ApiClient

Methods

AuthenticateByName(username, password) → {dynamic}

Authenticate user by username and password

Parameters:
NameTypeDescription
usernamestring

User's username

passwordstring

User's password

Returns:

API response with auth token or invalid on error

Type: 
dynamic

AuthenticateWithQuickConnect(secret) → {dynamic}

Authenticate via Quick Connect

Parameters:
NameTypeDescription
secretstring

The Quick Connect secret

Returns:

API response or invalid on error

Type: 
dynamic

ConnectQuickConnect(secret) → {dynamic}

Connect via Quick Connect

Parameters:
NameTypeDescription
secretstring

The Quick Connect secret

Returns:

API response or invalid on error

Type: 
dynamic

DeleteItem(itemId) → {dynamic}

Delete an item

Parameters:
NameTypeDescription
itemIdstring

The item ID to delete

Returns:

API response or invalid on error

Type: 
dynamic

DeleteRating(itemId) → {dynamic}

Delete user rating

Parameters:
NameTypeDescription
itemIdstring

The item ID

Returns:

API response or invalid on error

Type: 
dynamic

GetAdditionalParts(itemId) → {dynamic}

Get additional parts for a video

Parameters:
NameTypeDescription
itemIdstring

The video item ID

Returns:

API response or invalid on error

Type: 
dynamic

GetAlbumArtists(paramsopt) → {dynamic}

Get all album artists with automatic image injection

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetAlbumInstantMix(id, paramsopt) → {dynamic}

Get album instant mix

Parameters:
NameTypeAttributesDefaultDescription
idstring

Album ID

paramsobject<optional>
{}

Optional query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetArtistByName(name, paramsopt) → {dynamic}

Get artist by name

Parameters:
NameTypeAttributesDefaultDescription
namestring

Artist name

paramsobject<optional>
{}

Optional query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetArtists(paramsopt) → {dynamic}

Get all artists with automatic image injection

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetBrandingConfiguration() → {dynamic}

Get branding configuration

Returns:

API response or invalid on error

Type: 
dynamic

GetByQuery(paramsopt) → {dynamic}

Get items by query (alternative endpoint)

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetConfigurationByName(name) → {dynamic}

Get configuration by name

Parameters:
NameTypeDescription
namestring

Configuration name

Returns:

API response or invalid on error

Type: 
dynamic

GetDisplayPreferences(id, paramsopt) → {dynamic}

Get display preferences

Parameters:
NameTypeAttributesDefaultDescription
idstring

Preference ID

paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetEpisodes(seriesId, paramsopt) → {dynamic}

Get episodes for a TV season with automatic image injection

Parameters:
NameTypeAttributesDefaultDescription
seriesIdstring

The series ID

paramsobject<optional>
{}

Optional query parameters (season number, etc.)

Returns:

API response or invalid on error

Type: 
dynamic

GetFilters(paramsopt) → {dynamic}

Get filters

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetGenres(paramsopt) → {dynamic}

Get genres

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetImageURL(id, imageType, imageIndexopt, paramsopt) → {dynamic}

Get image URL

Parameters:
NameTypeAttributesDefaultDescription
idstring

Item ID

imageTypestring

Type of image

imageIndexinteger<optional>
0

Image index

paramsobject<optional>
{}

Optional parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetInstantMix(itemId, paramsopt) → {dynamic}

Get instant mix based on item

Parameters:
NameTypeAttributesDefaultDescription
itemIdstring

The item ID

paramsobject<optional>
{}

Optional query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetIntros(itemId) → {dynamic}

Get intros for an item

Parameters:
NameTypeDescription
itemIdstring

The item ID

Returns:

API response or invalid on error

Type: 
dynamic

GetItem(itemId, paramsopt) → {dynamic}

Get a single item by ID with automatic image and version field injection

Parameters:
NameTypeAttributesDefaultDescription
itemIdstring

The Jellyfin item ID

paramsobject<optional>
{}

Optional query parameters (fields, etc.)

Returns:

API response or invalid on error

Type: 
dynamic

GetItemRaw(itemId, paramsopt) → {dynamic}

Get item without image parameters - use for playback info only

Parameters:
NameTypeAttributesDefaultDescription
itemIdstring

The Jellyfin item ID

paramsobject<optional>
{}

Query parameters (passed through as-is)

Returns:

API response or invalid on error

Type: 
dynamic

GetItemsByQuery(paramsopt) → {dynamic}

Get items by query with automatic image and version field injection

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters (limit, sortBy, filters, etc.)

Returns:

API response or invalid on error

Type: 
dynamic

GetItemsByQueryRaw(paramsopt) → {dynamic}

Get items by query without image parameters

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters (passed through as-is)

Returns:

API response or invalid on error

Type: 
dynamic

GetLatestMedia(paramsopt) → {dynamic}

Get latest media with automatic image injection

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Optional query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetLiveTVChannels(paramsopt) → {dynamic}

Get Live TV channels

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetLocalTrailers(itemId) → {dynamic}

Get local trailers for an item

Parameters:
NameTypeDescription
itemIdstring

The item ID

Returns:

API response or invalid on error

Type: 
dynamic

GetNextUp(paramsopt) → {dynamic}

Get next up episodes with automatic image injection

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetPlaylistItems(playlistId, paramsopt) → {dynamic}

Get playlist items

Parameters:
NameTypeAttributesDefaultDescription
playlistIdstring

The playlist ID

paramsobject<optional>
{}

Optional query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetPublicUsers() → {dynamic}

Get public users

Returns:

API response or invalid on error

Type: 
dynamic

GetResumeItems(paramsopt) → {dynamic}

Get resume items (Continue Watching) with automatic image injection

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Optional query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetSeasons(seriesId, paramsopt) → {dynamic}

Get seasons for a TV series with automatic image injection

Parameters:
NameTypeAttributesDefaultDescription
seriesIdstring

The series ID

paramsobject<optional>
{}

Optional query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetSessions(paramsopt) → {dynamic}

Get active sessions

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetSimilarAlbums(id, paramsopt) → {dynamic}

Get similar albums

Parameters:
NameTypeAttributesDefaultDescription
idstring

Album ID

paramsobject<optional>
{}

Optional query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetSimilarArtists(id, paramsopt) → {dynamic}

Get similar artists

Parameters:
NameTypeAttributesDefaultDescription
idstring

Artist ID

paramsobject<optional>
{}

Optional query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetSimilarShows(id, paramsopt) → {dynamic}

Get similar shows with automatic image injection

Parameters:
NameTypeAttributesDefaultDescription
idstring

Show ID

paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetSpecialFeatures(itemId) → {dynamic}

Get special features for an item

Parameters:
NameTypeDescription
itemIdstring

The item ID

Returns:

API response or invalid on error

Type: 
dynamic

GetStudios(paramsopt) → {dynamic}

Get studios

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetSuggestions(paramsopt) → {dynamic}

Get suggestions with automatic image injection

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Optional query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetUpcoming(paramsopt) → {dynamic}

Get upcoming episodes with automatic image injection

Parameters:
NameTypeAttributesDefaultDescription
paramsobject<optional>
{}

Query parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetUser(userId) → {dynamic}

Get user by ID

Parameters:
NameTypeDescription
userIdstring

The user ID

Returns:

API response or invalid on error

Type: 
dynamic

GetUserImageURL(id, imageType, imageIndexopt, paramsopt) → {dynamic}

Get user image URL

Parameters:
NameTypeAttributesDefaultDescription
idstring

User ID

imageTypestring

Type of image

imageIndexinteger<optional>
0

Image index

paramsobject<optional>
{}

Optional parameters

Returns:

API response or invalid on error

Type: 
dynamic

GetViews() → {dynamic}

Get user views

Returns:

API response or invalid on error

Type: 
dynamic

HeadImageURLByName(id, imageType, imageIndexopt, paramsopt) → {dynamic}

Get image URL for an item by ID (HEAD request helper)

Parameters:
NameTypeAttributesDefaultDescription
idstring

Item ID

imageTypestring

Type of image

imageIndexinteger<optional>
0

Image index (default 0)

paramsobject<optional>
{}

Optional parameters

Returns:

API response or invalid on error

Type: 
dynamic

InitiateQuickConnect() → {dynamic}

Initiate Quick Connect

Returns:

API response with secret or invalid on error

Type: 
dynamic

MarkFavorite(itemId) → {dynamic}

Mark item as favorite

Parameters:
NameTypeDescription
itemIdstring

The item ID

Returns:

API response or invalid on error

Type: 
dynamic

MarkPlayed(itemId, paramsopt) → {dynamic}

Mark item as played

Parameters:
NameTypeAttributesDefaultDescription
itemIdstring

The item ID

paramsobject<optional>
{}

Optional parameters (DatePlayed, etc.)

Returns:

API response or invalid on error

Type: 
dynamic

Playing(params) → {dynamic}

Report playback started

Parameters:
NameTypeDescription
paramsobject

Playback parameters

Returns:

API response or invalid on error

Type: 
dynamic

PostPlaybackInfo(itemId, postData) → {dynamic}

Post playback info (used for starting playback)

Parameters:
NameTypeDescription
itemIdstring

The item ID

postDataobject

Request body data

Returns:

API response or invalid on error

Type: 
dynamic

PostProgress(params) → {dynamic}

Report playback progress

Parameters:
NameTypeDescription
paramsobject

Playback parameters

Returns:

API response or invalid on error

Type: 
dynamic

PostStopped(params) → {dynamic}

Report playback stopped

Parameters:
NameTypeDescription
paramsobject

Playback parameters

Returns:

API response or invalid on error

Type: 
dynamic

UnmarkFavorite(itemId) → {dynamic}

Unmark item as favorite

Parameters:
NameTypeDescription
itemIdstring

The item ID

Returns:

API response or invalid on error

Type: 
dynamic

UnmarkPlayed(itemId) → {dynamic}

Mark item as unplayed

Parameters:
NameTypeDescription
itemIdstring

The item ID

Returns:

API response or invalid on error

Type: 
dynamic

UpdateRating(itemId, paramsopt) → {dynamic}

Update user rating

Parameters:
NameTypeAttributesDefaultDescription
itemIdstring

The item ID

paramsobject<optional>
{}

Rating parameters

Returns:

API response or invalid on error

Type: 
dynamic