jellyfin-api — quality + safety report

In the Skillier index (lap__jellyfin-local-jellyfin-local) · scanned 2026-06-03 · engine: builtin+triage

A
Quality
90/100
Safety

✓ Clean — no heuristic safety flags surfaced.

Heuristic flags from the builtin scanner, which is known to over-flag (it trips on legitimate env-reading integrations, security skills, and library .eval calls). This is NOT an authoritative malicious verdict — re-scan with SkillSpector for the authoritative result. Run the authoritative scan →

Skillproof quality grade A

📇 This skill is in the Skillier index (curated · deduped · quality-filtered). Install Skillier to route & load it into your AI client.

Quality notes

Skill is large (~13730 tokens)
medium · quality · body
→ Tighten to the essential procedure; move long reference material to linked files.
No example
low · quality · body
→ Add at least one worked example (input → expected action/output).

About this skill

Jellyfin API skill. Use when working with Jellyfin for System, Auth, Artists. Covers 408 endpoints.

📄 Read the SKILL.md
---
name: jellyfin-api
description: "Jellyfin API skill. Use when working with Jellyfin for System, Auth, Artists. Covers 408 endpoints."
version: 1.0.0
generator: lapsh
---

# Jellyfin API
API version: v1

## Auth
ApiKey X-Emby-Authorization in header

## Base URL
http://localhost

## Setup
1. Set your API key in the appropriate header
2. GET /System/ActivityLog/Entries -- verify access
3. POST /Auth/Keys -- create first Keys

## Endpoints

408 endpoints across 46 groups. See references/api-spec.lap for full details.

### System
| Method | Path | Description |
|--------|------|-------------|
| GET | /System/ActivityLog/Entries | Gets activity log entries. |
| GET | /System/Configuration | Gets application configuration. |
| POST | /System/Configuration | Updates application configuration. |
| GET | /System/Configuration/{key} | Gets a named configuration. |
| POST | /System/Configuration/{key} | Updates named configuration. |
| GET | /System/Configuration/MetadataOptions/Default | Gets a default MetadataOptions object. |
| POST | /System/MediaEncoder/Path | Updates the path to the media encoder. |
| GET | /System/Endpoint | Gets information about the request endpoint. |
| GET | /System/Info | Gets information about the server. |
| GET | /System/Info/Public | Gets public information about the server. |
| GET | /System/Logs | Gets a list of available server log files. |
| GET | /System/Logs/Log | Gets a log file. |
| GET | /System/Ping | Pings the system. |
| POST | /System/Ping | Pings the system. |
| POST | /System/Restart | Restarts the application. |
| POST | /System/Shutdown | Shuts down the application. |
| GET | /System/WakeOnLanInfo | Gets wake on lan information. |

### Auth
| Method | Path | Description |
|--------|------|-------------|
| GET | /Auth/Keys | Get all keys. |
| POST | /Auth/Keys | Create a new api key. |
| DELETE | /Auth/Keys/{key} | Remove an api key. |
| GET | /Auth/PasswordResetProviders | Get all password reset providers. |
| GET | /Auth/Providers | Get all auth providers. |

### Artists
| Method | Path | Description |
|--------|------|-------------|
| GET | /Artists | Gets all artists from a given item, folder, or the entire library. |
| GET | /Artists/{name} | Gets an artist by name. |
| GET | /Artists/AlbumArtists | Gets all album artists from a given item, folder, or the entire library. |
| GET | /Artists/{name}/Images/{imageType}/{imageIndex} | Get artist image by name. |
| HEAD | /Artists/{name}/Images/{imageType}/{imageIndex} | Get artist image by name. |
| GET | /Artists/{id}/InstantMix | Creates an instant playlist based on a given song. |
| GET | /Artists/{itemId}/Similar | Gets similar items. |

### Audio
| Method | Path | Description |
|--------|------|-------------|
| GET | /Audio/{itemId}/stream | Gets an audio stream. |
| HEAD | /Audio/{itemId}/stream | Gets an audio stream. |
| GET | /Audio/{itemId}/stream.{container} | Gets an audio stream. |
| HEAD | /Audio/{itemId}/stream.{container} | Gets an audio stream. |
| GET | /Audio/{itemId}/hls1/{playlistId}/{segmentId}.{container} | Gets a video stream using HTTP live streaming. |
| GET | /Audio/{itemId}/main.m3u8 | Gets an audio stream using HTTP live streaming. |
| GET | /Audio/{itemId}/master.m3u8 | Gets an audio hls playlist stream. |
| HEAD | /Audio/{itemId}/master.m3u8 | Gets an audio hls playlist stream. |
| GET | /Audio/{itemId}/hls/{segmentId}/stream.aac | Gets the specified audio segment for an audio item. |
| GET | /Audio/{itemId}/hls/{segmentId}/stream.mp3 | Gets the specified audio segment for an audio item. |
| GET | /Audio/{itemId}/universal | Gets an audio stream. |
| HEAD | /Audio/{itemId}/universal | Gets an audio stream. |

### Branding
| Method | Path | Description |
|--------|------|-------------|
| GET | /Branding/Configuration | Gets branding configuration. |
| GET | /Branding/Css | Gets branding css. |
| GET | /Branding/Css.css | Gets branding css. |

### Channels
| Method | Path | Description |
|--------|------|-------------|
| GET | /Channels | Gets available channels. |
| GET | /Channels/{channelId}/Features | Get channel features. |
| GET | /Channels/{channelId}/Items | Get channel items. |
| GET | /Channels/Features | Get all channel features. |
| GET | /Channels/Items/Latest | Gets latest channel items. |

### Collections
| Method | Path | Description |
|--------|------|-------------|
| POST | /Collections | Creates a new collection. |
| POST | /Collections/{collectionId}/Items | Adds items to a collection. |
| DELETE | /Collections/{collectionId}/Items | Removes items from a collection. |

### web
| Method | Path | Description |
|--------|------|-------------|
| GET | /web/ConfigurationPage | Gets a dashboard configuration page. |
| GET | /web/ConfigurationPages | Gets the configuration pages. |

### Devices
| Method | Path | Description |
|--------|------|-------------|
| GET | /Devices | Get Devices. |
| DELETE | /Devices | Deletes a device. |
| GET | /Devices/Info | Get info for a device. |
| GET | /Devices/Options | Get options for a device. |
| POST | /Devices/Options | Update device options. |

### DisplayPreferences
| Method | Path | Description |
|--------|------|-------------|
| GET | /DisplayPreferences/{displayPreferencesId} | Get Display Preferences. |
| POST | /DisplayPreferences/{displayPreferencesId} | Update Display Preferences. |

### Dlna
| Method | Path | Description |
|--------|------|-------------|
| GET | /Dlna/ProfileInfos | Get profile infos. |
| POST | /Dlna/Profiles | Creates a profile. |
| GET | /Dlna/Profiles/{profileId} | Gets a single profile. |
| DELETE | /Dlna/Profiles/{profileId} | Deletes a profile. |
| POST | /Dlna/Profiles/{profileId} | Updates a profile. |
| GET | /Dlna/Profiles/Default | Gets the default profile. |
| GET | /Dlna/{serverId}/ConnectionManager | Gets Dlna media receiver registrar xml. |
| GET | /Dlna/{serverId}/ConnectionManager/ConnectionManager | Gets Dlna media receiver registrar xml. |
| GET | /Dlna/{serverId}/ConnectionManager/ConnectionManager.xml | Gets Dlna media receiver registrar xml. |
| POST | /Dlna/{serverId}/ConnectionManager/Control | Process a connection manager control request. |
| GET | /Dlna/{serverId}/ContentDirectory | Gets Dlna content directory xml. |
| GET | /Dlna/{serverId}/ContentDirectory/ContentDirectory | Gets Dlna content directory xml. |
| GET | /Dlna/{serverId}/ContentDirectory/ContentDirectory.xml | Gets Dlna content directory xml. |
| POST | /Dlna/{serverId}/ContentDirectory/Control | Process a content directory control request. |
| GET | /Dlna/{serverId}/description | Get Description Xml. |
| GET | /Dlna/{serverId}/description.xml | Get Description Xml. |
| GET | /Dlna/{serverId}/icons/{fileName} | Gets a server icon. |
| GET | /Dlna/{serverId}/MediaReceiverRegistrar | Gets Dlna media receiver registrar xml. |
| POST | /Dlna/{serverId}/MediaReceiverRegistrar/Control | Process a media receiver registrar control request. |
| GET | /Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar | Gets Dlna media receiver registrar xml. |
| GET | /Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar.xml | Gets Dlna media receiver registrar xml. |
| GET | /Dlna/icons/{fileName} | Gets a server icon. |

### Videos
| Method | Path | Description |
|--------|------|-------------|
| GET | /Videos/{itemId}/hls1/{playlistId}/{segmentId}.{container} | Gets a video stream using HTTP live streaming. |
| GET | /Videos/{itemId}/main.m3u8 | Gets a video stream using HTTP live streaming. |
| GET | /Videos/{itemId}/master.m3u8 | Gets a video hls playlist stream. |
| HEAD | /Videos/{itemId}/master.m3u8 | Gets a video hls playlist stream. |
| GET | /Videos/{itemId}/hls/{playlistId}/{segmentId}.{segmentContainer} | Gets a hls video segment. |
| GET | /Videos/{itemId}/hls/{playlistId}/stream.m3u8 | Gets a hls video playlist. |
| DELETE | /Videos/ActiveEncodings | Stops an active encoding. |
| GET | /Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/{startPositionTicks}/Stream.{format} | Gets subtitles in a specified format. |
| GET | /Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/Stream.{format} | Gets subtitles in a specified format. |
| GET | /Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/subtitles.m3u8 | Gets an HLS subtitle playlist. |
| POST | /Videos/{itemId}/Subtitles | Upload an external subtitle file. |
| DELETE | /Videos/{itemId}/Subtitles/{index} | Deletes an external subtitle file. |
| GET | /Videos/{videoId}/{mediaSourceId}/Attachments/{index} | Get video attachment. |
| GET | /Videos/{itemId}/live.m3u8 | Gets a hls live stream. |
| GET | /Videos/{itemId}/{stream}.{container} | Gets a video stream. |
| HEAD | /Videos/{itemId}/{stream}.{container} | Gets a video stream. |
| GET | /Videos/{itemId}/AdditionalParts | Gets additional parts for a video. |
| DELETE | /Videos/{itemId}/AlternateSources | Removes alternate video sources. |
| GET | /Videos/{itemId}/stream | Gets a video stream. |
| HEAD | /Videos/{itemId}/stream | Gets a video stream. |
| POST | /Videos/MergeVersions | Merges videos into a single record. |

### Environment
| Method | Path | Description |
|--------|------|-------------|
| GET | /Environment/DefaultDirectoryBrowser | Get Default directory browser. |
| GET | /Environment/DirectoryContents | Gets the contents of a given directory in the file system. |
| GET | /Environment/Drives | Gets available drives from the server's file system. |
| GET | /Environment/NetworkShares | Gets network paths. |
| GET | /Environment/ParentPath | Gets the parent path of a given path. |
| POST | /Environment/ValidatePath | Validates path. |

### Items
| Method | Path | Description |
|--------|------|-------------|
| GET | /Items/Filters | Gets legacy query filters. |
| GET | /Items/Filters2 | Gets query filters. |
| GET | /Items/{itemId}/Images | Get item image infos. |
| DELETE | /Items/{itemId}/Images/{imageType} | Delete an item's image. |
| POST | /Items/{itemId}/Images/{imageType} | Set item image. |
| GET | /Items/{itemId}/Images/{imageType} | Gets the item's image. |
| HEAD | /Items/{itemId}/Images/{imageType} | Gets the item's image. |
| DELETE | /Items/{itemId}/Images/{imageType}/{imageIndex} | Delete an item's image. |
| POST | /Items/{itemId}/Images/{imageType}/{imageIndex} | Set item image. |
| GET | /Items/{itemId}/Images/{imageType}/{imageIndex} | Gets the item's image. |
| HEAD | /Items/{itemId}/Images/{imageType}/{imageIndex} | Gets the item's image. |
| GET | /Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount} | Gets the item's image. |
| HEAD | /Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount} | Gets the item's image. |
| POST | /Items/{itemId}/Images/{imageType}/{imageIndex}/Index | Updates the index for an item image. |
| GET | /Items/{id}/InstantMix | Creates an instant playlist based on a given song. |
| GET | /Items/{itemId}/ExternalIdInfos | Get the item's external id info. |
| POST | /Items/RemoteSearch/Apply/{itemId} | Applies search criteria to an item and refreshes metadata. |
| POST | /Items/RemoteSearch/Book | Get book remote search. |
| POST | /Items/RemoteSearch/BoxSet | Get box set remote search. |
| GET | /Items/RemoteSearch/Image | Gets a remote image. |
| POST | /Items/RemoteSearch/Movie | Get movie remote search. |
| POST | /Items/RemoteSearch/MusicAlbum | Get music album remote search. |
| POST | /Items/RemoteSearch/MusicArtist | Get music artist remote search. |
| POST | /Items/RemoteSearch/MusicVideo | Get music video remote search. |
| POST | /Items/RemoteSearch/Person | Get person remote search. |
| POST | /Items/RemoteSearch/Series | Get series remote search. |
| POST | /Items/RemoteSearch/Trailer | Get trailer remote search. |
| POST | /Items/{itemId}/Refresh | Refreshes metadata for an item. |
| GET | /Items | Gets items based on a query. |
| DELETE | /Items | Deletes items from the libra

… (truncated)
Scan or optimize your own skill →

Want a live grade + an embeddable README badge? Run your skill through the free scanner.

Graded independently by Skillproof — nothing to sell the author. Quality is mechanical + corpus-grounded; safety flags are heuristic (builtin+triage), not a malicious verdict.