@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Jellyfin API
@base http://localhost
@version v1
@auth ApiKey X-Emby-Authorization in header
@endpoints 408
@hint download_for_search
@toc System(17), Auth(5), Artists(7), Audio(12), Branding(3), Channels(5), Collections(3), web(2), Devices(5), DisplayPreferences(2), Dlna(22), Videos(21), Environment(6), Items(50), Genres(6), MusicGenres(8), Persons(6), Studios(6), Users(44), Images(7), Albums(2), Playlists(6), Songs(1), Libraries(1), Library(16), Movies(2), Shows(5), Trailers(2), LiveTv(41), Localization(4), LiveStreams(2), Playback(1), Notifications(7), Packages(4), Repositories(2), Sessions(18), Plugins(10), QuickConnect(7), ScheduledTasks(5), Search(1), Startup(7), FallbackFont(2), Providers(1), SyncPlay(21), GetUtcTime(1), Years(2)

@group System
@endpoint GET /System/ActivityLog/Entries
@optional {startIndex: int(int32), limit: int(int32), minDate: str(date-time), hasUserId: bool}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Auth
@endpoint GET /Auth/Keys
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint POST /Auth/Keys
@required {app: str}
@returns(204)
@errors {401, 403}

@endpoint DELETE /Auth/Keys/{key}
@required {key: str}
@returns(204)
@errors {401, 403}

@endgroup

@group Artists
@endpoint GET /Artists
@optional {minCommunityRating: num(double), startIndex: int(int32), limit: int(int32), searchTerm: str, parentId: str(uuid), fields: [str], excludeItemTypes: [str], includeItemTypes: [str], filters: [str], isFavorite: bool, mediaTypes: [str], genres: [str], genreIds: [str(uuid)], officialRatings: [str], tags: [str], years: [int(int32)], enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str], person: str, personIds: [str(uuid)], personTypes: [str], studios: [str], studioIds: [str(uuid)], userId: str(uuid), nameStartsWithOrGreater: str, nameStartsWith: str, nameLessThan: str, enableImages: bool=true, enableTotalRecordCount: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Artists/{name}
@required {name: str}
@optional {userId: str(uuid)}
@returns(200) {Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403}

@endpoint GET /Artists/AlbumArtists
@optional {minCommunityRating: num(double), startIndex: int(int32), limit: int(int32), searchTerm: str, parentId: str(uuid), fields: [str], excludeItemTypes: [str], includeItemTypes: [str], filters: [str], isFavorite: bool, mediaTypes: [str], genres: [str], genreIds: [str(uuid)], officialRatings: [str], tags: [str], years: [int(int32)], enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str], person: str, personIds: [str(uuid)], personTypes: [str], studios: [str], studioIds: [str(uuid)], userId: str(uuid), nameStartsWithOrGreater: str, nameStartsWith: str, nameLessThan: str, enableImages: bool=true, enableTotalRecordCount: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Audio
@endpoint GET /Audio/{itemId}/stream
@required {itemId: str(uuid)}
@optional {container: str, static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)

@endpoint HEAD /Audio/{itemId}/stream
@required {itemId: str(uuid)}
@optional {container: str, static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)

@endpoint GET /Audio/{itemId}/stream.{container}
@required {itemId: str(uuid), container: str}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)

@endpoint HEAD /Audio/{itemId}/stream.{container}
@required {itemId: str(uuid), container: str}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)

@endgroup

@group Branding
@endpoint GET /Branding/Configuration
@returns(200) {LoginDisclaimer: str?, CustomCss: str?}

@endpoint GET /Branding/Css
@returns(200)
@returns(204)

@endpoint GET /Branding/Css.css
@returns(200)
@returns(204)

@endgroup

@group Channels
@endpoint GET /Channels
@optional {userId: str(uuid), startIndex: int(int32), limit: int(int32), supportsLatestItems: bool, supportsMediaDeletion: bool, isFavorite: bool}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Channels/{channelId}/Features
@required {channelId: str(uuid)}
@returns(200) {Name: str?, Id: str?, CanSearch: bool, MediaTypes: [str]?, ContentTypes: [str]?, MaxPageSize: int(int32)?, AutoRefreshLevels: int(int32)?, DefaultSortFields: [str]?, SupportsSortOrderToggle: bool, SupportsLatestMedia: bool, CanFilter: bool, SupportsContentDownloading: bool}
@errors {401, 403}

@endpoint GET /Channels/{channelId}/Items
@required {channelId: str(uuid)}
@optional {folderId: str(uuid), userId: str(uuid), startIndex: int(int32), limit: int(int32), sortOrder: str, filters: [str], sortBy: str, fields: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Channels/Features
@returns(200)
@errors {401, 403}

@endpoint GET /Channels/Items/Latest
@optional {userId: str(uuid), startIndex: int(int32), limit: int(int32), filters: [str], fields: [str], channelIds: [str(uuid)]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Collections
@endpoint POST /Collections
@optional {name: str, ids: [str], parentId: str(uuid), isLocked: bool=false}
@returns(200) {Id: str(uuid)}
@errors {401, 403}

@endpoint POST /Collections/{collectionId}/Items
@required {collectionId: str(uuid), ids: [str(uuid)]}
@returns(204)
@errors {401, 403}

@endpoint DELETE /Collections/{collectionId}/Items
@required {collectionId: str(uuid), ids: [str(uuid)]}
@returns(204)
@errors {401, 403}

@endgroup

@group System
@endpoint GET /System/Configuration
@returns(200) {LogFileRetentionDays: int(int32), IsStartupWizardCompleted: bool, CachePath: str?, PreviousVersion: map{Major: int(int32), Minor: int(int32), Build: int(int32), Revision: int(int32), MajorRevision: int(int32), MinorRevision: int(int32)}, PreviousVersionStr: str?, EnableUPnP: bool, EnableMetrics: bool, PublicPort: int(int32), UPnPCreateHttpPortMap: bool, UDPPortRange: str?, EnableIPV6: bool, EnableIPV4: bool, EnableSSDPTracing: bool, SSDPTracingFilter: str?, UDPSendCount: int(int32), UDPSendDelay: int(int32), IgnoreVirtualInterfaces: bool, VirtualInterfaceNames: str?, GatewayMonitorPeriod: int(int32), EnableMultiSocketBinding: bool, TrustAllIP6Interfaces: bool, HDHomerunPortRange: str?, PublishedServerUriBySubnet: [str]?, AutoDiscoveryTracing: bool, AutoDiscovery: bool, PublicHttpsPort: int(int32), HttpServerPortNumber: int(int32), HttpsPortNumber: int(int32), EnableHttps: bool, EnableNormalizedItemByNameIds: bool, CertificatePath: str?, CertificatePassword: str?, IsPortAuthorized: bool, QuickConnectAvailable: bool, EnableRemoteAccess: bool, EnableCaseSensitiveItemIds: bool, DisableLiveTvChannelUserDataName: bool, MetadataPath: str?, MetadataNetworkPath: str?, PreferredMetadataLanguage: str?, MetadataCountryCode: str?, SortReplaceCharacters: [str]?, SortRemoveCharacters: [str]?, SortRemoveWords: [str]?, MinResumePct: int(int32), MaxResumePct: int(int32), MinResumeDurationSeconds: int(int32), MinAudiobookResume: int(int32), MaxAudiobookResume: int(int32), LibraryMonitorDelay: int(int32), EnableDashboardResponseCaching: bool, ImageSavingConvention: str, MetadataOptions: [map]?, SkipDeserializationForBasicTypes: bool, ServerName: str?, BaseUrl: str?, UICulture: str?, SaveMetadataHidden: bool, ContentTypes: [map]?, RemoteClientBitrateLimit: int(int32), EnableFolderView: bool, EnableGroupingIntoCollections: bool, DisplaySpecialsWithinSeasons: bool, LocalNetworkSubnets: [str]?, LocalNetworkAddresses: [str]?, CodecsUsed: [str]?, PluginRepositories: [map]?, EnableExternalContentInSuggestions: bool, RequireHttps: bool, EnableNewOmdbSupport: bool, RemoteIPFilter: [str]?, IsRemoteIPFilterBlacklist: bool, ImageExtractionTimeoutMs: int(int32), PathSubstitutions: [map]?, EnableSimpleArtistDetection: bool, UninstalledPlugins: [str]?, EnableSlowResponseWarning: bool, SlowResponseThresholdMs: int(int64), CorsHosts: [str]?, KnownProxies: [str]?, ActivityLogRetentionDays: int(int32)?, LibraryScanFanoutConcurrency: int(int32), LibraryMetadataRefreshConcurrency: int(int32), RemoveOldPlugins: bool, DisablePluginImages: bool}
@errors {401, 403}

@endpoint POST /System/Configuration
@optional {LogFileRetentionDays: int(int32), IsStartupWizardCompleted: bool, CachePath: str, PreviousVersion: map{Major: int(int32), Minor: int(int32), Build: int(int32), Revision: int(int32), MajorRevision: int(int32), MinorRevision: int(int32)}, PreviousVersionStr: str, EnableUPnP: bool, EnableMetrics: bool, PublicPort: int(int32), UPnPCreateHttpPortMap: bool, UDPPortRange: str, EnableIPV6: bool, EnableIPV4: bool, EnableSSDPTracing: bool, SSDPTracingFilter: str, UDPSendCount: int(int32), UDPSendDelay: int(int32), IgnoreVirtualInterfaces: bool, VirtualInterfaceNames: str, GatewayMonitorPeriod: int(int32), EnableMultiSocketBinding: bool, TrustAllIP6Interfaces: bool, HDHomerunPortRange: str, PublishedServerUriBySubnet: [str], AutoDiscoveryTracing: bool, AutoDiscovery: bool, PublicHttpsPort: int(int32), HttpServerPortNumber: int(int32), HttpsPortNumber: int(int32), EnableHttps: bool, EnableNormalizedItemByNameIds: bool, CertificatePath: str, CertificatePassword: str, IsPortAuthorized: bool, QuickConnectAvailable: bool, EnableRemoteAccess: bool, EnableCaseSensitiveItemIds: bool, DisableLiveTvChannelUserDataName: bool, MetadataPath: str, MetadataNetworkPath: str, PreferredMetadataLanguage: str, MetadataCountryCode: str, SortReplaceCharacters: [str], SortRemoveCharacters: [str], SortRemoveWords: [str], MinResumePct: int(int32), MaxResumePct: int(int32), MinResumeDurationSeconds: int(int32), MinAudiobookResume: int(int32), MaxAudiobookResume: int(int32), LibraryMonitorDelay: int(int32), EnableDashboardResponseCaching: bool, ImageSavingConvention: str(Legacy/Compatible), MetadataOptions: [map{ItemType: str, DisabledMetadataSavers: [str], LocalMetadataReaderOrder: [str], DisabledMetadataFetchers: [str], MetadataFetcherOrder: [str], DisabledImageFetchers: [str], ImageFetcherOrder: [str]}], SkipDeserializationForBasicTypes: bool, ServerName: str, BaseUrl: str, UICulture: str, SaveMetadataHidden: bool, ContentTypes: [map{Name: str, Value: str}], RemoteClientBitrateLimit: int(int32), EnableFolderView: bool, EnableGroupingIntoCollections: bool, DisplaySpecialsWithinSeasons: bool, LocalNetworkSubnets: [str], LocalNetworkAddresses: [str], CodecsUsed: [str], PluginRepositories: [map{Name: str, Url: str, Enabled: bool}], EnableExternalContentInSuggestions: bool, RequireHttps: bool, EnableNewOmdbSupport: bool, RemoteIPFilter: [str], IsRemoteIPFilterBlacklist: bool, ImageExtractionTimeoutMs: int(int32), PathSubstitutions: [map{From: str, To: str}], EnableSimpleArtistDetection: bool, UninstalledPlugins: [str], EnableSlowResponseWarning: bool, SlowResponseThresholdMs: int(int64), CorsHosts: [str], KnownProxies: [str], ActivityLogRetentionDays: int(int32), LibraryScanFanoutConcurrency: int(int32), LibraryMetadataRefreshConcurrency: int(int32), RemoveOldPlugins: bool, DisablePluginImages: bool}
@returns(204)
@errors {401, 403}

@endpoint GET /System/Configuration/{key}
@required {key: str}
@returns(200)
@errors {401, 403}

@endpoint POST /System/Configuration/{key}
@required {key: str}
@returns(204)
@errors {401, 403}

@endpoint GET /System/Configuration/MetadataOptions/Default
@returns(200) {ItemType: str?, DisabledMetadataSavers: [str]?, LocalMetadataReaderOrder: [str]?, DisabledMetadataFetchers: [str]?, MetadataFetcherOrder: [str]?, DisabledImageFetchers: [str]?, ImageFetcherOrder: [str]?}
@errors {401, 403}

@endpoint POST /System/MediaEncoder/Path
@optional {Path: str, PathType: str}
@returns(204)
@errors {401, 403}

@endgroup

@group web
@endpoint GET /web/ConfigurationPage
@optional {name: str}
@returns(200)
@errors {404}

@endpoint GET /web/ConfigurationPages
@optional {enableInMainMenu: bool, pageType: str}
@returns(200)
@errors {404}

@endgroup

@group Devices
@endpoint GET /Devices
@optional {supportsSync: bool, userId: str(uuid)}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint DELETE /Devices
@required {id: str}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /Devices/Info
@required {id: str}
@returns(200) {Name: str?, Id: str?, LastUserName: str?, AppName: str?, AppVersion: str?, LastUserId: str(uuid), DateLastActivity: str(date-time), Capabilities: map{PlayableMediaTypes: [str]?, SupportedCommands: [str]?, SupportsMediaControl: bool, SupportsContentUploading: bool, MessageCallbackUrl: str?, SupportsPersistentIdentifier: bool, SupportsSync: bool, DeviceProfile: map{Name: str?, Id: str?, Identification: map{FriendlyName: str?, ModelNumber: str?, SerialNumber: str?, ModelName: str?, ModelDescription: str?, ModelUrl: str?, Manufacturer: str?, ManufacturerUrl: str?, Headers: [map]?}, FriendlyName: str?, Manufacturer: str?, ManufacturerUrl: str?, ModelName: str?, ModelDescription: str?, ModelNumber: str?, ModelUrl: str?, SerialNumber: str?, EnableAlbumArtInDidl: bool, EnableSingleAlbumArtLimit: bool, EnableSingleSubtitleLimit: bool, SupportedMediaTypes: str?, UserId: str?, AlbumArtPn: str?, MaxAlbumArtWidth: int(int32), MaxAlbumArtHeight: int(int32), MaxIconWidth: int(int32)?, MaxIconHeight: int(int32)?, MaxStreamingBitrate: int(int32)?, MaxStaticBitrate: int(int32)?, MusicStreamingTranscodingBitrate: int(int32)?, MaxStaticMusicBitrate: int(int32)?, SonyAggregationFlags: str?, ProtocolInfo: str?, TimelineOffsetSeconds: int(int32), RequiresPlainVideoItems: bool, RequiresPlainFolders: bool, EnableMSMediaReceiverRegistrar: bool, IgnoreTranscodeByteRangeRequests: bool, XmlRootAttributes: [map]?, DirectPlayProfiles: [map]?, TranscodingProfiles: [map]?, ContainerProfiles: [map]?, CodecProfiles: [map]?, ResponseProfiles: [map]?, SubtitleProfiles: [map]?}, AppStoreUrl: str?, IconUrl: str?}, IconUrl: str?}
@errors {401, 403, 404}

@endpoint GET /Devices/Options
@required {id: str}
@returns(200) {CustomName: str?}
@errors {401, 403, 404}

@endpoint POST /Devices/Options
@required {id: str}
@optional {CustomName: str}
@returns(204)
@errors {401, 403, 404}

@endgroup

@group DisplayPreferences
@endpoint GET /DisplayPreferences/{displayPreferencesId}
@required {displayPreferencesId: str, userId: str(uuid), client: str}
@returns(200) {Id: str?, ViewType: str?, SortBy: str?, IndexBy: str?, RememberIndexing: bool, PrimaryImageHeight: int(int32), PrimaryImageWidth: int(int32), CustomPrefs: map?, ScrollDirection: str, ShowBackdrop: bool, RememberSorting: bool, SortOrder: str, ShowSidebar: bool, Client: str?}
@errors {401, 403}

@endpoint POST /DisplayPreferences/{displayPreferencesId}
@required {displayPreferencesId: str, userId: str(uuid), client: str}
@optional {Id: str, ViewType: str, SortBy: str, IndexBy: str, RememberIndexing: bool, PrimaryImageHeight: int(int32), PrimaryImageWidth: int(int32), CustomPrefs: map, ScrollDirection: str(Horizontal/Vertical), ShowBackdrop: bool, RememberSorting: bool, SortOrder: str(Ascending/Descending), ShowSidebar: bool, Client: str}
@returns(204)
@errors {401, 403}

@endgroup

@group Dlna
@endpoint GET /Dlna/ProfileInfos
@returns(200)
@errors {401, 403}

@endpoint POST /Dlna/Profiles
@optional {Name: str, Id: str, Identification: map{FriendlyName: str, ModelNumber: str, SerialNumber: str, ModelName: str, ModelDescription: str, ModelUrl: str, Manufacturer: str, ManufacturerUrl: str, Headers: [map]}, FriendlyName: str, Manufacturer: str, ManufacturerUrl: str, ModelName: str, ModelDescription: str, ModelNumber: str, ModelUrl: str, SerialNumber: str, EnableAlbumArtInDidl: bool, EnableSingleAlbumArtLimit: bool, EnableSingleSubtitleLimit: bool, SupportedMediaTypes: str, UserId: str, AlbumArtPn: str, MaxAlbumArtWidth: int(int32), MaxAlbumArtHeight: int(int32), MaxIconWidth: int(int32), MaxIconHeight: int(int32), MaxStreamingBitrate: int(int32), MaxStaticBitrate: int(int32), MusicStreamingTranscodingBitrate: int(int32), MaxStaticMusicBitrate: int(int32), SonyAggregationFlags: str, ProtocolInfo: str, TimelineOffsetSeconds: int(int32), RequiresPlainVideoItems: bool, RequiresPlainFolders: bool, EnableMSMediaReceiverRegistrar: bool, IgnoreTranscodeByteRangeRequests: bool, XmlRootAttributes: [map{Name: str, Value: str}], DirectPlayProfiles: [map{Container: str, AudioCodec: str, VideoCodec: str, Type: str}], TranscodingProfiles: [map{Container: str, Type: str, VideoCodec: str, AudioCodec: str, Protocol: str, EstimateContentLength: bool, EnableMpegtsM2TsMode: bool, TranscodeSeekInfo: str, CopyTimestamps: bool, Context: str, EnableSubtitlesInManifest: bool, MaxAudioChannels: str, MinSegments: int(int32), SegmentLength: int(int32), BreakOnNonKeyFrames: bool}], ContainerProfiles: [map{Type: str, Conditions: [map], Container: str}], CodecProfiles: [map{Type: str, Conditions: [map], ApplyConditions: [map], Codec: str, Container: str}], ResponseProfiles: [map{Container: str, AudioCodec: str, VideoCodec: str, Type: str, OrgPn: str, MimeType: str, Conditions: [map]}], SubtitleProfiles: [map{Format: str, Method: str, DidlMode: str, Language: str, Container: str}]}
@returns(204)
@errors {401, 403}

@endpoint GET /Dlna/Profiles/{profileId}
@required {profileId: str}
@returns(200) {Name: str?, Id: str?, Identification: map{FriendlyName: str?, ModelNumber: str?, SerialNumber: str?, ModelName: str?, ModelDescription: str?, ModelUrl: str?, Manufacturer: str?, ManufacturerUrl: str?, Headers: [map]?}, FriendlyName: str?, Manufacturer: str?, ManufacturerUrl: str?, ModelName: str?, ModelDescription: str?, ModelNumber: str?, ModelUrl: str?, SerialNumber: str?, EnableAlbumArtInDidl: bool, EnableSingleAlbumArtLimit: bool, EnableSingleSubtitleLimit: bool, SupportedMediaTypes: str?, UserId: str?, AlbumArtPn: str?, MaxAlbumArtWidth: int(int32), MaxAlbumArtHeight: int(int32), MaxIconWidth: int(int32)?, MaxIconHeight: int(int32)?, MaxStreamingBitrate: int(int32)?, MaxStaticBitrate: int(int32)?, MusicStreamingTranscodingBitrate: int(int32)?, MaxStaticMusicBitrate: int(int32)?, SonyAggregationFlags: str?, ProtocolInfo: str?, TimelineOffsetSeconds: int(int32), RequiresPlainVideoItems: bool, RequiresPlainFolders: bool, EnableMSMediaReceiverRegistrar: bool, IgnoreTranscodeByteRangeRequests: bool, XmlRootAttributes: [map]?, DirectPlayProfiles: [map]?, TranscodingProfiles: [map]?, ContainerProfiles: [map]?, CodecProfiles: [map]?, ResponseProfiles: [map]?, SubtitleProfiles: [map]?}
@errors {401, 403, 404}

@endpoint DELETE /Dlna/Profiles/{profileId}
@required {profileId: str}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /Dlna/Profiles/{profileId}
@required {profileId: str}
@optional {Name: str, Id: str, Identification: map{FriendlyName: str, ModelNumber: str, SerialNumber: str, ModelName: str, ModelDescription: str, ModelUrl: str, Manufacturer: str, ManufacturerUrl: str, Headers: [map]}, FriendlyName: str, Manufacturer: str, ManufacturerUrl: str, ModelName: str, ModelDescription: str, ModelNumber: str, ModelUrl: str, SerialNumber: str, EnableAlbumArtInDidl: bool, EnableSingleAlbumArtLimit: bool, EnableSingleSubtitleLimit: bool, SupportedMediaTypes: str, UserId: str, AlbumArtPn: str, MaxAlbumArtWidth: int(int32), MaxAlbumArtHeight: int(int32), MaxIconWidth: int(int32), MaxIconHeight: int(int32), MaxStreamingBitrate: int(int32), MaxStaticBitrate: int(int32), MusicStreamingTranscodingBitrate: int(int32), MaxStaticMusicBitrate: int(int32), SonyAggregationFlags: str, ProtocolInfo: str, TimelineOffsetSeconds: int(int32), RequiresPlainVideoItems: bool, RequiresPlainFolders: bool, EnableMSMediaReceiverRegistrar: bool, IgnoreTranscodeByteRangeRequests: bool, XmlRootAttributes: [map{Name: str, Value: str}], DirectPlayProfiles: [map{Container: str, AudioCodec: str, VideoCodec: str, Type: str}], TranscodingProfiles: [map{Container: str, Type: str, VideoCodec: str, AudioCodec: str, Protocol: str, EstimateContentLength: bool, EnableMpegtsM2TsMode: bool, TranscodeSeekInfo: str, CopyTimestamps: bool, Context: str, EnableSubtitlesInManifest: bool, MaxAudioChannels: str, MinSegments: int(int32), SegmentLength: int(int32), BreakOnNonKeyFrames: bool}], ContainerProfiles: [map{Type: str, Conditions: [map], Container: str}], CodecProfiles: [map{Type: str, Conditions: [map], ApplyConditions: [map], Codec: str, Container: str}], ResponseProfiles: [map{Container: str, AudioCodec: str, VideoCodec: str, Type: str, OrgPn: str, MimeType: str, Conditions: [map]}], SubtitleProfiles: [map{Format: str, Method: str, DidlMode: str, Language: str, Container: str}]}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /Dlna/Profiles/Default
@returns(200) {Name: str?, Id: str?, Identification: map{FriendlyName: str?, ModelNumber: str?, SerialNumber: str?, ModelName: str?, ModelDescription: str?, ModelUrl: str?, Manufacturer: str?, ManufacturerUrl: str?, Headers: [map]?}, FriendlyName: str?, Manufacturer: str?, ManufacturerUrl: str?, ModelName: str?, ModelDescription: str?, ModelNumber: str?, ModelUrl: str?, SerialNumber: str?, EnableAlbumArtInDidl: bool, EnableSingleAlbumArtLimit: bool, EnableSingleSubtitleLimit: bool, SupportedMediaTypes: str?, UserId: str?, AlbumArtPn: str?, MaxAlbumArtWidth: int(int32), MaxAlbumArtHeight: int(int32), MaxIconWidth: int(int32)?, MaxIconHeight: int(int32)?, MaxStreamingBitrate: int(int32)?, MaxStaticBitrate: int(int32)?, MusicStreamingTranscodingBitrate: int(int32)?, MaxStaticMusicBitrate: int(int32)?, SonyAggregationFlags: str?, ProtocolInfo: str?, TimelineOffsetSeconds: int(int32), RequiresPlainVideoItems: bool, RequiresPlainFolders: bool, EnableMSMediaReceiverRegistrar: bool, IgnoreTranscodeByteRangeRequests: bool, XmlRootAttributes: [map]?, DirectPlayProfiles: [map]?, TranscodingProfiles: [map]?, ContainerProfiles: [map]?, CodecProfiles: [map]?, ResponseProfiles: [map]?, SubtitleProfiles: [map]?}
@errors {401, 403}

@endpoint GET /Dlna/{serverId}/ConnectionManager
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint GET /Dlna/{serverId}/ConnectionManager/ConnectionManager
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint GET /Dlna/{serverId}/ConnectionManager/ConnectionManager.xml
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint POST /Dlna/{serverId}/ConnectionManager/Control
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint GET /Dlna/{serverId}/ContentDirectory
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint GET /Dlna/{serverId}/ContentDirectory/ContentDirectory
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint GET /Dlna/{serverId}/ContentDirectory/ContentDirectory.xml
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint POST /Dlna/{serverId}/ContentDirectory/Control
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint GET /Dlna/{serverId}/description
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint GET /Dlna/{serverId}/description.xml
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint GET /Dlna/{serverId}/icons/{fileName}
@required {serverId: str, fileName: str}
@returns(200)
@errors {404, 503}

@endpoint GET /Dlna/{serverId}/MediaReceiverRegistrar
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint POST /Dlna/{serverId}/MediaReceiverRegistrar/Control
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint GET /Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint GET /Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar.xml
@required {serverId: str}
@returns(200)
@errors {503}

@endpoint GET /Dlna/icons/{fileName}
@required {fileName: str}
@returns(200)
@errors {404, 503}

@endgroup

@group Audio
@endpoint GET /Audio/{itemId}/hls1/{playlistId}/{segmentId}.{container}
@required {itemId: str(uuid), playlistId: str, segmentId: int(int32), container: str}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), maxStreamingBitrate: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)
@errors {401, 403}

@endpoint GET /Audio/{itemId}/main.m3u8
@required {itemId: str(uuid)}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), maxStreamingBitrate: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)
@errors {401, 403}

@endpoint GET /Audio/{itemId}/master.m3u8
@required {itemId: str(uuid), mediaSourceId: str}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), maxStreamingBitrate: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map, enableAdaptiveBitrateStreaming: bool=true}
@returns(200)
@errors {401, 403}

@endpoint HEAD /Audio/{itemId}/master.m3u8
@required {itemId: str(uuid), mediaSourceId: str}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), maxStreamingBitrate: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map, enableAdaptiveBitrateStreaming: bool=true}
@returns(200)
@errors {401, 403}

@endgroup

@group Videos
@endpoint GET /Videos/{itemId}/hls1/{playlistId}/{segmentId}.{container}
@required {itemId: str(uuid), playlistId: str, segmentId: int(int32), container: str}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)
@errors {401, 403}

@endpoint GET /Videos/{itemId}/main.m3u8
@required {itemId: str(uuid)}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)
@errors {401, 403}

@endpoint GET /Videos/{itemId}/master.m3u8
@required {itemId: str(uuid), mediaSourceId: str}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map, enableAdaptiveBitrateStreaming: bool=true}
@returns(200)
@errors {401, 403}

@endpoint HEAD /Videos/{itemId}/master.m3u8
@required {itemId: str(uuid), mediaSourceId: str}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map, enableAdaptiveBitrateStreaming: bool=true}
@returns(200)
@errors {401, 403}

@endgroup

@group Environment
@endpoint GET /Environment/DefaultDirectoryBrowser
@returns(200) {Path: str?}
@errors {401, 403}

@endpoint GET /Environment/DirectoryContents
@required {path: str}
@optional {includeFiles: bool=false, includeDirectories: bool=false}
@returns(200)
@errors {401, 403}

@endpoint GET /Environment/Drives
@returns(200)
@errors {401, 403}

@endpoint GET /Environment/NetworkShares
@returns(200)
@errors {401, 403}

@endpoint GET /Environment/ParentPath
@required {path: str}
@returns(200)
@errors {401, 403}

@endpoint POST /Environment/ValidatePath
@optional {ValidateWritable: bool, Path: str, IsFile: bool}
@returns(204)
@errors {401, 403, 404}

@endgroup

@group Items
@endpoint GET /Items/Filters
@optional {userId: str(uuid), parentId: str(uuid), includeItemTypes: [str], mediaTypes: [str]}
@returns(200) {Genres: [str]?, Tags: [str]?, OfficialRatings: [str]?, Years: [int(int32)]?}
@errors {401, 403}

@endpoint GET /Items/Filters2
@optional {userId: str(uuid), parentId: str(uuid), includeItemTypes: [str], isAiring: bool, isMovie: bool, isSports: bool, isKids: bool, isNews: bool, isSeries: bool, recursive: bool}
@returns(200) {Genres: [map]?, Tags: [str]?}
@errors {401, 403}

@endgroup

@group Genres
@endpoint GET /Genres
@optional {startIndex: int(int32), limit: int(int32), searchTerm: str, parentId: str(uuid), fields: [str], excludeItemTypes: [str], includeItemTypes: [str], isFavorite: bool, imageTypeLimit: int(int32), enableImageTypes: [str], userId: str(uuid), nameStartsWithOrGreater: str, nameStartsWith: str, nameLessThan: str, enableImages: bool=true, enableTotalRecordCount: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Genres/{genreName}
@required {genreName: str}
@optional {userId: str(uuid)}
@returns(200) {Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403}

@endgroup

@group Audio
@endpoint GET /Audio/{itemId}/hls/{segmentId}/stream.aac
@required {itemId: str, segmentId: str}
@returns(200)

@endpoint GET /Audio/{itemId}/hls/{segmentId}/stream.mp3
@required {itemId: str, segmentId: str}
@returns(200)

@endgroup

@group Videos
@endpoint GET /Videos/{itemId}/hls/{playlistId}/{segmentId}.{segmentContainer}
@required {itemId: str, playlistId: str, segmentId: str, segmentContainer: str}
@returns(200)
@errors {404}

@endpoint GET /Videos/{itemId}/hls/{playlistId}/stream.m3u8
@required {itemId: str, playlistId: str}
@returns(200)
@errors {401, 403}

@endpoint DELETE /Videos/ActiveEncodings
@optional {deviceId: str, playSessionId: str}
@returns(204)
@errors {401, 403}

@endgroup

@group Artists
@endpoint GET /Artists/{name}/Images/{imageType}/{imageIndex}
@required {name: str, imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endpoint HEAD /Artists/{name}/Images/{imageType}/{imageIndex}
@required {name: str, imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endgroup

@group Genres
@endpoint GET /Genres/{name}/Images/{imageType}
@required {name: str, imageType: str}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint HEAD /Genres/{name}/Images/{imageType}
@required {name: str, imageType: str}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint GET /Genres/{name}/Images/{imageType}/{imageIndex}
@required {name: str, imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endpoint HEAD /Genres/{name}/Images/{imageType}/{imageIndex}
@required {name: str, imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endgroup

@group Items
@endpoint GET /Items/{itemId}/Images
@required {itemId: str(uuid)}
@returns(200)
@errors {401, 403, 404}

@endpoint DELETE /Items/{itemId}/Images/{imageType}
@required {itemId: str(uuid), imageType: str}
@optional {imageIndex: int(int32)}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /Items/{itemId}/Images/{imageType}
@required {itemId: str(uuid), imageType: str}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /Items/{itemId}/Images/{imageType}
@required {itemId: str(uuid), imageType: str}
@optional {maxWidth: int(int32), maxHeight: int(int32), width: int(int32), height: int(int32), quality: int(int32), tag: str, cropWhitespace: bool, format: str, addPlayedIndicator: bool, percentPlayed: num(double), unplayedCount: int(int32), blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint HEAD /Items/{itemId}/Images/{imageType}
@required {itemId: str(uuid), imageType: str}
@optional {maxWidth: int(int32), maxHeight: int(int32), width: int(int32), height: int(int32), quality: int(int32), tag: str, cropWhitespace: bool, format: str, addPlayedIndicator: bool, percentPlayed: num(double), unplayedCount: int(int32), blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint DELETE /Items/{itemId}/Images/{imageType}/{imageIndex}
@required {itemId: str(uuid), imageType: str, imageIndex: int(int32)}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /Items/{itemId}/Images/{imageType}/{imageIndex}
@required {itemId: str(uuid), imageType: str, imageIndex: int(int32)}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /Items/{itemId}/Images/{imageType}/{imageIndex}
@required {itemId: str(uuid), imageType: str, imageIndex: int(int32)}
@optional {maxWidth: int(int32), maxHeight: int(int32), width: int(int32), height: int(int32), quality: int(int32), tag: str, cropWhitespace: bool, format: str, addPlayedIndicator: bool, percentPlayed: num(double), unplayedCount: int(int32), blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endpoint HEAD /Items/{itemId}/Images/{imageType}/{imageIndex}
@required {itemId: str(uuid), imageType: str, imageIndex: int(int32)}
@optional {maxWidth: int(int32), maxHeight: int(int32), width: int(int32), height: int(int32), quality: int(int32), tag: str, cropWhitespace: bool, format: str, addPlayedIndicator: bool, percentPlayed: num(double), unplayedCount: int(int32), blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endpoint GET /Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}
@required {itemId: str(uuid), imageType: str, maxWidth: int(int32), maxHeight: int(int32), tag: str, format: str, percentPlayed: num(double), unplayedCount: int(int32), imageIndex: int(int32)}
@optional {width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endpoint HEAD /Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}
@required {itemId: str(uuid), imageType: str, maxWidth: int(int32), maxHeight: int(int32), tag: str, format: str, percentPlayed: num(double), unplayedCount: int(int32), imageIndex: int(int32)}
@optional {width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endpoint POST /Items/{itemId}/Images/{imageType}/{imageIndex}/Index
@required {itemId: str(uuid), imageType: str, imageIndex: int(int32)}
@optional {newIndex: int(int32)}
@returns(204)
@errors {401, 403, 404}

@endgroup

@group MusicGenres
@endpoint GET /MusicGenres/{name}/Images/{imageType}
@required {name: str, imageType: str}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint HEAD /MusicGenres/{name}/Images/{imageType}
@required {name: str, imageType: str}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint GET /MusicGenres/{name}/Images/{imageType}/{imageIndex}
@required {name: str, imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endpoint HEAD /MusicGenres/{name}/Images/{imageType}/{imageIndex}
@required {name: str, imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endgroup

@group Persons
@endpoint GET /Persons/{name}/Images/{imageType}
@required {name: str, imageType: str}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint HEAD /Persons/{name}/Images/{imageType}
@required {name: str, imageType: str}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint GET /Persons/{name}/Images/{imageType}/{imageIndex}
@required {name: str, imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endpoint HEAD /Persons/{name}/Images/{imageType}/{imageIndex}
@required {name: str, imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endgroup

@group Studios
@endpoint GET /Studios/{name}/Images/{imageType}
@required {name: str, imageType: str}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint HEAD /Studios/{name}/Images/{imageType}
@required {name: str, imageType: str}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint GET /Studios/{name}/Images/{imageType}/{imageIndex}
@required {name: str, imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endpoint HEAD /Studios/{name}/Images/{imageType}/{imageIndex}
@required {name: str, imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endgroup

@group Users
@endpoint POST /Users/{userId}/Images/{imageType}
@required {userId: str(uuid), imageType: str}
@optional {index: int(int32)}
@returns(204)
@errors {401, 403}

@endpoint DELETE /Users/{userId}/Images/{imageType}
@required {userId: str(uuid), imageType: str}
@optional {index: int(int32)}
@returns(204)
@errors {401, 403}

@endpoint GET /Users/{userId}/Images/{imageType}
@required {userId: str(uuid), imageType: str}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint HEAD /Users/{userId}/Images/{imageType}
@required {userId: str(uuid), imageType: str}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str, imageIndex: int(int32)}
@returns(200)
@errors {404}

@endpoint GET /Users/{userId}/Images/{imageType}/{imageIndex}
@required {userId: str(uuid), imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endpoint HEAD /Users/{userId}/Images/{imageType}/{imageIndex}
@required {userId: str(uuid), imageType: str, imageIndex: int(int32)}
@optional {tag: str, format: str, maxWidth: int(int32), maxHeight: int(int32), percentPlayed: num(double), unplayedCount: int(int32), width: int(int32), height: int(int32), quality: int(int32), cropWhitespace: bool, addPlayedIndicator: bool, blur: int(int32), backgroundColor: str, foregroundLayer: str}
@returns(200)
@errors {404}

@endpoint POST /Users/{userId}/Images/{imageType}/{index}
@required {userId: str(uuid), imageType: str, index: int(int32)}
@returns(204)
@errors {401, 403}

@endpoint DELETE /Users/{userId}/Images/{imageType}/{index}
@required {userId: str(uuid), imageType: str, index: int(int32)}
@returns(204)
@errors {401, 403}

@endgroup

@group Images
@endpoint GET /Images/General
@returns(200)
@errors {401, 403}

@endpoint GET /Images/General/{name}/{type}
@required {name: str, type: str}
@returns(200)
@errors {404}

@endpoint GET /Images/MediaInfo
@returns(200)
@errors {401, 403}

@endpoint GET /Images/MediaInfo/{theme}/{name}
@required {theme: str, name: str}
@returns(200)
@errors {404}

@endpoint GET /Images/Ratings
@returns(200)
@errors {401, 403}

@endpoint GET /Images/Ratings/{theme}/{name}
@required {theme: str, name: str}
@returns(200)
@errors {404}

@endgroup

@group Albums
@endpoint GET /Albums/{id}/InstantMix
@required {id: str(uuid)}
@optional {userId: str(uuid), limit: int(int32), fields: [str], enableImages: bool, enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Artists
@endpoint GET /Artists/{id}/InstantMix
@required {id: str(uuid)}
@optional {userId: str(uuid), limit: int(int32), fields: [str], enableImages: bool, enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Items
@endpoint GET /Items/{id}/InstantMix
@required {id: str(uuid)}
@optional {userId: str(uuid), limit: int(int32), fields: [str], enableImages: bool, enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group MusicGenres
@endpoint GET /MusicGenres/{id}/InstantMix
@required {id: str(uuid)}
@optional {userId: str(uuid), limit: int(int32), fields: [str], enableImages: bool, enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /MusicGenres/{name}/InstantMix
@required {name: str}
@optional {userId: str(uuid), limit: int(int32), fields: [str], enableImages: bool, enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Playlists
@endpoint GET /Playlists/{id}/InstantMix
@required {id: str(uuid)}
@optional {userId: str(uuid), limit: int(int32), fields: [str], enableImages: bool, enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Songs
@endpoint GET /Songs/{id}/InstantMix
@required {id: str(uuid)}
@optional {userId: str(uuid), limit: int(int32), fields: [str], enableImages: bool, enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Items
@endpoint GET /Items/{itemId}/ExternalIdInfos
@required {itemId: str(uuid)}
@returns(200)
@errors {401, 403, 404}

@endpoint POST /Items/RemoteSearch/Apply/{itemId}
@required {itemId: str(uuid)}
@optional {replaceAllImages: bool=true, Name: str, ProviderIds: map, ProductionYear: int(int32), IndexNumber: int(int32), IndexNumberEnd: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), ImageUrl: str, SearchProviderName: str, Overview: str, AlbumArtist: map{Name: str, ProviderIds: map, ProductionYear: int(int32), IndexNumber: int(int32), IndexNumberEnd: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), ImageUrl: str, SearchProviderName: str, Overview: str, AlbumArtist: map, Artists: [map]}, Artists: [map{Name: str, ProviderIds: map, ProductionYear: int(int32), IndexNumber: int(int32), IndexNumberEnd: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), ImageUrl: str, SearchProviderName: str, Overview: str, AlbumArtist: map, Artists: [map]}]}
@returns(204)
@errors {401, 403}

@endpoint POST /Items/RemoteSearch/Book
@optional {SearchInfo: map{Name: str, Path: str, MetadataLanguage: str, MetadataCountryCode: str, ProviderIds: map, Year: int(int32), IndexNumber: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), IsAutomated: bool, SeriesName: str}, ItemId: str(uuid), SearchProviderName: str, IncludeDisabledProviders: bool}
@returns(200)
@errors {401, 403}

@endpoint POST /Items/RemoteSearch/BoxSet
@optional {SearchInfo: map{Name: str, Path: str, MetadataLanguage: str, MetadataCountryCode: str, ProviderIds: map, Year: int(int32), IndexNumber: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), IsAutomated: bool}, ItemId: str(uuid), SearchProviderName: str, IncludeDisabledProviders: bool}
@returns(200)
@errors {401, 403}

@endpoint GET /Items/RemoteSearch/Image
@required {imageUrl: str, providerName: str}
@returns(200)
@errors {401, 403}

@endpoint POST /Items/RemoteSearch/Movie
@optional {SearchInfo: map{Name: str, Path: str, MetadataLanguage: str, MetadataCountryCode: str, ProviderIds: map, Year: int(int32), IndexNumber: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), IsAutomated: bool}, ItemId: str(uuid), SearchProviderName: str, IncludeDisabledProviders: bool}
@returns(200)
@errors {401, 403}

@endpoint POST /Items/RemoteSearch/MusicAlbum
@optional {SearchInfo: map{Name: str, Path: str, MetadataLanguage: str, MetadataCountryCode: str, ProviderIds: map, Year: int(int32), IndexNumber: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), IsAutomated: bool, AlbumArtists: [str], ArtistProviderIds: map, SongInfos: [map]}, ItemId: str(uuid), SearchProviderName: str, IncludeDisabledProviders: bool}
@returns(200)
@errors {401, 403}

@endpoint POST /Items/RemoteSearch/MusicArtist
@optional {SearchInfo: map{Name: str, Path: str, MetadataLanguage: str, MetadataCountryCode: str, ProviderIds: map, Year: int(int32), IndexNumber: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), IsAutomated: bool, SongInfos: [map]}, ItemId: str(uuid), SearchProviderName: str, IncludeDisabledProviders: bool}
@returns(200)
@errors {401, 403}

@endpoint POST /Items/RemoteSearch/MusicVideo
@optional {SearchInfo: map{Name: str, Path: str, MetadataLanguage: str, MetadataCountryCode: str, ProviderIds: map, Year: int(int32), IndexNumber: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), IsAutomated: bool, Artists: [str]}, ItemId: str(uuid), SearchProviderName: str, IncludeDisabledProviders: bool}
@returns(200)
@errors {401, 403}

@endpoint POST /Items/RemoteSearch/Person
@optional {SearchInfo: map{Name: str, Path: str, MetadataLanguage: str, MetadataCountryCode: str, ProviderIds: map, Year: int(int32), IndexNumber: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), IsAutomated: bool}, ItemId: str(uuid), SearchProviderName: str, IncludeDisabledProviders: bool}
@returns(200)
@errors {401, 403}

@endpoint POST /Items/RemoteSearch/Series
@optional {SearchInfo: map{Name: str, Path: str, MetadataLanguage: str, MetadataCountryCode: str, ProviderIds: map, Year: int(int32), IndexNumber: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), IsAutomated: bool}, ItemId: str(uuid), SearchProviderName: str, IncludeDisabledProviders: bool}
@returns(200)
@errors {401, 403}

@endpoint POST /Items/RemoteSearch/Trailer
@optional {SearchInfo: map{Name: str, Path: str, MetadataLanguage: str, MetadataCountryCode: str, ProviderIds: map, Year: int(int32), IndexNumber: int(int32), ParentIndexNumber: int(int32), PremiereDate: str(date-time), IsAutomated: bool}, ItemId: str(uuid), SearchProviderName: str, IncludeDisabledProviders: bool}
@returns(200)
@errors {401, 403}

@endpoint POST /Items/{itemId}/Refresh
@required {itemId: str(uuid)}
@optional {metadataRefreshMode: str, imageRefreshMode: str, replaceAllMetadata: bool=false, replaceAllImages: bool=false}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /Items
@optional {userId: str(uuid), maxOfficialRating: str, hasThemeSong: bool, hasThemeVideo: bool, hasSubtitles: bool, hasSpecialFeature: bool, hasTrailer: bool, adjacentTo: str, parentIndexNumber: int(int32), hasParentalRating: bool, isHd: bool, is4K: bool, locationTypes: [str], excludeLocationTypes: [str], isMissing: bool, isUnaired: bool, minCommunityRating: num(double), minCriticRating: num(double), minPremiereDate: str(date-time), minDateLastSaved: str(date-time), minDateLastSavedForUser: str(date-time), maxPremiereDate: str(date-time), hasOverview: bool, hasImdbId: bool, hasTmdbId: bool, hasTvdbId: bool, excludeItemIds: [str(uuid)], startIndex: int(int32), limit: int(int32), recursive: bool, searchTerm: str, sortOrder: str, parentId: str(uuid), fields: [str], excludeItemTypes: [str], includeItemTypes: [str], filters: [str], isFavorite: bool, mediaTypes: [str], imageTypes: [str], sortBy: str, isPlayed: bool, genres: [str], officialRatings: [str], tags: [str], years: [int(int32)], enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str], person: str, personIds: [str(uuid)], personTypes: [str], studios: [str], artists: [str], excludeArtistIds: [str(uuid)], artistIds: [str(uuid)], albumArtistIds: [str(uuid)], contributingArtistIds: [str(uuid)], albums: [str], albumIds: [str(uuid)], ids: [str(uuid)], videoTypes: [str], minOfficialRating: str, isLocked: bool, isPlaceHolder: bool, hasOfficialRating: bool, collapseBoxSetItems: bool, minWidth: int(int32), minHeight: int(int32), maxWidth: int(int32), maxHeight: int(int32), is3D: bool, seriesStatus: [str], nameStartsWithOrGreater: str, nameStartsWith: str, nameLessThan: str, studioIds: [str(uuid)], genreIds: [str(uuid)], enableTotalRecordCount: bool=true, enableImages: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint DELETE /Items
@optional {ids: [str(uuid)]}
@returns(204)
@errors {401, 403}

@endgroup

@group Users
@endpoint GET /Users/{userId}/Items
@required {userId: str(uuid)}
@optional {maxOfficialRating: str, hasThemeSong: bool, hasThemeVideo: bool, hasSubtitles: bool, hasSpecialFeature: bool, hasTrailer: bool, adjacentTo: str, parentIndexNumber: int(int32), hasParentalRating: bool, isHd: bool, is4K: bool, locationTypes: [str], excludeLocationTypes: [str], isMissing: bool, isUnaired: bool, minCommunityRating: num(double), minCriticRating: num(double), minPremiereDate: str(date-time), minDateLastSaved: str(date-time), minDateLastSavedForUser: str(date-time), maxPremiereDate: str(date-time), hasOverview: bool, hasImdbId: bool, hasTmdbId: bool, hasTvdbId: bool, excludeItemIds: [str(uuid)], startIndex: int(int32), limit: int(int32), recursive: bool, searchTerm: str, sortOrder: str, parentId: str(uuid), fields: [str], excludeItemTypes: [str], includeItemTypes: [str], filters: [str], isFavorite: bool, mediaTypes: [str], imageTypes: [str], sortBy: str, isPlayed: bool, genres: [str], officialRatings: [str], tags: [str], years: [int(int32)], enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str], person: str, personIds: [str(uuid)], personTypes: [str], studios: [str], artists: [str], excludeArtistIds: [str(uuid)], artistIds: [str(uuid)], albumArtistIds: [str(uuid)], contributingArtistIds: [str(uuid)], albums: [str], albumIds: [str(uuid)], ids: [str(uuid)], videoTypes: [str], minOfficialRating: str, isLocked: bool, isPlaceHolder: bool, hasOfficialRating: bool, collapseBoxSetItems: bool, minWidth: int(int32), minHeight: int(int32), maxWidth: int(int32), maxHeight: int(int32), is3D: bool, seriesStatus: [str], nameStartsWithOrGreater: str, nameStartsWith: str, nameLessThan: str, studioIds: [str(uuid)], genreIds: [str(uuid)], enableTotalRecordCount: bool=true, enableImages: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Users/{userId}/Items/Resume
@required {userId: str(uuid)}
@optional {startIndex: int(int32), limit: int(int32), searchTerm: str, parentId: str(uuid), fields: [str], mediaTypes: [str], enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str], excludeItemTypes: [str], includeItemTypes: [str], enableTotalRecordCount: bool=true, enableImages: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Items
@endpoint POST /Items/{itemId}
@required {itemId: str(uuid)}
@optional {Name: str, OriginalTitle: str, ServerId: str, Id: str(uuid), Etag: str, SourceType: str, PlaylistItemId: str, DateCreated: str(date-time), DateLastMediaAdded: str(date-time), ExtraType: str, AirsBeforeSeasonNumber: int(int32), AirsAfterSeasonNumber: int(int32), AirsBeforeEpisodeNumber: int(int32), CanDelete: bool, CanDownload: bool, HasSubtitles: bool, PreferredMetadataLanguage: str, PreferredMetadataCountryCode: str, SupportsSync: bool, Container: str, SortName: str, ForcedSortName: str, Video3DFormat: str(HalfSideBySide/FullSideBySide/FullTopAndBottom/HalfTopAndBottom/MVC), PremiereDate: str(date-time), ExternalUrls: [map{Name: str, Url: str}], MediaSources: [map{Protocol: str, Id: str, Path: str, EncoderPath: str, EncoderProtocol: str, Type: str, Container: str, Size: int(int64), Name: str, IsRemote: bool, ETag: str, RunTimeTicks: int(int64), ReadAtNativeFramerate: bool, IgnoreDts: bool, IgnoreIndex: bool, GenPtsInput: bool, SupportsTranscoding: bool, SupportsDirectStream: bool, SupportsDirectPlay: bool, IsInfiniteStream: bool, RequiresOpening: bool, OpenToken: str, RequiresClosing: bool, LiveStreamId: str, BufferMs: int(int32), RequiresLooping: bool, SupportsProbing: bool, VideoType: str, IsoType: str, Video3DFormat: str, MediaStreams: [map], MediaAttachments: [map], Formats: [str], Bitrate: int(int32), Timestamp: str, RequiredHttpHeaders: map, TranscodingUrl: str, TranscodingSubProtocol: str, TranscodingContainer: str, AnalyzeDurationMs: int(int32), DefaultAudioStreamIndex: int(int32), DefaultSubtitleStreamIndex: int(int32)}], CriticRating: num(float), ProductionLocations: [str], Path: str, EnableMediaSourceDisplay: bool, OfficialRating: str, CustomRating: str, ChannelId: str(uuid), ChannelName: str, Overview: str, Taglines: [str], Genres: [str], CommunityRating: num(float), CumulativeRunTimeTicks: int(int64), RunTimeTicks: int(int64), PlayAccess: str(Full/None), AspectRatio: str, ProductionYear: int(int32), IsPlaceHolder: bool, Number: str, ChannelNumber: str, IndexNumber: int(int32), IndexNumberEnd: int(int32), ParentIndexNumber: int(int32), RemoteTrailers: [map{Url: str, Name: str}], ProviderIds: map, IsHD: bool, IsFolder: bool, ParentId: str(uuid), Type: str, People: [map{Name: str, Id: str, Role: str, Type: str, PrimaryImageTag: str, ImageBlurHashes: map}], Studios: [map{Name: str, Id: str(uuid)}], GenreItems: [map{Name: str, Id: str(uuid)}], ParentLogoItemId: str, ParentBackdropItemId: str, ParentBackdropImageTags: [str], LocalTrailerCount: int(int32), UserData: map{Rating: num(double), PlayedPercentage: num(double), UnplayedItemCount: int(int32), PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool, LastPlayedDate: str(date-time), Played: bool, Key: str, ItemId: str}, RecursiveItemCount: int(int32), ChildCount: int(int32), SeriesName: str, SeriesId: str(uuid), SeasonId: str(uuid), SpecialFeatureCount: int(int32), DisplayPreferencesId: str, Status: str, AirTime: str, AirDays: [str], Tags: [str], PrimaryImageAspectRatio: num(double), Artists: [str], ArtistItems: [map{Name: str, Id: str(uuid)}], Album: str, CollectionType: str, DisplayOrder: str, AlbumId: str(uuid), AlbumPrimaryImageTag: str, SeriesPrimaryImageTag: str, AlbumArtist: str, AlbumArtists: [map{Name: str, Id: str(uuid)}], SeasonName: str, MediaStreams: [map{Codec: str, CodecTag: str, Language: str, ColorRange: str, ColorSpace: str, ColorTransfer: str, ColorPrimaries: str, Comment: str, TimeBase: str, CodecTimeBase: str, Title: str, VideoRange: str, localizedUndefined: str, localizedDefault: str, localizedForced: str, DisplayTitle: str, NalLengthSize: str, IsInterlaced: bool, IsAVC: bool, ChannelLayout: str, BitRate: int(int32), BitDepth: int(int32), RefFrames: int(int32), PacketLength: int(int32), Channels: int(int32), SampleRate: int(int32), IsDefault: bool, IsForced: bool, Height: int(int32), Width: int(int32), AverageFrameRate: num(float), RealFrameRate: num(float), Profile: str, Type: str, AspectRatio: str, Index: int(int32), Score: int(int32), IsExternal: bool, DeliveryMethod: str, DeliveryUrl: str, IsExternalUrl: bool, IsTextSubtitleStream: bool, SupportsExternalStream: bool, Path: str, PixelFormat: str, Level: num(double), IsAnamorphic: bool}], VideoType: str(VideoFile/Iso/Dvd/BluRay), PartCount: int(int32), MediaSourceCount: int(int32), ImageTags: map, BackdropImageTags: [str], ScreenshotImageTags: [str], ParentLogoImageTag: str, ParentArtItemId: str, ParentArtImageTag: str, SeriesThumbImageTag: str, ImageBlurHashes: map{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str, ParentThumbItemId: str, ParentThumbImageTag: str, ParentPrimaryImageItemId: str, ParentPrimaryImageTag: str, Chapters: [map{StartPositionTicks: int(int64), Name: str, ImagePath: str, ImageDateModified: str(date-time), ImageTag: str}], LocationType: str(FileSystem/Remote/Virtual/Offline), IsoType: str(Dvd/BluRay), MediaType: str, EndDate: str(date-time), LockedFields: [str], TrailerCount: int(int32), MovieCount: int(int32), SeriesCount: int(int32), ProgramCount: int(int32), EpisodeCount: int(int32), SongCount: int(int32), AlbumCount: int(int32), ArtistCount: int(int32), MusicVideoCount: int(int32), LockData: bool, Width: int(int32), Height: int(int32), CameraMake: str, CameraModel: str, Software: str, ExposureTime: num(double), FocalLength: num(double), ImageOrientation: str(TopLeft/TopRight/BottomRight/BottomLeft/LeftTop/RightTop/RightBottom/LeftBottom), Aperture: num(double), ShutterSpeed: num(double), Latitude: num(double), Longitude: num(double), Altitude: num(double), IsoSpeedRating: int(int32), SeriesTimerId: str, ProgramId: str, ChannelPrimaryImageTag: str, StartDate: str(date-time), CompletionPercentage: num(double), IsRepeat: bool, EpisodeTitle: str, ChannelType: str(TV/Radio), Audio: str(Mono/Stereo/Dolby/DolbyDigital/Thx/Atmos), IsMovie: bool, IsSports: bool, IsSeries: bool, IsLive: bool, IsNews: bool, IsKids: bool, IsPremiere: bool, TimerId: str, CurrentProgram: map{Name: str, OriginalTitle: str, ServerId: str, Id: str(uuid), Etag: str, SourceType: str, PlaylistItemId: str, DateCreated: str(date-time), DateLastMediaAdded: str(date-time), ExtraType: str, AirsBeforeSeasonNumber: int(int32), AirsAfterSeasonNumber: int(int32), AirsBeforeEpisodeNumber: int(int32), CanDelete: bool, CanDownload: bool, HasSubtitles: bool, PreferredMetadataLanguage: str, PreferredMetadataCountryCode: str, SupportsSync: bool, Container: str, SortName: str, ForcedSortName: str, Video3DFormat: str, PremiereDate: str(date-time), ExternalUrls: [map], MediaSources: [map], CriticRating: num(float), ProductionLocations: [str], Path: str, EnableMediaSourceDisplay: bool, OfficialRating: str, CustomRating: str, ChannelId: str(uuid), ChannelName: str, Overview: str, Taglines: [str], Genres: [str], CommunityRating: num(float), CumulativeRunTimeTicks: int(int64), RunTimeTicks: int(int64), PlayAccess: str, AspectRatio: str, ProductionYear: int(int32), IsPlaceHolder: bool, Number: str, ChannelNumber: str, IndexNumber: int(int32), IndexNumberEnd: int(int32), ParentIndexNumber: int(int32), RemoteTrailers: [map], ProviderIds: map, IsHD: bool, IsFolder: bool, ParentId: str(uuid), Type: str, People: [map], Studios: [map], GenreItems: [map], ParentLogoItemId: str, ParentBackdropItemId: str, ParentBackdropImageTags: [str], LocalTrailerCount: int(int32), UserData: map, RecursiveItemCount: int(int32), ChildCount: int(int32), SeriesName: str, SeriesId: str(uuid), SeasonId: str(uuid), SpecialFeatureCount: int(int32), DisplayPreferencesId: str, Status: str, AirTime: str, AirDays: [str], Tags: [str], PrimaryImageAspectRatio: num(double), Artists: [str], ArtistItems: [map], Album: str, CollectionType: str, DisplayOrder: str, AlbumId: str(uuid), AlbumPrimaryImageTag: str, SeriesPrimaryImageTag: str, AlbumArtist: str, AlbumArtists: [map], SeasonName: str, MediaStreams: [map], VideoType: str, PartCount: int(int32), MediaSourceCount: int(int32), ImageTags: map, BackdropImageTags: [str], ScreenshotImageTags: [str], ParentLogoImageTag: str, ParentArtItemId: str, ParentArtImageTag: str, SeriesThumbImageTag: str, ImageBlurHashes: map, SeriesStudio: str, ParentThumbItemId: str, ParentThumbImageTag: str, ParentPrimaryImageItemId: str, ParentPrimaryImageTag: str, Chapters: [map], LocationType: str, IsoType: str, MediaType: str, EndDate: str(date-time), LockedFields: [str], TrailerCount: int(int32), MovieCount: int(int32), SeriesCount: int(int32), ProgramCount: int(int32), EpisodeCount: int(int32), SongCount: int(int32), AlbumCount: int(int32), ArtistCount: int(int32), MusicVideoCount: int(int32), LockData: bool, Width: int(int32), Height: int(int32), CameraMake: str, CameraModel: str, Software: str, ExposureTime: num(double), FocalLength: num(double), ImageOrientation: str, Aperture: num(double), ShutterSpeed: num(double), Latitude: num(double), Longitude: num(double), Altitude: num(double), IsoSpeedRating: int(int32), SeriesTimerId: str, ProgramId: str, ChannelPrimaryImageTag: str, StartDate: str(date-time), CompletionPercentage: num(double), IsRepeat: bool, EpisodeTitle: str, ChannelType: str, Audio: str, IsMovie: bool, IsSports: bool, IsSeries: bool, IsLive: bool, IsNews: bool, IsKids: bool, IsPremiere: bool, TimerId: str, CurrentProgram: map}}
@returns(204)
@errors {401, 403, 404}

@endpoint DELETE /Items/{itemId}
@required {itemId: str(uuid)}
@returns(204)
@errors {401, 403}

@endpoint POST /Items/{itemId}/ContentType
@required {itemId: str(uuid)}
@optional {contentType: str}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /Items/{itemId}/MetadataEditor
@required {itemId: str(uuid)}
@returns(200) {ParentalRatingOptions: [map]?, Countries: [map]?, Cultures: [map]?, ExternalIdInfos: [map]?, ContentType: str?, ContentTypeOptions: [map]?}
@errors {401, 403, 404}

@endgroup

@group Albums
@endpoint GET /Albums/{itemId}/Similar
@required {itemId: str(uuid)}
@optional {excludeArtistIds: [str(uuid)], userId: str(uuid), limit: int(int32), fields: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Artists
@endpoint GET /Artists/{itemId}/Similar
@required {itemId: str(uuid)}
@optional {excludeArtistIds: [str(uuid)], userId: str(uuid), limit: int(int32), fields: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Items
@endpoint GET /Items/{itemId}/Ancestors
@required {itemId: str(uuid)}
@optional {userId: str(uuid)}
@returns(200)
@errors {401, 403, 404}

@endpoint GET /Items/{itemId}/CriticReviews
@required {itemId: str}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Items/{itemId}/Download
@required {itemId: str(uuid)}
@returns(200)
@errors {401, 403, 404}

@endpoint GET /Items/{itemId}/File
@required {itemId: str(uuid)}
@returns(200)
@errors {401, 403, 404}

@endpoint GET /Items/{itemId}/Similar
@required {itemId: str(uuid)}
@optional {excludeArtistIds: [str(uuid)], userId: str(uuid), limit: int(int32), fields: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Items/{itemId}/ThemeMedia
@required {itemId: str(uuid)}
@optional {userId: str(uuid), inheritFromParent: bool=false}
@returns(200) {ThemeVideosResult: map{Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32), OwnerId: str(uuid)}, ThemeSongsResult: map{Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32), OwnerId: str(uuid)}, SoundtrackSongsResult: map{Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32), OwnerId: str(uuid)}}
@errors {401, 403, 404}

@endpoint GET /Items/{itemId}/ThemeSongs
@required {itemId: str(uuid)}
@optional {userId: str(uuid), inheritFromParent: bool=false}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32), OwnerId: str(uuid)}
@errors {401, 403, 404}

@endpoint GET /Items/{itemId}/ThemeVideos
@required {itemId: str(uuid)}
@optional {userId: str(uuid), inheritFromParent: bool=false}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32), OwnerId: str(uuid)}
@errors {401, 403, 404}

@endpoint GET /Items/Counts
@optional {userId: str(uuid), isFavorite: bool}
@returns(200) {MovieCount: int(int32), SeriesCount: int(int32), EpisodeCount: int(int32), ArtistCount: int(int32), ProgramCount: int(int32), TrailerCount: int(int32), SongCount: int(int32), AlbumCount: int(int32), MusicVideoCount: int(int32), BoxSetCount: int(int32), BookCount: int(int32), ItemCount: int(int32)}
@errors {401, 403}

@endgroup

@group Libraries
@endpoint GET /Libraries/AvailableOptions
@optional {libraryContentType: str, isNewLibrary: bool}
@returns(200) {MetadataSavers: [map]?, MetadataReaders: [map]?, SubtitleFetchers: [map]?, TypeOptions: [map]?}
@errors {401, 403}

@endgroup

@group Library
@endpoint POST /Library/Media/Updated
@returns(204)
@errors {401, 403}

@endpoint GET /Library/MediaFolders
@optional {isHidden: bool}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint POST /Library/Movies/Added
@optional {tmdbId: str, imdbId: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Library/Movies/Updated
@optional {tmdbId: str, imdbId: str}
@returns(204)
@errors {401, 403}

@endpoint GET /Library/PhysicalPaths
@returns(200)
@errors {401, 403}

@endpoint GET /Library/Refresh
@returns(204)
@errors {401, 403}

@endpoint POST /Library/Series/Added
@optional {tvdbId: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Library/Series/Updated
@optional {tvdbId: str}
@returns(204)
@errors {401, 403}

@endgroup

@group Movies
@endpoint GET /Movies/{itemId}/Similar
@required {itemId: str(uuid)}
@optional {excludeArtistIds: [str(uuid)], userId: str(uuid), limit: int(int32), fields: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Shows
@endpoint GET /Shows/{itemId}/Similar
@required {itemId: str(uuid)}
@optional {excludeArtistIds: [str(uuid)], userId: str(uuid), limit: int(int32), fields: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Trailers
@endpoint GET /Trailers/{itemId}/Similar
@required {itemId: str(uuid)}
@optional {excludeArtistIds: [str(uuid)], userId: str(uuid), limit: int(int32), fields: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Library
@endpoint GET /Library/VirtualFolders
@returns(200)
@errors {401, 403}

@endpoint POST /Library/VirtualFolders
@optional {name: str, collectionType: str, paths: [str], refreshLibrary: bool=false, LibraryOptions: map{EnablePhotos: bool, EnableRealtimeMonitor: bool, EnableChapterImageExtraction: bool, ExtractChapterImagesDuringLibraryScan: bool, PathInfos: [map], SaveLocalMetadata: bool, EnableInternetProviders: bool, EnableAutomaticSeriesGrouping: bool, EnableEmbeddedTitles: bool, EnableEmbeddedEpisodeInfos: bool, AutomaticRefreshIntervalDays: int(int32), PreferredMetadataLanguage: str, MetadataCountryCode: str, SeasonZeroDisplayName: str, MetadataSavers: [str], DisabledLocalMetadataReaders: [str], LocalMetadataReaderOrder: [str], DisabledSubtitleFetchers: [str], SubtitleFetcherOrder: [str], SkipSubtitlesIfEmbeddedSubtitlesPresent: bool, SkipSubtitlesIfAudioTrackMatches: bool, SubtitleDownloadLanguages: [str], RequirePerfectSubtitleMatch: bool, SaveSubtitlesWithMedia: bool, TypeOptions: [map]}}
@returns(204)
@errors {401, 403}

@endpoint DELETE /Library/VirtualFolders
@optional {name: str, refreshLibrary: bool=false}
@returns(204)
@errors {401, 403}

@endpoint POST /Library/VirtualFolders/LibraryOptions
@optional {Id: str(uuid), LibraryOptions: map{EnablePhotos: bool, EnableRealtimeMonitor: bool, EnableChapterImageExtraction: bool, ExtractChapterImagesDuringLibraryScan: bool, PathInfos: [map], SaveLocalMetadata: bool, EnableInternetProviders: bool, EnableAutomaticSeriesGrouping: bool, EnableEmbeddedTitles: bool, EnableEmbeddedEpisodeInfos: bool, AutomaticRefreshIntervalDays: int(int32), PreferredMetadataLanguage: str, MetadataCountryCode: str, SeasonZeroDisplayName: str, MetadataSavers: [str], DisabledLocalMetadataReaders: [str], LocalMetadataReaderOrder: [str], DisabledSubtitleFetchers: [str], SubtitleFetcherOrder: [str], SkipSubtitlesIfEmbeddedSubtitlesPresent: bool, SkipSubtitlesIfAudioTrackMatches: bool, SubtitleDownloadLanguages: [str], RequirePerfectSubtitleMatch: bool, SaveSubtitlesWithMedia: bool, TypeOptions: [map]}}
@returns(204)
@errors {401, 403}

@endpoint POST /Library/VirtualFolders/Name
@optional {name: str, newName: str, refreshLibrary: bool=false}
@returns(204)
@errors {401, 403, 404, 409}

@endpoint POST /Library/VirtualFolders/Paths
@required {Name: str}
@optional {refreshLibrary: bool=false, Path: str, PathInfo: map{Path: str, NetworkPath: str}}
@returns(204)
@errors {401, 403}

@endpoint DELETE /Library/VirtualFolders/Paths
@optional {name: str, path: str, refreshLibrary: bool=false}
@returns(204)
@errors {401, 403}

@endpoint POST /Library/VirtualFolders/Paths/Update
@optional {name: str, Path: str, NetworkPath: str}
@returns(204)
@errors {401, 403}

@endgroup

@group LiveTv
@endpoint GET /LiveTv/ChannelMappingOptions
@optional {providerId: str}
@returns(200) {TunerChannels: [map]?, ProviderChannels: [map]?, Mappings: [map]?, ProviderName: str?}
@errors {401, 403}

@endpoint POST /LiveTv/ChannelMappings
@required {ProviderId: str, TunerChannelId: str, ProviderChannelId: str}
@returns(200) {Name: str?, ProviderChannelName: str?, ProviderChannelId: str?, Id: str?}
@errors {401, 403}

@endpoint GET /LiveTv/Channels
@optional {type: str, userId: str(uuid), startIndex: int(int32), isMovie: bool, isSeries: bool, isNews: bool, isKids: bool, isSports: bool, limit: int(int32), isFavorite: bool, isLiked: bool, isDisliked: bool, enableImages: bool, imageTypeLimit: int(int32), enableImageTypes: [str], fields: [str], enableUserData: bool, sortBy: [str], sortOrder: str, enableFavoriteSorting: bool=false, addCurrentProgram: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /LiveTv/Channels/{channelId}
@required {channelId: str(uuid)}
@optional {userId: str(uuid)}
@returns(200) {Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403}

@endpoint GET /LiveTv/GuideInfo
@returns(200) {StartDate: str(date-time), EndDate: str(date-time)}
@errors {401, 403}

@endpoint GET /LiveTv/Info
@returns(200) {Services: [map]?, IsEnabled: bool, EnabledUsers: [str]?}
@errors {401, 403}

@endpoint POST /LiveTv/ListingProviders
@optional {pw: str, validateListings: bool=false, validateLogin: bool=false, Id: str, Type: str, Username: str, Password: str, ListingsId: str, ZipCode: str, Country: str, Path: str, EnabledTuners: [str], EnableAllTuners: bool, NewsCategories: [str], SportsCategories: [str], KidsCategories: [str], MovieCategories: [str], ChannelMappings: [map{Name: str, Value: str}], MoviePrefix: str, PreferredLanguage: str, UserAgent: str}
@returns(200) {Id: str?, Type: str?, Username: str?, Password: str?, ListingsId: str?, ZipCode: str?, Country: str?, Path: str?, EnabledTuners: [str]?, EnableAllTuners: bool, NewsCategories: [str]?, SportsCategories: [str]?, KidsCategories: [str]?, MovieCategories: [str]?, ChannelMappings: [map]?, MoviePrefix: str?, PreferredLanguage: str?, UserAgent: str?}
@errors {401, 403}

@endpoint DELETE /LiveTv/ListingProviders
@optional {id: str}
@returns(204)
@errors {401, 403}

@endpoint GET /LiveTv/ListingProviders/Default
@returns(200) {Id: str?, Type: str?, Username: str?, Password: str?, ListingsId: str?, ZipCode: str?, Country: str?, Path: str?, EnabledTuners: [str]?, EnableAllTuners: bool, NewsCategories: [str]?, SportsCategories: [str]?, KidsCategories: [str]?, MovieCategories: [str]?, ChannelMappings: [map]?, MoviePrefix: str?, PreferredLanguage: str?, UserAgent: str?}
@errors {401, 403}

@endpoint GET /LiveTv/ListingProviders/Lineups
@optional {id: str, type: str, location: str, country: str}
@returns(200)
@errors {401, 403}

@endpoint GET /LiveTv/ListingProviders/SchedulesDirect/Countries
@returns(200)
@errors {401, 403}

@endpoint GET /LiveTv/LiveRecordings/{recordingId}/stream
@required {recordingId: str}
@returns(200)
@errors {404}

@endpoint GET /LiveTv/LiveStreamFiles/{streamId}/stream.{container}
@required {streamId: str, container: str}
@returns(200)
@errors {404}

@endpoint GET /LiveTv/Programs
@optional {channelIds: [str(uuid)], userId: str(uuid), minStartDate: str(date-time), hasAired: bool, isAiring: bool, maxStartDate: str(date-time), minEndDate: str(date-time), maxEndDate: str(date-time), isMovie: bool, isSeries: bool, isNews: bool, isKids: bool, isSports: bool, startIndex: int(int32), limit: int(int32), sortBy: str, sortOrder: str, genres: [str], genreIds: [str(uuid)], enableImages: bool, imageTypeLimit: int(int32), enableImageTypes: [str], enableUserData: bool, seriesTimerId: str, librarySeriesId: str(uuid), fields: [str], enableTotalRecordCount: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint POST /LiveTv/Programs
@optional {ChannelIds: [str(uuid)], UserId: str(uuid), MinStartDate: str(date-time), HasAired: bool, IsAiring: bool, MaxStartDate: str(date-time), MinEndDate: str(date-time), MaxEndDate: str(date-time), IsMovie: bool, IsSeries: bool, IsNews: bool, IsKids: bool, IsSports: bool, StartIndex: int(int32), Limit: int(int32), SortBy: str, SortOrder: str, Genres: [str], GenreIds: [str(uuid)], EnableImages: bool, EnableTotalRecordCount: bool, ImageTypeLimit: int(int32), EnableImageTypes: [str], EnableUserData: bool, SeriesTimerId: str, LibrarySeriesId: str(uuid), Fields: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /LiveTv/Programs/{programId}
@required {programId: str}
@optional {userId: str(uuid)}
@returns(200) {Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403}

@endpoint GET /LiveTv/Programs/Recommended
@optional {userId: str(uuid), limit: int(int32), isAiring: bool, hasAired: bool, isSeries: bool, isMovie: bool, isNews: bool, isKids: bool, isSports: bool, enableImages: bool, imageTypeLimit: int(int32), enableImageTypes: [str], genreIds: [str(uuid)], fields: [str], enableUserData: bool, enableTotalRecordCount: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /LiveTv/Recordings
@optional {channelId: str, userId: str(uuid), startIndex: int(int32), limit: int(int32), status: str, isInProgress: bool, seriesTimerId: str, enableImages: bool, imageTypeLimit: int(int32), enableImageTypes: [str], fields: [str], enableUserData: bool, isMovie: bool, isSeries: bool, isKids: bool, isSports: bool, isNews: bool, isLibraryItem: bool, enableTotalRecordCount: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /LiveTv/Recordings/{recordingId}
@required {recordingId: str(uuid)}
@optional {userId: str(uuid)}
@returns(200) {Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403}

@endpoint DELETE /LiveTv/Recordings/{recordingId}
@required {recordingId: str(uuid)}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /LiveTv/Recordings/Folders
@optional {userId: str(uuid)}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /LiveTv/Recordings/Groups
@optional {userId: str(uuid)}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /LiveTv/Recordings/Groups/{groupId}
@required {groupId: str(uuid)}
@errors {401, 403, 404}

@endpoint GET /LiveTv/Recordings/Series
@optional {channelId: str, userId: str(uuid), groupId: str, startIndex: int(int32), limit: int(int32), status: str, isInProgress: bool, seriesTimerId: str, enableImages: bool, imageTypeLimit: int(int32), enableImageTypes: [str], fields: [str], enableUserData: bool, enableTotalRecordCount: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /LiveTv/SeriesTimers
@optional {sortBy: str, sortOrder: str}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint POST /LiveTv/SeriesTimers
@optional {Id: str, Type: str, ServerId: str, ExternalId: str, ChannelId: str(uuid), ExternalChannelId: str, ChannelName: str, ChannelPrimaryImageTag: str, ProgramId: str, ExternalProgramId: str, Name: str, Overview: str, StartDate: str(date-time), EndDate: str(date-time), ServiceName: str, Priority: int(int32), PrePaddingSeconds: int(int32), PostPaddingSeconds: int(int32), IsPrePaddingRequired: bool, ParentBackdropItemId: str, ParentBackdropImageTags: [str], IsPostPaddingRequired: bool, KeepUntil: str(UntilDeleted/UntilSpaceNeeded/UntilWatched/UntilDate), RecordAnyTime: bool, SkipEpisodesInLibrary: bool, RecordAnyChannel: bool, KeepUpTo: int(int32), RecordNewOnly: bool, Days: [str], DayPattern: str(Daily/Weekdays/Weekends), ImageTags: map, ParentThumbItemId: str, ParentThumbImageTag: str, ParentPrimaryImageItemId: str, ParentPrimaryImageTag: str}
@returns(204)
@errors {401, 403}

@endpoint GET /LiveTv/SeriesTimers/{timerId}
@required {timerId: str}
@returns(200) {Id: str?, Type: str?, ServerId: str?, ExternalId: str?, ChannelId: str(uuid), ExternalChannelId: str?, ChannelName: str?, ChannelPrimaryImageTag: str?, ProgramId: str?, ExternalProgramId: str?, Name: str?, Overview: str?, StartDate: str(date-time), EndDate: str(date-time), ServiceName: str?, Priority: int(int32), PrePaddingSeconds: int(int32), PostPaddingSeconds: int(int32), IsPrePaddingRequired: bool, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, IsPostPaddingRequired: bool, KeepUntil: str, RecordAnyTime: bool, SkipEpisodesInLibrary: bool, RecordAnyChannel: bool, KeepUpTo: int(int32), RecordNewOnly: bool, Days: [str]?, DayPattern: str, ImageTags: map?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?}
@errors {401, 403, 404}

@endpoint DELETE /LiveTv/SeriesTimers/{timerId}
@required {timerId: str}
@returns(204)
@errors {401, 403}

@endpoint POST /LiveTv/SeriesTimers/{timerId}
@required {timerId: str}
@optional {Id: str, Type: str, ServerId: str, ExternalId: str, ChannelId: str(uuid), ExternalChannelId: str, ChannelName: str, ChannelPrimaryImageTag: str, ProgramId: str, ExternalProgramId: str, Name: str, Overview: str, StartDate: str(date-time), EndDate: str(date-time), ServiceName: str, Priority: int(int32), PrePaddingSeconds: int(int32), PostPaddingSeconds: int(int32), IsPrePaddingRequired: bool, ParentBackdropItemId: str, ParentBackdropImageTags: [str], IsPostPaddingRequired: bool, KeepUntil: str(UntilDeleted/UntilSpaceNeeded/UntilWatched/UntilDate), RecordAnyTime: bool, SkipEpisodesInLibrary: bool, RecordAnyChannel: bool, KeepUpTo: int(int32), RecordNewOnly: bool, Days: [str], DayPattern: str(Daily/Weekdays/Weekends), ImageTags: map, ParentThumbItemId: str, ParentThumbImageTag: str, ParentPrimaryImageItemId: str, ParentPrimaryImageTag: str}
@returns(204)
@errors {401, 403}

@endpoint GET /LiveTv/Timers
@optional {channelId: str, seriesTimerId: str, isActive: bool, isScheduled: bool}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint POST /LiveTv/Timers
@optional {Id: str, Type: str, ServerId: str, ExternalId: str, ChannelId: str(uuid), ExternalChannelId: str, ChannelName: str, ChannelPrimaryImageTag: str, ProgramId: str, ExternalProgramId: str, Name: str, Overview: str, StartDate: str(date-time), EndDate: str(date-time), ServiceName: str, Priority: int(int32), PrePaddingSeconds: int(int32), PostPaddingSeconds: int(int32), IsPrePaddingRequired: bool, ParentBackdropItemId: str, ParentBackdropImageTags: [str], IsPostPaddingRequired: bool, KeepUntil: str(UntilDeleted/UntilSpaceNeeded/UntilWatched/UntilDate), Status: str(New/InProgress/Completed/Cancelled/ConflictedOk/ConflictedNotOk/Error), SeriesTimerId: str, ExternalSeriesTimerId: str, RunTimeTicks: int(int64), ProgramInfo: map{Name: str, OriginalTitle: str, ServerId: str, Id: str(uuid), Etag: str, SourceType: str, PlaylistItemId: str, DateCreated: str(date-time), DateLastMediaAdded: str(date-time), ExtraType: str, AirsBeforeSeasonNumber: int(int32), AirsAfterSeasonNumber: int(int32), AirsBeforeEpisodeNumber: int(int32), CanDelete: bool, CanDownload: bool, HasSubtitles: bool, PreferredMetadataLanguage: str, PreferredMetadataCountryCode: str, SupportsSync: bool, Container: str, SortName: str, ForcedSortName: str, Video3DFormat: str, PremiereDate: str(date-time), ExternalUrls: [map], MediaSources: [map], CriticRating: num(float), ProductionLocations: [str], Path: str, EnableMediaSourceDisplay: bool, OfficialRating: str, CustomRating: str, ChannelId: str(uuid), ChannelName: str, Overview: str, Taglines: [str], Genres: [str], CommunityRating: num(float), CumulativeRunTimeTicks: int(int64), RunTimeTicks: int(int64), PlayAccess: str, AspectRatio: str, ProductionYear: int(int32), IsPlaceHolder: bool, Number: str, ChannelNumber: str, IndexNumber: int(int32), IndexNumberEnd: int(int32), ParentIndexNumber: int(int32), RemoteTrailers: [map], ProviderIds: map, IsHD: bool, IsFolder: bool, ParentId: str(uuid), Type: str, People: [map], Studios: [map], GenreItems: [map], ParentLogoItemId: str, ParentBackdropItemId: str, ParentBackdropImageTags: [str], LocalTrailerCount: int(int32), UserData: map, RecursiveItemCount: int(int32), ChildCount: int(int32), SeriesName: str, SeriesId: str(uuid), SeasonId: str(uuid), SpecialFeatureCount: int(int32), DisplayPreferencesId: str, Status: str, AirTime: str, AirDays: [str], Tags: [str], PrimaryImageAspectRatio: num(double), Artists: [str], ArtistItems: [map], Album: str, CollectionType: str, DisplayOrder: str, AlbumId: str(uuid), AlbumPrimaryImageTag: str, SeriesPrimaryImageTag: str, AlbumArtist: str, AlbumArtists: [map], SeasonName: str, MediaStreams: [map], VideoType: str, PartCount: int(int32), MediaSourceCount: int(int32), ImageTags: map, BackdropImageTags: [str], ScreenshotImageTags: [str], ParentLogoImageTag: str, ParentArtItemId: str, ParentArtImageTag: str, SeriesThumbImageTag: str, ImageBlurHashes: map, SeriesStudio: str, ParentThumbItemId: str, ParentThumbImageTag: str, ParentPrimaryImageItemId: str, ParentPrimaryImageTag: str, Chapters: [map], LocationType: str, IsoType: str, MediaType: str, EndDate: str(date-time), LockedFields: [str], TrailerCount: int(int32), MovieCount: int(int32), SeriesCount: int(int32), ProgramCount: int(int32), EpisodeCount: int(int32), SongCount: int(int32), AlbumCount: int(int32), ArtistCount: int(int32), MusicVideoCount: int(int32), LockData: bool, Width: int(int32), Height: int(int32), CameraMake: str, CameraModel: str, Software: str, ExposureTime: num(double), FocalLength: num(double), ImageOrientation: str, Aperture: num(double), ShutterSpeed: num(double), Latitude: num(double), Longitude: num(double), Altitude: num(double), IsoSpeedRating: int(int32), SeriesTimerId: str, ProgramId: str, ChannelPrimaryImageTag: str, StartDate: str(date-time), CompletionPercentage: num(double), IsRepeat: bool, EpisodeTitle: str, ChannelType: str, Audio: str, IsMovie: bool, IsSports: bool, IsSeries: bool, IsLive: bool, IsNews: bool, IsKids: bool, IsPremiere: bool, TimerId: str, CurrentProgram: map}}
@returns(204)
@errors {401, 403}

@endpoint GET /LiveTv/Timers/{timerId}
@required {timerId: str}
@returns(200) {Id: str?, Type: str?, ServerId: str?, ExternalId: str?, ChannelId: str(uuid), ExternalChannelId: str?, ChannelName: str?, ChannelPrimaryImageTag: str?, ProgramId: str?, ExternalProgramId: str?, Name: str?, Overview: str?, StartDate: str(date-time), EndDate: str(date-time), ServiceName: str?, Priority: int(int32), PrePaddingSeconds: int(int32), PostPaddingSeconds: int(int32), IsPrePaddingRequired: bool, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, IsPostPaddingRequired: bool, KeepUntil: str, Status: str, SeriesTimerId: str?, ExternalSeriesTimerId: str?, RunTimeTicks: int(int64)?, ProgramInfo: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403}

@endpoint DELETE /LiveTv/Timers/{timerId}
@required {timerId: str}
@returns(204)
@errors {401, 403}

@endpoint POST /LiveTv/Timers/{timerId}
@required {timerId: str}
@optional {Id: str, Type: str, ServerId: str, ExternalId: str, ChannelId: str(uuid), ExternalChannelId: str, ChannelName: str, ChannelPrimaryImageTag: str, ProgramId: str, ExternalProgramId: str, Name: str, Overview: str, StartDate: str(date-time), EndDate: str(date-time), ServiceName: str, Priority: int(int32), PrePaddingSeconds: int(int32), PostPaddingSeconds: int(int32), IsPrePaddingRequired: bool, ParentBackdropItemId: str, ParentBackdropImageTags: [str], IsPostPaddingRequired: bool, KeepUntil: str(UntilDeleted/UntilSpaceNeeded/UntilWatched/UntilDate), Status: str(New/InProgress/Completed/Cancelled/ConflictedOk/ConflictedNotOk/Error), SeriesTimerId: str, ExternalSeriesTimerId: str, RunTimeTicks: int(int64), ProgramInfo: map{Name: str, OriginalTitle: str, ServerId: str, Id: str(uuid), Etag: str, SourceType: str, PlaylistItemId: str, DateCreated: str(date-time), DateLastMediaAdded: str(date-time), ExtraType: str, AirsBeforeSeasonNumber: int(int32), AirsAfterSeasonNumber: int(int32), AirsBeforeEpisodeNumber: int(int32), CanDelete: bool, CanDownload: bool, HasSubtitles: bool, PreferredMetadataLanguage: str, PreferredMetadataCountryCode: str, SupportsSync: bool, Container: str, SortName: str, ForcedSortName: str, Video3DFormat: str, PremiereDate: str(date-time), ExternalUrls: [map], MediaSources: [map], CriticRating: num(float), ProductionLocations: [str], Path: str, EnableMediaSourceDisplay: bool, OfficialRating: str, CustomRating: str, ChannelId: str(uuid), ChannelName: str, Overview: str, Taglines: [str], Genres: [str], CommunityRating: num(float), CumulativeRunTimeTicks: int(int64), RunTimeTicks: int(int64), PlayAccess: str, AspectRatio: str, ProductionYear: int(int32), IsPlaceHolder: bool, Number: str, ChannelNumber: str, IndexNumber: int(int32), IndexNumberEnd: int(int32), ParentIndexNumber: int(int32), RemoteTrailers: [map], ProviderIds: map, IsHD: bool, IsFolder: bool, ParentId: str(uuid), Type: str, People: [map], Studios: [map], GenreItems: [map], ParentLogoItemId: str, ParentBackdropItemId: str, ParentBackdropImageTags: [str], LocalTrailerCount: int(int32), UserData: map, RecursiveItemCount: int(int32), ChildCount: int(int32), SeriesName: str, SeriesId: str(uuid), SeasonId: str(uuid), SpecialFeatureCount: int(int32), DisplayPreferencesId: str, Status: str, AirTime: str, AirDays: [str], Tags: [str], PrimaryImageAspectRatio: num(double), Artists: [str], ArtistItems: [map], Album: str, CollectionType: str, DisplayOrder: str, AlbumId: str(uuid), AlbumPrimaryImageTag: str, SeriesPrimaryImageTag: str, AlbumArtist: str, AlbumArtists: [map], SeasonName: str, MediaStreams: [map], VideoType: str, PartCount: int(int32), MediaSourceCount: int(int32), ImageTags: map, BackdropImageTags: [str], ScreenshotImageTags: [str], ParentLogoImageTag: str, ParentArtItemId: str, ParentArtImageTag: str, SeriesThumbImageTag: str, ImageBlurHashes: map, SeriesStudio: str, ParentThumbItemId: str, ParentThumbImageTag: str, ParentPrimaryImageItemId: str, ParentPrimaryImageTag: str, Chapters: [map], LocationType: str, IsoType: str, MediaType: str, EndDate: str(date-time), LockedFields: [str], TrailerCount: int(int32), MovieCount: int(int32), SeriesCount: int(int32), ProgramCount: int(int32), EpisodeCount: int(int32), SongCount: int(int32), AlbumCount: int(int32), ArtistCount: int(int32), MusicVideoCount: int(int32), LockData: bool, Width: int(int32), Height: int(int32), CameraMake: str, CameraModel: str, Software: str, ExposureTime: num(double), FocalLength: num(double), ImageOrientation: str, Aperture: num(double), ShutterSpeed: num(double), Latitude: num(double), Longitude: num(double), Altitude: num(double), IsoSpeedRating: int(int32), SeriesTimerId: str, ProgramId: str, ChannelPrimaryImageTag: str, StartDate: str(date-time), CompletionPercentage: num(double), IsRepeat: bool, EpisodeTitle: str, ChannelType: str, Audio: str, IsMovie: bool, IsSports: bool, IsSeries: bool, IsLive: bool, IsNews: bool, IsKids: bool, IsPremiere: bool, TimerId: str, CurrentProgram: map}}
@returns(204)
@errors {401, 403}

@endpoint GET /LiveTv/Timers/Defaults
@optional {programId: str}
@returns(200) {Id: str?, Type: str?, ServerId: str?, ExternalId: str?, ChannelId: str(uuid), ExternalChannelId: str?, ChannelName: str?, ChannelPrimaryImageTag: str?, ProgramId: str?, ExternalProgramId: str?, Name: str?, Overview: str?, StartDate: str(date-time), EndDate: str(date-time), ServiceName: str?, Priority: int(int32), PrePaddingSeconds: int(int32), PostPaddingSeconds: int(int32), IsPrePaddingRequired: bool, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, IsPostPaddingRequired: bool, KeepUntil: str, RecordAnyTime: bool, SkipEpisodesInLibrary: bool, RecordAnyChannel: bool, KeepUpTo: int(int32), RecordNewOnly: bool, Days: [str]?, DayPattern: str, ImageTags: map?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?}
@errors {401, 403}

@endpoint POST /LiveTv/TunerHosts
@optional {Id: str, Url: str, Type: str, DeviceId: str, FriendlyName: str, ImportFavoritesOnly: bool, AllowHWTranscoding: bool, EnableStreamLooping: bool, Source: str, TunerCount: int(int32), UserAgent: str}
@returns(200) {Id: str?, Url: str?, Type: str?, DeviceId: str?, FriendlyName: str?, ImportFavoritesOnly: bool, AllowHWTranscoding: bool, EnableStreamLooping: bool, Source: str?, TunerCount: int(int32), UserAgent: str?}
@errors {401, 403}

@endpoint DELETE /LiveTv/TunerHosts
@optional {id: str}
@returns(204)
@errors {401, 403}

@endpoint GET /LiveTv/TunerHosts/Types
@returns(200)
@errors {401, 403}

@endpoint POST /LiveTv/Tuners/{tunerId}/Reset
@required {tunerId: str}
@returns(204)
@errors {401, 403}

@endpoint GET /LiveTv/Tuners/Discover
@optional {newDevicesOnly: bool=false}
@returns(200)
@errors {401, 403}

@endpoint GET /LiveTv/Tuners/Discvover
@optional {newDevicesOnly: bool=false}
@returns(200)
@errors {401, 403}

@endgroup

@group Localization
@endpoint GET /Localization/Countries
@returns(200)
@errors {401, 403}

@endpoint GET /Localization/Cultures
@returns(200)
@errors {401, 403}

@endpoint GET /Localization/Options
@returns(200)
@errors {401, 403}

@endpoint GET /Localization/ParentalRatings
@returns(200)
@errors {401, 403}

@endgroup

@group Items
@endpoint GET /Items/{itemId}/PlaybackInfo
@required {itemId: str(uuid), userId: str(uuid)}
@returns(200) {MediaSources: [map]?, PlaySessionId: str?, ErrorCode: str}
@errors {401, 403}

@endpoint POST /Items/{itemId}/PlaybackInfo
@required {itemId: str(uuid)}
@optional {userId: str(uuid), maxStreamingBitrate: int(int32), startTimeTicks: int(int64), audioStreamIndex: int(int32), subtitleStreamIndex: int(int32), maxAudioChannels: int(int32), mediaSourceId: str, liveStreamId: str, autoOpenLiveStream: bool, enableDirectPlay: bool, enableDirectStream: bool, enableTranscoding: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, UserId: str(uuid), MaxStreamingBitrate: int(int32), StartTimeTicks: int(int64), AudioStreamIndex: int(int32), SubtitleStreamIndex: int(int32), MaxAudioChannels: int(int32), MediaSourceId: str, LiveStreamId: str, DeviceProfile: map{Name: str, Id: str, Identification: map, FriendlyName: str, Manufacturer: str, ManufacturerUrl: str, ModelName: str, ModelDescription: str, ModelNumber: str, ModelUrl: str, SerialNumber: str, EnableAlbumArtInDidl: bool, EnableSingleAlbumArtLimit: bool, EnableSingleSubtitleLimit: bool, SupportedMediaTypes: str, UserId: str, AlbumArtPn: str, MaxAlbumArtWidth: int(int32), MaxAlbumArtHeight: int(int32), MaxIconWidth: int(int32), MaxIconHeight: int(int32), MaxStreamingBitrate: int(int32), MaxStaticBitrate: int(int32), MusicStreamingTranscodingBitrate: int(int32), MaxStaticMusicBitrate: int(int32), SonyAggregationFlags: str, ProtocolInfo: str, TimelineOffsetSeconds: int(int32), RequiresPlainVideoItems: bool, RequiresPlainFolders: bool, EnableMSMediaReceiverRegistrar: bool, IgnoreTranscodeByteRangeRequests: bool, XmlRootAttributes: [map], DirectPlayProfiles: [map], TranscodingProfiles: [map], ContainerProfiles: [map], CodecProfiles: [map], ResponseProfiles: [map], SubtitleProfiles: [map]}, EnableDirectPlay: bool, EnableDirectStream: bool, EnableTranscoding: bool, AllowVideoStreamCopy: bool, AllowAudioStreamCopy: bool, AutoOpenLiveStream: bool}
@returns(200) {MediaSources: [map]?, PlaySessionId: str?, ErrorCode: str}
@errors {401, 403}

@endgroup

@group LiveStreams
@endpoint POST /LiveStreams/Close
@required {liveStreamId: str}
@returns(204)
@errors {401, 403}

@endpoint POST /LiveStreams/Open
@optional {openToken: str, userId: str(uuid), playSessionId: str, maxStreamingBitrate: int(int32), startTimeTicks: int(int64), audioStreamIndex: int(int32), subtitleStreamIndex: int(int32), maxAudioChannels: int(int32), itemId: str(uuid), enableDirectPlay: bool, enableDirectStream: bool, OpenToken: str, UserId: str(uuid), PlaySessionId: str, MaxStreamingBitrate: int(int32), StartTimeTicks: int(int64), AudioStreamIndex: int(int32), SubtitleStreamIndex: int(int32), MaxAudioChannels: int(int32), ItemId: str(uuid), EnableDirectPlay: bool, EnableDirectStream: bool, DeviceProfile: map{Name: str, Id: str, Identification: map, FriendlyName: str, Manufacturer: str, ManufacturerUrl: str, ModelName: str, ModelDescription: str, ModelNumber: str, ModelUrl: str, SerialNumber: str, EnableAlbumArtInDidl: bool, EnableSingleAlbumArtLimit: bool, EnableSingleSubtitleLimit: bool, SupportedMediaTypes: str, UserId: str, AlbumArtPn: str, MaxAlbumArtWidth: int(int32), MaxAlbumArtHeight: int(int32), MaxIconWidth: int(int32), MaxIconHeight: int(int32), MaxStreamingBitrate: int(int32), MaxStaticBitrate: int(int32), MusicStreamingTranscodingBitrate: int(int32), MaxStaticMusicBitrate: int(int32), SonyAggregationFlags: str, ProtocolInfo: str, TimelineOffsetSeconds: int(int32), RequiresPlainVideoItems: bool, RequiresPlainFolders: bool, EnableMSMediaReceiverRegistrar: bool, IgnoreTranscodeByteRangeRequests: bool, XmlRootAttributes: [map], DirectPlayProfiles: [map], TranscodingProfiles: [map], ContainerProfiles: [map], CodecProfiles: [map], ResponseProfiles: [map], SubtitleProfiles: [map]}, DirectPlayProtocols: [str]}
@returns(200) {MediaSource: map{Protocol: str, Id: str?, Path: str?, EncoderPath: str?, EncoderProtocol: str, Type: str, Container: str?, Size: int(int64)?, Name: str?, IsRemote: bool, ETag: str?, RunTimeTicks: int(int64)?, ReadAtNativeFramerate: bool, IgnoreDts: bool, IgnoreIndex: bool, GenPtsInput: bool, SupportsTranscoding: bool, SupportsDirectStream: bool, SupportsDirectPlay: bool, IsInfiniteStream: bool, RequiresOpening: bool, OpenToken: str?, RequiresClosing: bool, LiveStreamId: str?, BufferMs: int(int32)?, RequiresLooping: bool, SupportsProbing: bool, VideoType: str, IsoType: str, Video3DFormat: str, MediaStreams: [map]?, MediaAttachments: [map]?, Formats: [str]?, Bitrate: int(int32)?, Timestamp: str, RequiredHttpHeaders: map?, TranscodingUrl: str?, TranscodingSubProtocol: str?, TranscodingContainer: str?, AnalyzeDurationMs: int(int32)?, DefaultAudioStreamIndex: int(int32)?, DefaultSubtitleStreamIndex: int(int32)?}}
@errors {401, 403}

@endgroup

@group Playback
@endpoint GET /Playback/BitrateTest
@optional {size: int(int32)=102400}
@returns(200)
@errors {400, 401, 403}

@endgroup

@group Movies
@endpoint GET /Movies/Recommendations
@optional {userId: str(uuid), parentId: str(uuid), fields: [str], categoryLimit: int(int32)=5, itemLimit: int(int32)=8}
@returns(200)
@errors {401, 403}

@endgroup

@group MusicGenres
@endpoint GET /MusicGenres
@optional {startIndex: int(int32), limit: int(int32), searchTerm: str, parentId: str(uuid), fields: [str], excludeItemTypes: [str], includeItemTypes: [str], isFavorite: bool, imageTypeLimit: int(int32), enableImageTypes: [str], userId: str(uuid), nameStartsWithOrGreater: str, nameStartsWith: str, nameLessThan: str, enableImages: bool=true, enableTotalRecordCount: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /MusicGenres/{genreName}
@required {genreName: str}
@optional {userId: str(uuid)}
@returns(200) {Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403}

@endgroup

@group Notifications
@endpoint GET /Notifications/{userId}
@required {userId: str}
@returns(200) {Notifications: [map]?, TotalRecordCount: int(int32)}
@errors {401, 403}

@endpoint POST /Notifications/{userId}/Read
@required {userId: str}
@returns(204)
@errors {401, 403}

@endpoint GET /Notifications/{userId}/Summary
@required {userId: str}
@returns(200) {UnreadCount: int(int32), MaxUnreadNotificationLevel: str}
@errors {401, 403}

@endpoint POST /Notifications/{userId}/Unread
@required {userId: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Notifications/Admin
@optional {url: str, level: str, name: str=, description: str=}
@returns(204)
@errors {401, 403}

@endpoint GET /Notifications/Services
@returns(200)
@errors {401, 403}

@endpoint GET /Notifications/Types
@returns(200)
@errors {401, 403}

@endgroup

@group Packages
@endpoint GET /Packages
@returns(200)
@errors {401, 403}

@endpoint GET /Packages/{name}
@required {name: str}
@optional {assemblyGuid: str(uuid)}
@returns(200) {name: str?, description: str?, overview: str?, owner: str?, category: str?, guid: str?, versions: [map]?, imageUrl: str?}
@errors {401, 403}

@endpoint POST /Packages/Installed/{name}
@required {name: str}
@optional {assemblyGuid: str(uuid), version: str, repositoryUrl: str}
@returns(204)
@errors {401, 403, 404}

@endpoint DELETE /Packages/Installing/{packageId}
@required {packageId: str(uuid)}
@returns(204)
@errors {401, 403}

@endgroup

@group Repositories
@endpoint GET /Repositories
@returns(200)
@errors {401, 403}

@endpoint POST /Repositories
@returns(204)
@errors {401, 403}

@endgroup

@group Persons
@endpoint GET /Persons
@optional {limit: int(int32), searchTerm: str, fields: [str], filters: [str], isFavorite: bool, enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str], excludePersonTypes: [str], personTypes: [str], appearsInItemId: str(uuid), userId: str(uuid), enableImages: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Persons/{name}
@required {name: str}
@optional {userId: str(uuid)}
@returns(200) {Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403, 404}

@endgroup

@group Playlists
@endpoint POST /Playlists
@optional {name: str, ids: [str(uuid)], userId: str(uuid), mediaType: str, Name: str, Ids: [str(uuid)], UserId: str(uuid), MediaType: str}
@returns(200) {Id: str?}
@errors {401, 403}

@endpoint POST /Playlists/{playlistId}/Items
@required {playlistId: str(uuid)}
@optional {ids: [str(uuid)], userId: str(uuid)}
@returns(204)
@errors {401, 403}

@endpoint DELETE /Playlists/{playlistId}/Items
@required {playlistId: str}
@optional {entryIds: [str]}
@returns(204)
@errors {401, 403}

@endpoint GET /Playlists/{playlistId}/Items
@required {playlistId: str(uuid), userId: str(uuid)}
@optional {startIndex: int(int32), limit: int(int32), fields: [str], enableImages: bool, enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str]}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403, 404}

@endpoint POST /Playlists/{playlistId}/Items/{itemId}/Move/{newIndex}
@required {playlistId: str, itemId: str, newIndex: int(int32)}
@returns(204)
@errors {401, 403}

@endgroup

@group Sessions
@endpoint POST /Sessions/Playing
@optional {CanSeek: bool, Item: map{Name: str, OriginalTitle: str, ServerId: str, Id: str(uuid), Etag: str, SourceType: str, PlaylistItemId: str, DateCreated: str(date-time), DateLastMediaAdded: str(date-time), ExtraType: str, AirsBeforeSeasonNumber: int(int32), AirsAfterSeasonNumber: int(int32), AirsBeforeEpisodeNumber: int(int32), CanDelete: bool, CanDownload: bool, HasSubtitles: bool, PreferredMetadataLanguage: str, PreferredMetadataCountryCode: str, SupportsSync: bool, Container: str, SortName: str, ForcedSortName: str, Video3DFormat: str, PremiereDate: str(date-time), ExternalUrls: [map], MediaSources: [map], CriticRating: num(float), ProductionLocations: [str], Path: str, EnableMediaSourceDisplay: bool, OfficialRating: str, CustomRating: str, ChannelId: str(uuid), ChannelName: str, Overview: str, Taglines: [str], Genres: [str], CommunityRating: num(float), CumulativeRunTimeTicks: int(int64), RunTimeTicks: int(int64), PlayAccess: str, AspectRatio: str, ProductionYear: int(int32), IsPlaceHolder: bool, Number: str, ChannelNumber: str, IndexNumber: int(int32), IndexNumberEnd: int(int32), ParentIndexNumber: int(int32), RemoteTrailers: [map], ProviderIds: map, IsHD: bool, IsFolder: bool, ParentId: str(uuid), Type: str, People: [map], Studios: [map], GenreItems: [map], ParentLogoItemId: str, ParentBackdropItemId: str, ParentBackdropImageTags: [str], LocalTrailerCount: int(int32), UserData: map, RecursiveItemCount: int(int32), ChildCount: int(int32), SeriesName: str, SeriesId: str(uuid), SeasonId: str(uuid), SpecialFeatureCount: int(int32), DisplayPreferencesId: str, Status: str, AirTime: str, AirDays: [str], Tags: [str], PrimaryImageAspectRatio: num(double), Artists: [str], ArtistItems: [map], Album: str, CollectionType: str, DisplayOrder: str, AlbumId: str(uuid), AlbumPrimaryImageTag: str, SeriesPrimaryImageTag: str, AlbumArtist: str, AlbumArtists: [map], SeasonName: str, MediaStreams: [map], VideoType: str, PartCount: int(int32), MediaSourceCount: int(int32), ImageTags: map, BackdropImageTags: [str], ScreenshotImageTags: [str], ParentLogoImageTag: str, ParentArtItemId: str, ParentArtImageTag: str, SeriesThumbImageTag: str, ImageBlurHashes: map, SeriesStudio: str, ParentThumbItemId: str, ParentThumbImageTag: str, ParentPrimaryImageItemId: str, ParentPrimaryImageTag: str, Chapters: [map], LocationType: str, IsoType: str, MediaType: str, EndDate: str(date-time), LockedFields: [str], TrailerCount: int(int32), MovieCount: int(int32), SeriesCount: int(int32), ProgramCount: int(int32), EpisodeCount: int(int32), SongCount: int(int32), AlbumCount: int(int32), ArtistCount: int(int32), MusicVideoCount: int(int32), LockData: bool, Width: int(int32), Height: int(int32), CameraMake: str, CameraModel: str, Software: str, ExposureTime: num(double), FocalLength: num(double), ImageOrientation: str, Aperture: num(double), ShutterSpeed: num(double), Latitude: num(double), Longitude: num(double), Altitude: num(double), IsoSpeedRating: int(int32), SeriesTimerId: str, ProgramId: str, ChannelPrimaryImageTag: str, StartDate: str(date-time), CompletionPercentage: num(double), IsRepeat: bool, EpisodeTitle: str, ChannelType: str, Audio: str, IsMovie: bool, IsSports: bool, IsSeries: bool, IsLive: bool, IsNews: bool, IsKids: bool, IsPremiere: bool, TimerId: str, CurrentProgram: map}, ItemId: str(uuid), SessionId: str, MediaSourceId: str, AudioStreamIndex: int(int32), SubtitleStreamIndex: int(int32), IsPaused: bool, IsMuted: bool, PositionTicks: int(int64), PlaybackStartTimeTicks: int(int64), VolumeLevel: int(int32), Brightness: int(int32), AspectRatio: str, PlayMethod: str(Transcode/DirectStream/DirectPlay), LiveStreamId: str, PlaySessionId: str, RepeatMode: str(RepeatNone/RepeatAll/RepeatOne), NowPlayingQueue: [map{Id: str(uuid), PlaylistItemId: str}], PlaylistItemId: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/Playing/Ping
@optional {playSessionId: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/Playing/Progress
@optional {CanSeek: bool, Item: map{Name: str, OriginalTitle: str, ServerId: str, Id: str(uuid), Etag: str, SourceType: str, PlaylistItemId: str, DateCreated: str(date-time), DateLastMediaAdded: str(date-time), ExtraType: str, AirsBeforeSeasonNumber: int(int32), AirsAfterSeasonNumber: int(int32), AirsBeforeEpisodeNumber: int(int32), CanDelete: bool, CanDownload: bool, HasSubtitles: bool, PreferredMetadataLanguage: str, PreferredMetadataCountryCode: str, SupportsSync: bool, Container: str, SortName: str, ForcedSortName: str, Video3DFormat: str, PremiereDate: str(date-time), ExternalUrls: [map], MediaSources: [map], CriticRating: num(float), ProductionLocations: [str], Path: str, EnableMediaSourceDisplay: bool, OfficialRating: str, CustomRating: str, ChannelId: str(uuid), ChannelName: str, Overview: str, Taglines: [str], Genres: [str], CommunityRating: num(float), CumulativeRunTimeTicks: int(int64), RunTimeTicks: int(int64), PlayAccess: str, AspectRatio: str, ProductionYear: int(int32), IsPlaceHolder: bool, Number: str, ChannelNumber: str, IndexNumber: int(int32), IndexNumberEnd: int(int32), ParentIndexNumber: int(int32), RemoteTrailers: [map], ProviderIds: map, IsHD: bool, IsFolder: bool, ParentId: str(uuid), Type: str, People: [map], Studios: [map], GenreItems: [map], ParentLogoItemId: str, ParentBackdropItemId: str, ParentBackdropImageTags: [str], LocalTrailerCount: int(int32), UserData: map, RecursiveItemCount: int(int32), ChildCount: int(int32), SeriesName: str, SeriesId: str(uuid), SeasonId: str(uuid), SpecialFeatureCount: int(int32), DisplayPreferencesId: str, Status: str, AirTime: str, AirDays: [str], Tags: [str], PrimaryImageAspectRatio: num(double), Artists: [str], ArtistItems: [map], Album: str, CollectionType: str, DisplayOrder: str, AlbumId: str(uuid), AlbumPrimaryImageTag: str, SeriesPrimaryImageTag: str, AlbumArtist: str, AlbumArtists: [map], SeasonName: str, MediaStreams: [map], VideoType: str, PartCount: int(int32), MediaSourceCount: int(int32), ImageTags: map, BackdropImageTags: [str], ScreenshotImageTags: [str], ParentLogoImageTag: str, ParentArtItemId: str, ParentArtImageTag: str, SeriesThumbImageTag: str, ImageBlurHashes: map, SeriesStudio: str, ParentThumbItemId: str, ParentThumbImageTag: str, ParentPrimaryImageItemId: str, ParentPrimaryImageTag: str, Chapters: [map], LocationType: str, IsoType: str, MediaType: str, EndDate: str(date-time), LockedFields: [str], TrailerCount: int(int32), MovieCount: int(int32), SeriesCount: int(int32), ProgramCount: int(int32), EpisodeCount: int(int32), SongCount: int(int32), AlbumCount: int(int32), ArtistCount: int(int32), MusicVideoCount: int(int32), LockData: bool, Width: int(int32), Height: int(int32), CameraMake: str, CameraModel: str, Software: str, ExposureTime: num(double), FocalLength: num(double), ImageOrientation: str, Aperture: num(double), ShutterSpeed: num(double), Latitude: num(double), Longitude: num(double), Altitude: num(double), IsoSpeedRating: int(int32), SeriesTimerId: str, ProgramId: str, ChannelPrimaryImageTag: str, StartDate: str(date-time), CompletionPercentage: num(double), IsRepeat: bool, EpisodeTitle: str, ChannelType: str, Audio: str, IsMovie: bool, IsSports: bool, IsSeries: bool, IsLive: bool, IsNews: bool, IsKids: bool, IsPremiere: bool, TimerId: str, CurrentProgram: map}, ItemId: str(uuid), SessionId: str, MediaSourceId: str, AudioStreamIndex: int(int32), SubtitleStreamIndex: int(int32), IsPaused: bool, IsMuted: bool, PositionTicks: int(int64), PlaybackStartTimeTicks: int(int64), VolumeLevel: int(int32), Brightness: int(int32), AspectRatio: str, PlayMethod: str(Transcode/DirectStream/DirectPlay), LiveStreamId: str, PlaySessionId: str, RepeatMode: str(RepeatNone/RepeatAll/RepeatOne), NowPlayingQueue: [map{Id: str(uuid), PlaylistItemId: str}], PlaylistItemId: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/Playing/Stopped
@optional {Item: map{Name: str, OriginalTitle: str, ServerId: str, Id: str(uuid), Etag: str, SourceType: str, PlaylistItemId: str, DateCreated: str(date-time), DateLastMediaAdded: str(date-time), ExtraType: str, AirsBeforeSeasonNumber: int(int32), AirsAfterSeasonNumber: int(int32), AirsBeforeEpisodeNumber: int(int32), CanDelete: bool, CanDownload: bool, HasSubtitles: bool, PreferredMetadataLanguage: str, PreferredMetadataCountryCode: str, SupportsSync: bool, Container: str, SortName: str, ForcedSortName: str, Video3DFormat: str, PremiereDate: str(date-time), ExternalUrls: [map], MediaSources: [map], CriticRating: num(float), ProductionLocations: [str], Path: str, EnableMediaSourceDisplay: bool, OfficialRating: str, CustomRating: str, ChannelId: str(uuid), ChannelName: str, Overview: str, Taglines: [str], Genres: [str], CommunityRating: num(float), CumulativeRunTimeTicks: int(int64), RunTimeTicks: int(int64), PlayAccess: str, AspectRatio: str, ProductionYear: int(int32), IsPlaceHolder: bool, Number: str, ChannelNumber: str, IndexNumber: int(int32), IndexNumberEnd: int(int32), ParentIndexNumber: int(int32), RemoteTrailers: [map], ProviderIds: map, IsHD: bool, IsFolder: bool, ParentId: str(uuid), Type: str, People: [map], Studios: [map], GenreItems: [map], ParentLogoItemId: str, ParentBackdropItemId: str, ParentBackdropImageTags: [str], LocalTrailerCount: int(int32), UserData: map, RecursiveItemCount: int(int32), ChildCount: int(int32), SeriesName: str, SeriesId: str(uuid), SeasonId: str(uuid), SpecialFeatureCount: int(int32), DisplayPreferencesId: str, Status: str, AirTime: str, AirDays: [str], Tags: [str], PrimaryImageAspectRatio: num(double), Artists: [str], ArtistItems: [map], Album: str, CollectionType: str, DisplayOrder: str, AlbumId: str(uuid), AlbumPrimaryImageTag: str, SeriesPrimaryImageTag: str, AlbumArtist: str, AlbumArtists: [map], SeasonName: str, MediaStreams: [map], VideoType: str, PartCount: int(int32), MediaSourceCount: int(int32), ImageTags: map, BackdropImageTags: [str], ScreenshotImageTags: [str], ParentLogoImageTag: str, ParentArtItemId: str, ParentArtImageTag: str, SeriesThumbImageTag: str, ImageBlurHashes: map, SeriesStudio: str, ParentThumbItemId: str, ParentThumbImageTag: str, ParentPrimaryImageItemId: str, ParentPrimaryImageTag: str, Chapters: [map], LocationType: str, IsoType: str, MediaType: str, EndDate: str(date-time), LockedFields: [str], TrailerCount: int(int32), MovieCount: int(int32), SeriesCount: int(int32), ProgramCount: int(int32), EpisodeCount: int(int32), SongCount: int(int32), AlbumCount: int(int32), ArtistCount: int(int32), MusicVideoCount: int(int32), LockData: bool, Width: int(int32), Height: int(int32), CameraMake: str, CameraModel: str, Software: str, ExposureTime: num(double), FocalLength: num(double), ImageOrientation: str, Aperture: num(double), ShutterSpeed: num(double), Latitude: num(double), Longitude: num(double), Altitude: num(double), IsoSpeedRating: int(int32), SeriesTimerId: str, ProgramId: str, ChannelPrimaryImageTag: str, StartDate: str(date-time), CompletionPercentage: num(double), IsRepeat: bool, EpisodeTitle: str, ChannelType: str, Audio: str, IsMovie: bool, IsSports: bool, IsSeries: bool, IsLive: bool, IsNews: bool, IsKids: bool, IsPremiere: bool, TimerId: str, CurrentProgram: map}, ItemId: str(uuid), SessionId: str, MediaSourceId: str, PositionTicks: int(int64), LiveStreamId: str, PlaySessionId: str, Failed: bool, NextMediaType: str, PlaylistItemId: str, NowPlayingQueue: [map{Id: str(uuid), PlaylistItemId: str}]}
@returns(204)
@errors {401, 403}

@endgroup

@group Users
@endpoint POST /Users/{userId}/PlayedItems/{itemId}
@required {userId: str(uuid), itemId: str(uuid)}
@optional {datePlayed: str(date-time)}
@returns(200) {Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}
@errors {401, 403}

@endpoint DELETE /Users/{userId}/PlayedItems/{itemId}
@required {userId: str(uuid), itemId: str(uuid)}
@returns(200) {Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}
@errors {401, 403}

@endpoint POST /Users/{userId}/PlayingItems/{itemId}
@required {userId: str(uuid), itemId: str(uuid)}
@optional {mediaSourceId: str, audioStreamIndex: int(int32), subtitleStreamIndex: int(int32), playMethod: str, liveStreamId: str, playSessionId: str, canSeek: bool=false}
@returns(204)
@errors {401, 403}

@endpoint DELETE /Users/{userId}/PlayingItems/{itemId}
@required {userId: str(uuid), itemId: str(uuid)}
@optional {mediaSourceId: str, nextMediaType: str, positionTicks: int(int64), liveStreamId: str, playSessionId: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Users/{userId}/PlayingItems/{itemId}/Progress
@required {userId: str(uuid), itemId: str(uuid)}
@optional {mediaSourceId: str, positionTicks: int(int64), audioStreamIndex: int(int32), subtitleStreamIndex: int(int32), volumeLevel: int(int32), playMethod: str, liveStreamId: str, playSessionId: str, repeatMode: str, isPaused: bool=false, isMuted: bool=false}
@returns(204)
@errors {401, 403}

@endgroup

@group Plugins
@endpoint GET /Plugins
@returns(200)
@errors {401, 403}

@endpoint DELETE /Plugins/{pluginId}
@required {pluginId: str(uuid)}
@returns(204)
@errors {401, 403, 404}

@endpoint DELETE /Plugins/{pluginId}/{version}
@required {pluginId: str(uuid), version: map}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /Plugins/{pluginId}/{version}/Disable
@required {pluginId: str(uuid), version: map}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /Plugins/{pluginId}/{version}/Enable
@required {pluginId: str(uuid), version: map}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /Plugins/{pluginId}/{version}/Image
@required {pluginId: str(uuid), version: map}
@returns(200)
@errors {401, 403, 404}

@endpoint GET /Plugins/{pluginId}/Configuration
@required {pluginId: str(uuid)}
@returns(200)
@errors {401, 403, 404}

@endpoint POST /Plugins/{pluginId}/Configuration
@required {pluginId: str(uuid)}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /Plugins/{pluginId}/Manifest
@required {pluginId: str(uuid)}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /Plugins/SecurityInfo
@optional {SupporterKey: str, IsMbSupporter: bool}
@returns(204)
@errors {401, 403}

@endgroup

@group QuickConnect
@endpoint POST /QuickConnect/Activate
@returns(204)
@errors {401, 403}

@endpoint POST /QuickConnect/Authorize
@required {code: str}
@returns(200)
@errors {401, 403}

@endpoint POST /QuickConnect/Available
@optional {status: str}
@returns(204)
@errors {401, 403}

@endpoint GET /QuickConnect/Connect
@required {secret: str}
@returns(200) {Authenticated: bool, Secret: str?, Code: str?, Authentication: str?, Error: str?, DateAdded: str(date-time)?}
@errors {404}

@endpoint POST /QuickConnect/Deauthorize
@returns(200)
@errors {401, 403}

@endpoint GET /QuickConnect/Initiate
@returns(200) {Authenticated: bool, Secret: str?, Code: str?, Authentication: str?, Error: str?, DateAdded: str(date-time)?}
@errors {401}

@endpoint GET /QuickConnect/Status
@returns(200)

@endgroup

@group Images
@endpoint GET /Images/Remote
@required {imageUrl: str(uri)}
@returns(200)
@errors {404}

@endgroup

@group Items
@endpoint GET /Items/{itemId}/RemoteImages
@required {itemId: str(uuid)}
@optional {type: str, startIndex: int(int32), limit: int(int32), providerName: str, includeAllLanguages: bool=false}
@returns(200) {Images: [map]?, TotalRecordCount: int(int32), Providers: [str]?}
@errors {401, 403, 404}

@endpoint POST /Items/{itemId}/RemoteImages/Download
@required {itemId: str(uuid), type: str}
@optional {imageUrl: str}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /Items/{itemId}/RemoteImages/Providers
@required {itemId: str(uuid)}
@returns(200)
@errors {401, 403, 404}

@endgroup

@group ScheduledTasks
@endpoint GET /ScheduledTasks
@optional {isHidden: bool, isEnabled: bool}
@returns(200)
@errors {401, 403}

@endpoint GET /ScheduledTasks/{taskId}
@required {taskId: str}
@returns(200) {Name: str?, State: str, CurrentProgressPercentage: num(double)?, Id: str?, LastExecutionResult: map{StartTimeUtc: str(date-time), EndTimeUtc: str(date-time), Status: str, Name: str?, Key: str?, Id: str?, ErrorMessage: str?, LongErrorMessage: str?}, Triggers: [map]?, Description: str?, Category: str?, IsHidden: bool, Key: str?}
@errors {401, 403, 404}

@endpoint POST /ScheduledTasks/{taskId}/Triggers
@required {taskId: str}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /ScheduledTasks/Running/{taskId}
@required {taskId: str}
@returns(204)
@errors {401, 403, 404}

@endpoint DELETE /ScheduledTasks/Running/{taskId}
@required {taskId: str}
@returns(204)
@errors {401, 403, 404}

@endgroup

@group Search
@endpoint GET /Search/Hints
@required {searchTerm: str}
@optional {startIndex: int(int32), limit: int(int32), userId: str(uuid), includeItemTypes: [str], excludeItemTypes: [str], mediaTypes: [str], parentId: str(uuid), isMovie: bool, isSeries: bool, isNews: bool, isKids: bool, isSports: bool, includePeople: bool=true, includeMedia: bool=true, includeGenres: bool=true, includeStudios: bool=true, includeArtists: bool=true}
@returns(200) {SearchHints: [map]?, TotalRecordCount: int(int32)}
@errors {401, 403}

@endgroup

@group Auth
@endpoint GET /Auth/PasswordResetProviders
@returns(200)
@errors {401, 403}

@endpoint GET /Auth/Providers
@returns(200)
@errors {401, 403}

@endgroup

@group Sessions
@endpoint GET /Sessions
@optional {controllableByUserId: str(uuid), deviceId: str, activeWithinSeconds: int(int32)}
@returns(200)
@errors {401, 403}

@endpoint POST /Sessions/{sessionId}/Command
@required {sessionId: str}
@optional {Name: str(MoveUp/MoveDown/MoveLeft/MoveRight/PageUp/PageDown/PreviousLetter/NextLetter/ToggleOsd/ToggleContextMenu/Select/Back/TakeScreenshot/SendKey/SendString/GoHome/GoToSettings/VolumeUp/VolumeDown/Mute/Unmute/ToggleMute/SetVolume/SetAudioStreamIndex/SetSubtitleStreamIndex/ToggleFullscreen/DisplayContent/GoToSearch/DisplayMessage/SetRepeatMode/ChannelUp/ChannelDown/Guide/ToggleStats/PlayMediaSource/PlayTrailers/SetShuffleQueue/PlayState/PlayNext/ToggleOsdMenu/Play), ControllingUserId: str(uuid), Arguments: map}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/{sessionId}/Command/{command}
@required {sessionId: str, command: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/{sessionId}/Message
@required {sessionId: str, text: str}
@optional {header: str, timeoutMs: int(int64)}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/{sessionId}/Playing
@required {sessionId: str, playCommand: str, itemIds: [str(uuid)]}
@optional {startPositionTicks: int(int64)}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/{sessionId}/Playing/{command}
@required {sessionId: str, command: str}
@optional {seekPositionTicks: int(int64), controllingUserId: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/{sessionId}/System/{command}
@required {sessionId: str, command: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/{sessionId}/User/{userId}
@required {sessionId: str, userId: str(uuid)}
@returns(204)
@errors {401, 403}

@endpoint DELETE /Sessions/{sessionId}/User/{userId}
@required {sessionId: str, userId: str(uuid)}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/{sessionId}/Viewing
@required {sessionId: str, itemType: str, itemId: str, itemName: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/Capabilities
@optional {id: str, playableMediaTypes: [str], supportedCommands: [str], supportsMediaControl: bool=false, supportsSync: bool=false, supportsPersistentIdentifier: bool=true}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/Capabilities/Full
@optional {id: str, PlayableMediaTypes: [str], SupportedCommands: [str], SupportsMediaControl: bool, SupportsContentUploading: bool, MessageCallbackUrl: str, SupportsPersistentIdentifier: bool, SupportsSync: bool, DeviceProfile: map{Name: str, Id: str, Identification: map, FriendlyName: str, Manufacturer: str, ManufacturerUrl: str, ModelName: str, ModelDescription: str, ModelNumber: str, ModelUrl: str, SerialNumber: str, EnableAlbumArtInDidl: bool, EnableSingleAlbumArtLimit: bool, EnableSingleSubtitleLimit: bool, SupportedMediaTypes: str, UserId: str, AlbumArtPn: str, MaxAlbumArtWidth: int(int32), MaxAlbumArtHeight: int(int32), MaxIconWidth: int(int32), MaxIconHeight: int(int32), MaxStreamingBitrate: int(int32), MaxStaticBitrate: int(int32), MusicStreamingTranscodingBitrate: int(int32), MaxStaticMusicBitrate: int(int32), SonyAggregationFlags: str, ProtocolInfo: str, TimelineOffsetSeconds: int(int32), RequiresPlainVideoItems: bool, RequiresPlainFolders: bool, EnableMSMediaReceiverRegistrar: bool, IgnoreTranscodeByteRangeRequests: bool, XmlRootAttributes: [map], DirectPlayProfiles: [map], TranscodingProfiles: [map], ContainerProfiles: [map], CodecProfiles: [map], ResponseProfiles: [map], SubtitleProfiles: [map]}, AppStoreUrl: str, IconUrl: str}
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/Logout
@returns(204)
@errors {401, 403}

@endpoint POST /Sessions/Viewing
@required {itemId: str}
@optional {sessionId: str}
@returns(204)
@errors {401, 403}

@endgroup

@group Startup
@endpoint POST /Startup/Complete
@returns(204)
@errors {401, 403}

@endpoint GET /Startup/Configuration
@returns(200) {UICulture: str?, MetadataCountryCode: str?, PreferredMetadataLanguage: str?}
@errors {401, 403}

@endpoint POST /Startup/Configuration
@optional {UICulture: str, MetadataCountryCode: str, PreferredMetadataLanguage: str}
@returns(204)
@errors {401, 403}

@endpoint GET /Startup/FirstUser
@returns(200) {Name: str?, Password: str?}
@errors {401, 403}

@endpoint POST /Startup/RemoteAccess
@required {EnableRemoteAccess: bool, EnableAutomaticPortMapping: bool}
@returns(204)
@errors {401, 403}

@endpoint GET /Startup/User
@returns(200) {Name: str?, Password: str?}
@errors {401, 403}

@endpoint POST /Startup/User
@optional {Name: str, Password: str}
@returns(204)
@errors {401, 403}

@endgroup

@group Studios
@endpoint GET /Studios
@optional {startIndex: int(int32), limit: int(int32), searchTerm: str, parentId: str(uuid), fields: [str], excludeItemTypes: [str], includeItemTypes: [str], isFavorite: bool, enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str], userId: str(uuid), nameStartsWithOrGreater: str, nameStartsWith: str, nameLessThan: str, enableImages: bool=true, enableTotalRecordCount: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Studios/{name}
@required {name: str}
@optional {userId: str(uuid)}
@returns(200) {Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403}

@endgroup

@group FallbackFont
@endpoint GET /FallbackFont/Fonts
@returns(200)
@errors {401, 403}

@endpoint GET /FallbackFont/Fonts/{name}
@required {name: str}
@returns(200)
@errors {401, 403}

@endgroup

@group Items
@endpoint GET /Items/{itemId}/RemoteSearch/Subtitles/{language}
@required {itemId: str(uuid), language: str}
@optional {isPerfectMatch: bool}
@returns(200)
@errors {401, 403}

@endpoint POST /Items/{itemId}/RemoteSearch/Subtitles/{subtitleId}
@required {itemId: str(uuid), subtitleId: str}
@returns(204)
@errors {401, 403}

@endgroup

@group Providers
@endpoint GET /Providers/Subtitles/Subtitles/{id}
@required {id: str}
@returns(200)
@errors {401, 403}

@endgroup

@group Videos
@endpoint GET /Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/{startPositionTicks}/Stream.{format}
@required {itemId: str(uuid), mediaSourceId: str, index: int(int32), startPositionTicks: int(int64), format: str}
@optional {endPositionTicks: int(int64), copyTimestamps: bool=false, addVttTimeMap: bool=false}
@returns(200)

@endpoint GET /Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/Stream.{format}
@required {itemId: str(uuid), mediaSourceId: str, index: int(int32), format: str}
@optional {endPositionTicks: int(int64), copyTimestamps: bool=false, addVttTimeMap: bool=false, startPositionTicks: int(int64)=0}
@returns(200)

@endpoint GET /Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/subtitles.m3u8
@required {itemId: str(uuid), index: int(int32), mediaSourceId: str, segmentLength: int(int32)}
@returns(200)
@errors {401, 403}

@endpoint POST /Videos/{itemId}/Subtitles
@required {itemId: str(uuid), Language: str, Format: str, IsForced: bool, Data: str}
@returns(204)

@endpoint DELETE /Videos/{itemId}/Subtitles/{index}
@required {itemId: str(uuid), index: int(int32)}
@returns(204)
@errors {401, 403, 404}

@endgroup

@group Users
@endpoint GET /Users/{userId}/Suggestions
@required {userId: str(uuid)}
@optional {mediaType: [str], type: [str], startIndex: int(int32), limit: int(int32), enableTotalRecordCount: bool=false}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group SyncPlay
@endpoint POST /SyncPlay/Buffering
@optional {When: str(date-time), PositionTicks: int(int64), IsPlaying: bool, PlaylistItemId: str(uuid)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/Join
@optional {GroupId: str(uuid)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/Leave
@returns(204)
@errors {401, 403}

@endpoint GET /SyncPlay/List
@returns(200)
@errors {401, 403}

@endpoint POST /SyncPlay/MovePlaylistItem
@optional {PlaylistItemId: str(uuid), NewIndex: int(int32)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/New
@optional {GroupName: str}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/NextItem
@optional {PlaylistItemId: str(uuid)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/Pause
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/Ping
@optional {Ping: int(int64)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/PreviousItem
@optional {PlaylistItemId: str(uuid)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/Queue
@optional {ItemIds: [str(uuid)], Mode: str(Queue/QueueNext)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/Ready
@optional {When: str(date-time), PositionTicks: int(int64), IsPlaying: bool, PlaylistItemId: str(uuid)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/RemoveFromPlaylist
@optional {PlaylistItemIds: [str(uuid)]}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/Seek
@optional {PositionTicks: int(int64)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/SetIgnoreWait
@optional {IgnoreWait: bool}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/SetNewQueue
@optional {PlayingQueue: [str(uuid)], PlayingItemPosition: int(int32), StartPositionTicks: int(int64)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/SetPlaylistItem
@optional {PlaylistItemId: str(uuid)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/SetRepeatMode
@optional {Mode: str(RepeatOne/RepeatAll/RepeatNone)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/SetShuffleMode
@optional {Mode: str(Sorted/Shuffle)}
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/Stop
@returns(204)
@errors {401, 403}

@endpoint POST /SyncPlay/Unpause
@returns(204)
@errors {401, 403}

@endgroup

@group System
@endpoint GET /System/Endpoint
@returns(200) {IsLocal: bool, IsInNetwork: bool}
@errors {401, 403}

@endpoint GET /System/Info
@returns(200) {LocalAddress: str?, ServerName: str?, Version: str?, ProductName: str?, OperatingSystem: str?, Id: str?, StartupWizardCompleted: bool?, OperatingSystemDisplayName: str?, PackageName: str?, HasPendingRestart: bool, IsShuttingDown: bool, SupportsLibraryMonitor: bool, WebSocketPortNumber: int(int32), CompletedInstallations: [map]?, CanSelfRestart: bool, CanLaunchWebBrowser: bool, ProgramDataPath: str?, WebPath: str?, ItemsByNamePath: str?, CachePath: str?, LogPath: str?, InternalMetadataPath: str?, TranscodingTempPath: str?, HasUpdateAvailable: bool, EncoderLocation: str, SystemArchitecture: str}
@errors {401, 403}

@endpoint GET /System/Info/Public
@returns(200) {LocalAddress: str?, ServerName: str?, Version: str?, ProductName: str?, OperatingSystem: str?, Id: str?, StartupWizardCompleted: bool?}

@endpoint GET /System/Logs
@returns(200)
@errors {401, 403}

@endpoint GET /System/Logs/Log
@required {name: str}
@returns(200)
@errors {401, 403}

@endpoint GET /System/Ping
@returns(200)

@endpoint POST /System/Ping
@returns(200)

@endpoint POST /System/Restart
@returns(204)
@errors {401, 403}

@endpoint POST /System/Shutdown
@returns(204)
@errors {401, 403}

@endpoint GET /System/WakeOnLanInfo
@returns(200)
@errors {401, 403}

@endgroup

@group GetUtcTime
@endpoint GET /GetUtcTime
@returns(200) {RequestReceptionTime: str(date-time), ResponseTransmissionTime: str(date-time)}

@endgroup

@group Trailers
@endpoint GET /Trailers
@optional {userId: str(uuid), maxOfficialRating: str, hasThemeSong: bool, hasThemeVideo: bool, hasSubtitles: bool, hasSpecialFeature: bool, hasTrailer: bool, adjacentTo: str, parentIndexNumber: int(int32), hasParentalRating: bool, isHd: bool, is4K: bool, locationTypes: [str], excludeLocationTypes: [str], isMissing: bool, isUnaired: bool, minCommunityRating: num(double), minCriticRating: num(double), minPremiereDate: str(date-time), minDateLastSaved: str(date-time), minDateLastSavedForUser: str(date-time), maxPremiereDate: str(date-time), hasOverview: bool, hasImdbId: bool, hasTmdbId: bool, hasTvdbId: bool, excludeItemIds: [str(uuid)], startIndex: int(int32), limit: int(int32), recursive: bool, searchTerm: str, sortOrder: str, parentId: str(uuid), fields: [str], excludeItemTypes: [str], filters: [str], isFavorite: bool, mediaTypes: [str], imageTypes: [str], sortBy: str, isPlayed: bool, genres: [str], officialRatings: [str], tags: [str], years: [int(int32)], enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str], person: str, personIds: [str(uuid)], personTypes: [str], studios: [str], artists: [str], excludeArtistIds: [str(uuid)], artistIds: [str(uuid)], albumArtistIds: [str(uuid)], contributingArtistIds: [str(uuid)], albums: [str], albumIds: [str(uuid)], ids: [str(uuid)], videoTypes: [str], minOfficialRating: str, isLocked: bool, isPlaceHolder: bool, hasOfficialRating: bool, collapseBoxSetItems: bool, minWidth: int(int32), minHeight: int(int32), maxWidth: int(int32), maxHeight: int(int32), is3D: bool, seriesStatus: [str], nameStartsWithOrGreater: str, nameStartsWith: str, nameLessThan: str, studioIds: [str(uuid)], genreIds: [str(uuid)], enableTotalRecordCount: bool=true, enableImages: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Shows
@endpoint GET /Shows/{seriesId}/Episodes
@required {seriesId: str(uuid)}
@optional {userId: str(uuid), fields: [str], season: int(int32), seasonId: str(uuid), isMissing: bool, adjacentTo: str, startItemId: str(uuid), startIndex: int(int32), limit: int(int32), enableImages: bool, imageTypeLimit: int(int32), enableImageTypes: [str], enableUserData: bool, sortBy: str}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403, 404}

@endpoint GET /Shows/{seriesId}/Seasons
@required {seriesId: str(uuid)}
@optional {userId: str(uuid), fields: [str], isSpecialSeason: bool, isMissing: bool, adjacentTo: str, enableImages: bool, imageTypeLimit: int(int32), enableImageTypes: [str], enableUserData: bool}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403, 404}

@endpoint GET /Shows/NextUp
@optional {userId: str(uuid), startIndex: int(int32), limit: int(int32), fields: [str], seriesId: str, parentId: str(uuid), enableImges: bool, imageTypeLimit: int(int32), enableImageTypes: [str], enableUserData: bool, enableTotalRecordCount: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Shows/Upcoming
@optional {userId: str(uuid), startIndex: int(int32), limit: int(int32), fields: [str], parentId: str(uuid), enableImges: bool, imageTypeLimit: int(int32), enableImageTypes: [str], enableUserData: bool}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endgroup

@group Audio
@endpoint GET /Audio/{itemId}/universal
@required {itemId: str(uuid)}
@optional {container: [str], mediaSourceId: str, deviceId: str, userId: str(uuid), audioCodec: str, maxAudioChannels: int(int32), transcodingAudioChannels: int(int32), maxStreamingBitrate: int(int32), audioBitRate: int(int32), startTimeTicks: int(int64), transcodingContainer: str, transcodingProtocol: str, maxAudioSampleRate: int(int32), maxAudioBitDepth: int(int32), enableRemoteMedia: bool, breakOnNonKeyFrames: bool, enableRedirection: bool=true}
@returns(200)
@errors {302, 401, 403}

@endpoint HEAD /Audio/{itemId}/universal
@required {itemId: str(uuid)}
@optional {container: [str], mediaSourceId: str, deviceId: str, userId: str(uuid), audioCodec: str, maxAudioChannels: int(int32), transcodingAudioChannels: int(int32), maxStreamingBitrate: int(int32), audioBitRate: int(int32), startTimeTicks: int(int64), transcodingContainer: str, transcodingProtocol: str, maxAudioSampleRate: int(int32), maxAudioBitDepth: int(int32), enableRemoteMedia: bool, breakOnNonKeyFrames: bool, enableRedirection: bool=true}
@returns(200)
@errors {302, 401, 403}

@endgroup

@group Users
@endpoint GET /Users
@optional {isHidden: bool, isDisabled: bool}
@returns(200)
@errors {401, 403}

@endpoint GET /Users/{userId}
@required {userId: str(uuid)}
@returns(200) {Name: str?, ServerId: str?, ServerName: str?, Id: str(uuid), PrimaryImageTag: str?, HasPassword: bool, HasConfiguredPassword: bool, HasConfiguredEasyPassword: bool, EnableAutoLogin: bool?, LastLoginDate: str(date-time)?, LastActivityDate: str(date-time)?, Configuration: map{AudioLanguagePreference: str?, PlayDefaultAudioTrack: bool, SubtitleLanguagePreference: str?, DisplayMissingEpisodes: bool, GroupedFolders: [str]?, SubtitleMode: str, DisplayCollectionsView: bool, EnableLocalPassword: bool, OrderedViews: [str]?, LatestItemsExcludes: [str]?, MyMediaExcludes: [str]?, HidePlayedInLatest: bool, RememberAudioSelections: bool, RememberSubtitleSelections: bool, EnableNextEpisodeAutoPlay: bool}, Policy: map{IsAdministrator: bool, IsHidden: bool, IsDisabled: bool, MaxParentalRating: int(int32)?, BlockedTags: [str]?, EnableUserPreferenceAccess: bool, AccessSchedules: [map]?, BlockUnratedItems: [str]?, EnableRemoteControlOfOtherUsers: bool, EnableSharedDeviceControl: bool, EnableRemoteAccess: bool, EnableLiveTvManagement: bool, EnableLiveTvAccess: bool, EnableMediaPlayback: bool, EnableAudioPlaybackTranscoding: bool, EnableVideoPlaybackTranscoding: bool, EnablePlaybackRemuxing: bool, ForceRemoteSourceTranscoding: bool, EnableContentDeletion: bool, EnableContentDeletionFromFolders: [str]?, EnableContentDownloading: bool, EnableSyncTranscoding: bool, EnableMediaConversion: bool, EnabledDevices: [str]?, EnableAllDevices: bool, EnabledChannels: [str(uuid)]?, EnableAllChannels: bool, EnabledFolders: [str(uuid)]?, EnableAllFolders: bool, InvalidLoginAttemptCount: int(int32), LoginAttemptsBeforeLockout: int(int32), MaxActiveSessions: int(int32), EnablePublicSharing: bool, BlockedMediaFolders: [str(uuid)]?, BlockedChannels: [str(uuid)]?, RemoteClientBitrateLimit: int(int32), AuthenticationProviderId: str?, PasswordResetProviderId: str?, SyncPlayAccess: str}, PrimaryImageAspectRatio: num(double)?}
@errors {401, 403, 404}

@endpoint DELETE /Users/{userId}
@required {userId: str(uuid)}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /Users/{userId}
@required {userId: str(uuid)}
@optional {Name: str, ServerId: str, ServerName: str, Id: str(uuid), PrimaryImageTag: str, HasPassword: bool, HasConfiguredPassword: bool, HasConfiguredEasyPassword: bool, EnableAutoLogin: bool, LastLoginDate: str(date-time), LastActivityDate: str(date-time), Configuration: map{AudioLanguagePreference: str, PlayDefaultAudioTrack: bool, SubtitleLanguagePreference: str, DisplayMissingEpisodes: bool, GroupedFolders: [str], SubtitleMode: str, DisplayCollectionsView: bool, EnableLocalPassword: bool, OrderedViews: [str], LatestItemsExcludes: [str], MyMediaExcludes: [str], HidePlayedInLatest: bool, RememberAudioSelections: bool, RememberSubtitleSelections: bool, EnableNextEpisodeAutoPlay: bool}, Policy: map{IsAdministrator: bool, IsHidden: bool, IsDisabled: bool, MaxParentalRating: int(int32), BlockedTags: [str], EnableUserPreferenceAccess: bool, AccessSchedules: [map], BlockUnratedItems: [str], EnableRemoteControlOfOtherUsers: bool, EnableSharedDeviceControl: bool, EnableRemoteAccess: bool, EnableLiveTvManagement: bool, EnableLiveTvAccess: bool, EnableMediaPlayback: bool, EnableAudioPlaybackTranscoding: bool, EnableVideoPlaybackTranscoding: bool, EnablePlaybackRemuxing: bool, ForceRemoteSourceTranscoding: bool, EnableContentDeletion: bool, EnableContentDeletionFromFolders: [str], EnableContentDownloading: bool, EnableSyncTranscoding: bool, EnableMediaConversion: bool, EnabledDevices: [str], EnableAllDevices: bool, EnabledChannels: [str(uuid)], EnableAllChannels: bool, EnabledFolders: [str(uuid)], EnableAllFolders: bool, InvalidLoginAttemptCount: int(int32), LoginAttemptsBeforeLockout: int(int32), MaxActiveSessions: int(int32), EnablePublicSharing: bool, BlockedMediaFolders: [str(uuid)], BlockedChannels: [str(uuid)], RemoteClientBitrateLimit: int(int32), AuthenticationProviderId: str, PasswordResetProviderId: str, SyncPlayAccess: str}, PrimaryImageAspectRatio: num(double)}
@returns(204)
@errors {400, 401, 403}

@endpoint POST /Users/{userId}/Authenticate
@required {userId: str(uuid), pw: str}
@optional {password: str}
@returns(200) {User: map{Name: str?, ServerId: str?, ServerName: str?, Id: str(uuid), PrimaryImageTag: str?, HasPassword: bool, HasConfiguredPassword: bool, HasConfiguredEasyPassword: bool, EnableAutoLogin: bool?, LastLoginDate: str(date-time)?, LastActivityDate: str(date-time)?, Configuration: map{AudioLanguagePreference: str?, PlayDefaultAudioTrack: bool, SubtitleLanguagePreference: str?, DisplayMissingEpisodes: bool, GroupedFolders: [str]?, SubtitleMode: str, DisplayCollectionsView: bool, EnableLocalPassword: bool, OrderedViews: [str]?, LatestItemsExcludes: [str]?, MyMediaExcludes: [str]?, HidePlayedInLatest: bool, RememberAudioSelections: bool, RememberSubtitleSelections: bool, EnableNextEpisodeAutoPlay: bool}, Policy: map{IsAdministrator: bool, IsHidden: bool, IsDisabled: bool, MaxParentalRating: int(int32)?, BlockedTags: [str]?, EnableUserPreferenceAccess: bool, AccessSchedules: [map]?, BlockUnratedItems: [str]?, EnableRemoteControlOfOtherUsers: bool, EnableSharedDeviceControl: bool, EnableRemoteAccess: bool, EnableLiveTvManagement: bool, EnableLiveTvAccess: bool, EnableMediaPlayback: bool, EnableAudioPlaybackTranscoding: bool, EnableVideoPlaybackTranscoding: bool, EnablePlaybackRemuxing: bool, ForceRemoteSourceTranscoding: bool, EnableContentDeletion: bool, EnableContentDeletionFromFolders: [str]?, EnableContentDownloading: bool, EnableSyncTranscoding: bool, EnableMediaConversion: bool, EnabledDevices: [str]?, EnableAllDevices: bool, EnabledChannels: [str(uuid)]?, EnableAllChannels: bool, EnabledFolders: [str(uuid)]?, EnableAllFolders: bool, InvalidLoginAttemptCount: int(int32), LoginAttemptsBeforeLockout: int(int32), MaxActiveSessions: int(int32), EnablePublicSharing: bool, BlockedMediaFolders: [str(uuid)]?, BlockedChannels: [str(uuid)]?, RemoteClientBitrateLimit: int(int32), AuthenticationProviderId: str?, PasswordResetProviderId: str?, SyncPlayAccess: str}, PrimaryImageAspectRatio: num(double)?}, SessionInfo: map{PlayState: map{PositionTicks: int(int64)?, CanSeek: bool, IsPaused: bool, IsMuted: bool, VolumeLevel: int(int32)?, AudioStreamIndex: int(int32)?, SubtitleStreamIndex: int(int32)?, MediaSourceId: str?, PlayMethod: str, RepeatMode: str}, AdditionalUsers: [map]?, Capabilities: map{PlayableMediaTypes: [str]?, SupportedCommands: [str]?, SupportsMediaControl: bool, SupportsContentUploading: bool, MessageCallbackUrl: str?, SupportsPersistentIdentifier: bool, SupportsSync: bool, DeviceProfile: map{Name: str?, Id: str?, Identification: map, FriendlyName: str?, Manufacturer: str?, ManufacturerUrl: str?, ModelName: str?, ModelDescription: str?, ModelNumber: str?, ModelUrl: str?, SerialNumber: str?, EnableAlbumArtInDidl: bool, EnableSingleAlbumArtLimit: bool, EnableSingleSubtitleLimit: bool, SupportedMediaTypes: str?, UserId: str?, AlbumArtPn: str?, MaxAlbumArtWidth: int(int32), MaxAlbumArtHeight: int(int32), MaxIconWidth: int(int32)?, MaxIconHeight: int(int32)?, MaxStreamingBitrate: int(int32)?, MaxStaticBitrate: int(int32)?, MusicStreamingTranscodingBitrate: int(int32)?, MaxStaticMusicBitrate: int(int32)?, SonyAggregationFlags: str?, ProtocolInfo: str?, TimelineOffsetSeconds: int(int32), RequiresPlainVideoItems: bool, RequiresPlainFolders: bool, EnableMSMediaReceiverRegistrar: bool, IgnoreTranscodeByteRangeRequests: bool, XmlRootAttributes: [map]?, DirectPlayProfiles: [map]?, TranscodingProfiles: [map]?, ContainerProfiles: [map]?, CodecProfiles: [map]?, ResponseProfiles: [map]?, SubtitleProfiles: [map]?}, AppStoreUrl: str?, IconUrl: str?}, RemoteEndPoint: str?, PlayableMediaTypes: [str]?, Id: str?, UserId: str(uuid), UserName: str?, Client: str?, LastActivityDate: str(date-time), LastPlaybackCheckIn: str(date-time), DeviceName: str?, DeviceType: str?, NowPlayingItem: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}, FullNowPlayingItem: map{Size: int(int64)?, Container: str?, DateLastSaved: str(date-time), RemoteTrailers: [map]?, IsHD: bool, IsShortcut: bool, ShortcutPath: str?, Width: int(int32), Height: int(int32), ExtraIds: [str(uuid)]?, SupportsExternalTransfer: bool}, NowViewingItem: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}, DeviceId: str?, ApplicationVersion: str?, TranscodingInfo: map{AudioCodec: str?, VideoCodec: str?, Container: str?, IsVideoDirect: bool, IsAudioDirect: bool, Bitrate: int(int32)?, Framerate: num(float)?, CompletionPercentage: num(double)?, Width: int(int32)?, Height: int(int32)?, AudioChannels: int(int32)?, TranscodeReasons: [str]?}, IsActive: bool, SupportsMediaControl: bool, SupportsRemoteControl: bool, NowPlayingQueue: [map]?, HasCustomDeviceName: bool, PlaylistItemId: str?, ServerId: str?, UserPrimaryImageTag: str?, SupportedCommands: [str]?}, AccessToken: str?, ServerId: str?}
@errors {403, 404}

@endpoint POST /Users/{userId}/Configuration
@required {userId: str(uuid)}
@optional {AudioLanguagePreference: str, PlayDefaultAudioTrack: bool, SubtitleLanguagePreference: str, DisplayMissingEpisodes: bool, GroupedFolders: [str], SubtitleMode: str(Default/Always/OnlyForced/None/Smart), DisplayCollectionsView: bool, EnableLocalPassword: bool, OrderedViews: [str], LatestItemsExcludes: [str], MyMediaExcludes: [str], HidePlayedInLatest: bool, RememberAudioSelections: bool, RememberSubtitleSelections: bool, EnableNextEpisodeAutoPlay: bool}
@returns(204)
@errors {401, 403}

@endpoint POST /Users/{userId}/EasyPassword
@required {userId: str(uuid)}
@optional {NewPassword: str, NewPw: str, ResetPassword: bool}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /Users/{userId}/Password
@required {userId: str(uuid)}
@optional {CurrentPassword: str, CurrentPw: str, NewPw: str, ResetPassword: bool}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /Users/{userId}/Policy
@required {userId: str(uuid)}
@optional {IsAdministrator: bool, IsHidden: bool, IsDisabled: bool, MaxParentalRating: int(int32), BlockedTags: [str], EnableUserPreferenceAccess: bool, AccessSchedules: [map{Id!: int(int32), UserId!: str(uuid), DayOfWeek!: str, StartHour!: num(double), EndHour!: num(double)}], BlockUnratedItems: [str], EnableRemoteControlOfOtherUsers: bool, EnableSharedDeviceControl: bool, EnableRemoteAccess: bool, EnableLiveTvManagement: bool, EnableLiveTvAccess: bool, EnableMediaPlayback: bool, EnableAudioPlaybackTranscoding: bool, EnableVideoPlaybackTranscoding: bool, EnablePlaybackRemuxing: bool, ForceRemoteSourceTranscoding: bool, EnableContentDeletion: bool, EnableContentDeletionFromFolders: [str], EnableContentDownloading: bool, EnableSyncTranscoding: bool, EnableMediaConversion: bool, EnabledDevices: [str], EnableAllDevices: bool, EnabledChannels: [str(uuid)], EnableAllChannels: bool, EnabledFolders: [str(uuid)], EnableAllFolders: bool, InvalidLoginAttemptCount: int(int32), LoginAttemptsBeforeLockout: int(int32), MaxActiveSessions: int(int32), EnablePublicSharing: bool, BlockedMediaFolders: [str(uuid)], BlockedChannels: [str(uuid)], RemoteClientBitrateLimit: int(int32), AuthenticationProviderId: str, PasswordResetProviderId: str, SyncPlayAccess: str(CreateAndJoinGroups/JoinGroups/None)}
@returns(204)
@errors {400, 401, 403}

@endpoint POST /Users/AuthenticateByName
@optional {Username: str, Pw: str, Password: str}
@returns(200) {User: map{Name: str?, ServerId: str?, ServerName: str?, Id: str(uuid), PrimaryImageTag: str?, HasPassword: bool, HasConfiguredPassword: bool, HasConfiguredEasyPassword: bool, EnableAutoLogin: bool?, LastLoginDate: str(date-time)?, LastActivityDate: str(date-time)?, Configuration: map{AudioLanguagePreference: str?, PlayDefaultAudioTrack: bool, SubtitleLanguagePreference: str?, DisplayMissingEpisodes: bool, GroupedFolders: [str]?, SubtitleMode: str, DisplayCollectionsView: bool, EnableLocalPassword: bool, OrderedViews: [str]?, LatestItemsExcludes: [str]?, MyMediaExcludes: [str]?, HidePlayedInLatest: bool, RememberAudioSelections: bool, RememberSubtitleSelections: bool, EnableNextEpisodeAutoPlay: bool}, Policy: map{IsAdministrator: bool, IsHidden: bool, IsDisabled: bool, MaxParentalRating: int(int32)?, BlockedTags: [str]?, EnableUserPreferenceAccess: bool, AccessSchedules: [map]?, BlockUnratedItems: [str]?, EnableRemoteControlOfOtherUsers: bool, EnableSharedDeviceControl: bool, EnableRemoteAccess: bool, EnableLiveTvManagement: bool, EnableLiveTvAccess: bool, EnableMediaPlayback: bool, EnableAudioPlaybackTranscoding: bool, EnableVideoPlaybackTranscoding: bool, EnablePlaybackRemuxing: bool, ForceRemoteSourceTranscoding: bool, EnableContentDeletion: bool, EnableContentDeletionFromFolders: [str]?, EnableContentDownloading: bool, EnableSyncTranscoding: bool, EnableMediaConversion: bool, EnabledDevices: [str]?, EnableAllDevices: bool, EnabledChannels: [str(uuid)]?, EnableAllChannels: bool, EnabledFolders: [str(uuid)]?, EnableAllFolders: bool, InvalidLoginAttemptCount: int(int32), LoginAttemptsBeforeLockout: int(int32), MaxActiveSessions: int(int32), EnablePublicSharing: bool, BlockedMediaFolders: [str(uuid)]?, BlockedChannels: [str(uuid)]?, RemoteClientBitrateLimit: int(int32), AuthenticationProviderId: str?, PasswordResetProviderId: str?, SyncPlayAccess: str}, PrimaryImageAspectRatio: num(double)?}, SessionInfo: map{PlayState: map{PositionTicks: int(int64)?, CanSeek: bool, IsPaused: bool, IsMuted: bool, VolumeLevel: int(int32)?, AudioStreamIndex: int(int32)?, SubtitleStreamIndex: int(int32)?, MediaSourceId: str?, PlayMethod: str, RepeatMode: str}, AdditionalUsers: [map]?, Capabilities: map{PlayableMediaTypes: [str]?, SupportedCommands: [str]?, SupportsMediaControl: bool, SupportsContentUploading: bool, MessageCallbackUrl: str?, SupportsPersistentIdentifier: bool, SupportsSync: bool, DeviceProfile: map{Name: str?, Id: str?, Identification: map, FriendlyName: str?, Manufacturer: str?, ManufacturerUrl: str?, ModelName: str?, ModelDescription: str?, ModelNumber: str?, ModelUrl: str?, SerialNumber: str?, EnableAlbumArtInDidl: bool, EnableSingleAlbumArtLimit: bool, EnableSingleSubtitleLimit: bool, SupportedMediaTypes: str?, UserId: str?, AlbumArtPn: str?, MaxAlbumArtWidth: int(int32), MaxAlbumArtHeight: int(int32), MaxIconWidth: int(int32)?, MaxIconHeight: int(int32)?, MaxStreamingBitrate: int(int32)?, MaxStaticBitrate: int(int32)?, MusicStreamingTranscodingBitrate: int(int32)?, MaxStaticMusicBitrate: int(int32)?, SonyAggregationFlags: str?, ProtocolInfo: str?, TimelineOffsetSeconds: int(int32), RequiresPlainVideoItems: bool, RequiresPlainFolders: bool, EnableMSMediaReceiverRegistrar: bool, IgnoreTranscodeByteRangeRequests: bool, XmlRootAttributes: [map]?, DirectPlayProfiles: [map]?, TranscodingProfiles: [map]?, ContainerProfiles: [map]?, CodecProfiles: [map]?, ResponseProfiles: [map]?, SubtitleProfiles: [map]?}, AppStoreUrl: str?, IconUrl: str?}, RemoteEndPoint: str?, PlayableMediaTypes: [str]?, Id: str?, UserId: str(uuid), UserName: str?, Client: str?, LastActivityDate: str(date-time), LastPlaybackCheckIn: str(date-time), DeviceName: str?, DeviceType: str?, NowPlayingItem: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}, FullNowPlayingItem: map{Size: int(int64)?, Container: str?, DateLastSaved: str(date-time), RemoteTrailers: [map]?, IsHD: bool, IsShortcut: bool, ShortcutPath: str?, Width: int(int32), Height: int(int32), ExtraIds: [str(uuid)]?, SupportsExternalTransfer: bool}, NowViewingItem: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}, DeviceId: str?, ApplicationVersion: str?, TranscodingInfo: map{AudioCodec: str?, VideoCodec: str?, Container: str?, IsVideoDirect: bool, IsAudioDirect: bool, Bitrate: int(int32)?, Framerate: num(float)?, CompletionPercentage: num(double)?, Width: int(int32)?, Height: int(int32)?, AudioChannels: int(int32)?, TranscodeReasons: [str]?}, IsActive: bool, SupportsMediaControl: bool, SupportsRemoteControl: bool, NowPlayingQueue: [map]?, HasCustomDeviceName: bool, PlaylistItemId: str?, ServerId: str?, UserPrimaryImageTag: str?, SupportedCommands: [str]?}, AccessToken: str?, ServerId: str?}

@endpoint POST /Users/AuthenticateWithQuickConnect
@required {Token: str}
@returns(200) {User: map{Name: str?, ServerId: str?, ServerName: str?, Id: str(uuid), PrimaryImageTag: str?, HasPassword: bool, HasConfiguredPassword: bool, HasConfiguredEasyPassword: bool, EnableAutoLogin: bool?, LastLoginDate: str(date-time)?, LastActivityDate: str(date-time)?, Configuration: map{AudioLanguagePreference: str?, PlayDefaultAudioTrack: bool, SubtitleLanguagePreference: str?, DisplayMissingEpisodes: bool, GroupedFolders: [str]?, SubtitleMode: str, DisplayCollectionsView: bool, EnableLocalPassword: bool, OrderedViews: [str]?, LatestItemsExcludes: [str]?, MyMediaExcludes: [str]?, HidePlayedInLatest: bool, RememberAudioSelections: bool, RememberSubtitleSelections: bool, EnableNextEpisodeAutoPlay: bool}, Policy: map{IsAdministrator: bool, IsHidden: bool, IsDisabled: bool, MaxParentalRating: int(int32)?, BlockedTags: [str]?, EnableUserPreferenceAccess: bool, AccessSchedules: [map]?, BlockUnratedItems: [str]?, EnableRemoteControlOfOtherUsers: bool, EnableSharedDeviceControl: bool, EnableRemoteAccess: bool, EnableLiveTvManagement: bool, EnableLiveTvAccess: bool, EnableMediaPlayback: bool, EnableAudioPlaybackTranscoding: bool, EnableVideoPlaybackTranscoding: bool, EnablePlaybackRemuxing: bool, ForceRemoteSourceTranscoding: bool, EnableContentDeletion: bool, EnableContentDeletionFromFolders: [str]?, EnableContentDownloading: bool, EnableSyncTranscoding: bool, EnableMediaConversion: bool, EnabledDevices: [str]?, EnableAllDevices: bool, EnabledChannels: [str(uuid)]?, EnableAllChannels: bool, EnabledFolders: [str(uuid)]?, EnableAllFolders: bool, InvalidLoginAttemptCount: int(int32), LoginAttemptsBeforeLockout: int(int32), MaxActiveSessions: int(int32), EnablePublicSharing: bool, BlockedMediaFolders: [str(uuid)]?, BlockedChannels: [str(uuid)]?, RemoteClientBitrateLimit: int(int32), AuthenticationProviderId: str?, PasswordResetProviderId: str?, SyncPlayAccess: str}, PrimaryImageAspectRatio: num(double)?}, SessionInfo: map{PlayState: map{PositionTicks: int(int64)?, CanSeek: bool, IsPaused: bool, IsMuted: bool, VolumeLevel: int(int32)?, AudioStreamIndex: int(int32)?, SubtitleStreamIndex: int(int32)?, MediaSourceId: str?, PlayMethod: str, RepeatMode: str}, AdditionalUsers: [map]?, Capabilities: map{PlayableMediaTypes: [str]?, SupportedCommands: [str]?, SupportsMediaControl: bool, SupportsContentUploading: bool, MessageCallbackUrl: str?, SupportsPersistentIdentifier: bool, SupportsSync: bool, DeviceProfile: map{Name: str?, Id: str?, Identification: map, FriendlyName: str?, Manufacturer: str?, ManufacturerUrl: str?, ModelName: str?, ModelDescription: str?, ModelNumber: str?, ModelUrl: str?, SerialNumber: str?, EnableAlbumArtInDidl: bool, EnableSingleAlbumArtLimit: bool, EnableSingleSubtitleLimit: bool, SupportedMediaTypes: str?, UserId: str?, AlbumArtPn: str?, MaxAlbumArtWidth: int(int32), MaxAlbumArtHeight: int(int32), MaxIconWidth: int(int32)?, MaxIconHeight: int(int32)?, MaxStreamingBitrate: int(int32)?, MaxStaticBitrate: int(int32)?, MusicStreamingTranscodingBitrate: int(int32)?, MaxStaticMusicBitrate: int(int32)?, SonyAggregationFlags: str?, ProtocolInfo: str?, TimelineOffsetSeconds: int(int32), RequiresPlainVideoItems: bool, RequiresPlainFolders: bool, EnableMSMediaReceiverRegistrar: bool, IgnoreTranscodeByteRangeRequests: bool, XmlRootAttributes: [map]?, DirectPlayProfiles: [map]?, TranscodingProfiles: [map]?, ContainerProfiles: [map]?, CodecProfiles: [map]?, ResponseProfiles: [map]?, SubtitleProfiles: [map]?}, AppStoreUrl: str?, IconUrl: str?}, RemoteEndPoint: str?, PlayableMediaTypes: [str]?, Id: str?, UserId: str(uuid), UserName: str?, Client: str?, LastActivityDate: str(date-time), LastPlaybackCheckIn: str(date-time), DeviceName: str?, DeviceType: str?, NowPlayingItem: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}, FullNowPlayingItem: map{Size: int(int64)?, Container: str?, DateLastSaved: str(date-time), RemoteTrailers: [map]?, IsHD: bool, IsShortcut: bool, ShortcutPath: str?, Width: int(int32), Height: int(int32), ExtraIds: [str(uuid)]?, SupportsExternalTransfer: bool}, NowViewingItem: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}, DeviceId: str?, ApplicationVersion: str?, TranscodingInfo: map{AudioCodec: str?, VideoCodec: str?, Container: str?, IsVideoDirect: bool, IsAudioDirect: bool, Bitrate: int(int32)?, Framerate: num(float)?, CompletionPercentage: num(double)?, Width: int(int32)?, Height: int(int32)?, AudioChannels: int(int32)?, TranscodeReasons: [str]?}, IsActive: bool, SupportsMediaControl: bool, SupportsRemoteControl: bool, NowPlayingQueue: [map]?, HasCustomDeviceName: bool, PlaylistItemId: str?, ServerId: str?, UserPrimaryImageTag: str?, SupportedCommands: [str]?}, AccessToken: str?, ServerId: str?}
@errors {400}

@endpoint POST /Users/ForgotPassword
@required {EnteredUsername: str}
@returns(200) {Action: str, PinFile: str?, PinExpirationDate: str(date-time)?}

@endpoint POST /Users/ForgotPassword/Pin
@returns(200) {Success: bool, UsersReset: [str]?}

@endpoint GET /Users/Me
@returns(200) {Name: str?, ServerId: str?, ServerName: str?, Id: str(uuid), PrimaryImageTag: str?, HasPassword: bool, HasConfiguredPassword: bool, HasConfiguredEasyPassword: bool, EnableAutoLogin: bool?, LastLoginDate: str(date-time)?, LastActivityDate: str(date-time)?, Configuration: map{AudioLanguagePreference: str?, PlayDefaultAudioTrack: bool, SubtitleLanguagePreference: str?, DisplayMissingEpisodes: bool, GroupedFolders: [str]?, SubtitleMode: str, DisplayCollectionsView: bool, EnableLocalPassword: bool, OrderedViews: [str]?, LatestItemsExcludes: [str]?, MyMediaExcludes: [str]?, HidePlayedInLatest: bool, RememberAudioSelections: bool, RememberSubtitleSelections: bool, EnableNextEpisodeAutoPlay: bool}, Policy: map{IsAdministrator: bool, IsHidden: bool, IsDisabled: bool, MaxParentalRating: int(int32)?, BlockedTags: [str]?, EnableUserPreferenceAccess: bool, AccessSchedules: [map]?, BlockUnratedItems: [str]?, EnableRemoteControlOfOtherUsers: bool, EnableSharedDeviceControl: bool, EnableRemoteAccess: bool, EnableLiveTvManagement: bool, EnableLiveTvAccess: bool, EnableMediaPlayback: bool, EnableAudioPlaybackTranscoding: bool, EnableVideoPlaybackTranscoding: bool, EnablePlaybackRemuxing: bool, ForceRemoteSourceTranscoding: bool, EnableContentDeletion: bool, EnableContentDeletionFromFolders: [str]?, EnableContentDownloading: bool, EnableSyncTranscoding: bool, EnableMediaConversion: bool, EnabledDevices: [str]?, EnableAllDevices: bool, EnabledChannels: [str(uuid)]?, EnableAllChannels: bool, EnabledFolders: [str(uuid)]?, EnableAllFolders: bool, InvalidLoginAttemptCount: int(int32), LoginAttemptsBeforeLockout: int(int32), MaxActiveSessions: int(int32), EnablePublicSharing: bool, BlockedMediaFolders: [str(uuid)]?, BlockedChannels: [str(uuid)]?, RemoteClientBitrateLimit: int(int32), AuthenticationProviderId: str?, PasswordResetProviderId: str?, SyncPlayAccess: str}, PrimaryImageAspectRatio: num(double)?}
@errors {400, 401, 403}

@endpoint POST /Users/New
@optional {Name: str, Password: str}
@returns(200) {Name: str?, ServerId: str?, ServerName: str?, Id: str(uuid), PrimaryImageTag: str?, HasPassword: bool, HasConfiguredPassword: bool, HasConfiguredEasyPassword: bool, EnableAutoLogin: bool?, LastLoginDate: str(date-time)?, LastActivityDate: str(date-time)?, Configuration: map{AudioLanguagePreference: str?, PlayDefaultAudioTrack: bool, SubtitleLanguagePreference: str?, DisplayMissingEpisodes: bool, GroupedFolders: [str]?, SubtitleMode: str, DisplayCollectionsView: bool, EnableLocalPassword: bool, OrderedViews: [str]?, LatestItemsExcludes: [str]?, MyMediaExcludes: [str]?, HidePlayedInLatest: bool, RememberAudioSelections: bool, RememberSubtitleSelections: bool, EnableNextEpisodeAutoPlay: bool}, Policy: map{IsAdministrator: bool, IsHidden: bool, IsDisabled: bool, MaxParentalRating: int(int32)?, BlockedTags: [str]?, EnableUserPreferenceAccess: bool, AccessSchedules: [map]?, BlockUnratedItems: [str]?, EnableRemoteControlOfOtherUsers: bool, EnableSharedDeviceControl: bool, EnableRemoteAccess: bool, EnableLiveTvManagement: bool, EnableLiveTvAccess: bool, EnableMediaPlayback: bool, EnableAudioPlaybackTranscoding: bool, EnableVideoPlaybackTranscoding: bool, EnablePlaybackRemuxing: bool, ForceRemoteSourceTranscoding: bool, EnableContentDeletion: bool, EnableContentDeletionFromFolders: [str]?, EnableContentDownloading: bool, EnableSyncTranscoding: bool, EnableMediaConversion: bool, EnabledDevices: [str]?, EnableAllDevices: bool, EnabledChannels: [str(uuid)]?, EnableAllChannels: bool, EnabledFolders: [str(uuid)]?, EnableAllFolders: bool, InvalidLoginAttemptCount: int(int32), LoginAttemptsBeforeLockout: int(int32), MaxActiveSessions: int(int32), EnablePublicSharing: bool, BlockedMediaFolders: [str(uuid)]?, BlockedChannels: [str(uuid)]?, RemoteClientBitrateLimit: int(int32), AuthenticationProviderId: str?, PasswordResetProviderId: str?, SyncPlayAccess: str}, PrimaryImageAspectRatio: num(double)?}
@errors {401, 403}

@endpoint GET /Users/Public
@returns(200)

@endpoint POST /Users/{userId}/FavoriteItems/{itemId}
@required {userId: str(uuid), itemId: str(uuid)}
@returns(200) {Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}
@errors {401, 403}

@endpoint DELETE /Users/{userId}/FavoriteItems/{itemId}
@required {userId: str(uuid), itemId: str(uuid)}
@returns(200) {Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}
@errors {401, 403}

@endpoint GET /Users/{userId}/Items/{itemId}
@required {userId: str(uuid), itemId: str(uuid)}
@returns(200) {Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403}

@endpoint GET /Users/{userId}/Items/{itemId}/Intros
@required {userId: str(uuid), itemId: str(uuid)}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Users/{userId}/Items/{itemId}/LocalTrailers
@required {userId: str(uuid), itemId: str(uuid)}
@returns(200)
@errors {401, 403}

@endpoint DELETE /Users/{userId}/Items/{itemId}/Rating
@required {userId: str(uuid), itemId: str(uuid)}
@returns(200) {Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}
@errors {401, 403}

@endpoint POST /Users/{userId}/Items/{itemId}/Rating
@required {userId: str(uuid), itemId: str(uuid)}
@optional {likes: bool}
@returns(200) {Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}
@errors {401, 403}

@endpoint GET /Users/{userId}/Items/{itemId}/SpecialFeatures
@required {userId: str(uuid), itemId: str(uuid)}
@returns(200)
@errors {401, 403}

@endpoint GET /Users/{userId}/Items/Latest
@required {userId: str(uuid)}
@optional {parentId: str(uuid), fields: [str], includeItemTypes: [str], isPlayed: bool, enableImages: bool, imageTypeLimit: int(int32), enableImageTypes: [str], enableUserData: bool, limit: int(int32)=20, groupItems: bool=true}
@returns(200)
@errors {401, 403}

@endpoint GET /Users/{userId}/Items/Root
@required {userId: str(uuid)}
@returns(200) {Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403}

@endpoint GET /Users/{userId}/GroupingOptions
@required {userId: str(uuid)}
@returns(200)
@errors {404}

@endpoint GET /Users/{userId}/Views
@required {userId: str(uuid)}
@optional {includeExternalContent: bool, presetViews: [str], includeHidden: bool=false}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}

@endgroup

@group Videos
@endpoint GET /Videos/{videoId}/{mediaSourceId}/Attachments/{index}
@required {videoId: str(uuid), mediaSourceId: str, index: int(int32)}
@returns(200)
@errors {404}

@endpoint GET /Videos/{itemId}/live.m3u8
@required {itemId: str(uuid)}
@optional {container: str, static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map, maxWidth: int(int32), maxHeight: int(int32), enableSubtitlesInManifest: bool}
@returns(200)
@errors {401, 403}

@endpoint GET /Videos/{itemId}/{stream}.{container}
@required {itemId: str(uuid), container: str, stream: str}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)

@endpoint HEAD /Videos/{itemId}/{stream}.{container}
@required {itemId: str(uuid), container: str, stream: str}
@optional {static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)

@endpoint GET /Videos/{itemId}/AdditionalParts
@required {itemId: str(uuid)}
@optional {userId: str(uuid)}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint DELETE /Videos/{itemId}/AlternateSources
@required {itemId: str(uuid)}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /Videos/{itemId}/stream
@required {itemId: str(uuid)}
@optional {container: str, static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)

@endpoint HEAD /Videos/{itemId}/stream
@required {itemId: str(uuid)}
@optional {container: str, static: bool, params: str, tag: str, deviceProfileId: str, playSessionId: str, segmentContainer: str, segmentLength: int(int32), minSegments: int(int32), mediaSourceId: str, deviceId: str, audioCodec: str, enableAutoStreamCopy: bool, allowVideoStreamCopy: bool, allowAudioStreamCopy: bool, breakOnNonKeyFrames: bool, audioSampleRate: int(int32), maxAudioBitDepth: int(int32), audioBitRate: int(int32), audioChannels: int(int32), maxAudioChannels: int(int32), profile: str, level: str, framerate: num(float), maxFramerate: num(float), copyTimestamps: bool, startTimeTicks: int(int64), width: int(int32), height: int(int32), videoBitRate: int(int32), subtitleStreamIndex: int(int32), subtitleMethod: str, maxRefFrames: int(int32), maxVideoBitDepth: int(int32), requireAvc: bool, deInterlace: bool, requireNonAnamorphic: bool, transcodingMaxAudioChannels: int(int32), cpuCoreLimit: int(int32), liveStreamId: str, enableMpegtsM2TsMode: bool, videoCodec: str, subtitleCodec: str, transcodeReasons: str, audioStreamIndex: int(int32), videoStreamIndex: int(int32), context: str, streamOptions: map}
@returns(200)

@endpoint POST /Videos/MergeVersions
@required {ids: [str(uuid)]}
@returns(204)
@errors {400, 401, 403}

@endgroup

@group Years
@endpoint GET /Years
@optional {startIndex: int(int32), limit: int(int32), sortOrder: str, parentId: str(uuid), fields: [str], excludeItemTypes: [str], includeItemTypes: [str], mediaTypes: [str], sortBy: str, enableUserData: bool, imageTypeLimit: int(int32), enableImageTypes: [str], userId: str(uuid), recursive: bool=true, enableImages: bool=true}
@returns(200) {Items: [map]?, TotalRecordCount: int(int32), StartIndex: int(int32)}
@errors {401, 403}

@endpoint GET /Years/{year}
@required {year: int(int32)}
@optional {userId: str(uuid)}
@returns(200) {Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map{Rating: num(double)?, PlayedPercentage: num(double)?, UnplayedItemCount: int(int32)?, PlaybackPositionTicks: int(int64), PlayCount: int(int32), IsFavorite: bool, Likes: bool?, LastPlayedDate: str(date-time)?, Played: bool, Key: str?, ItemId: str?}, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?{Primary: map, Art: map, Backdrop: map, Banner: map, Logo: map, Thumb: map, Disc: map, Box: map, Screenshot: map, Menu: map, Chapter: map, BoxRear: map, Profile: map}, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map{Name: str?, OriginalTitle: str?, ServerId: str?, Id: str(uuid), Etag: str?, SourceType: str?, PlaylistItemId: str?, DateCreated: str(date-time)?, DateLastMediaAdded: str(date-time)?, ExtraType: str?, AirsBeforeSeasonNumber: int(int32)?, AirsAfterSeasonNumber: int(int32)?, AirsBeforeEpisodeNumber: int(int32)?, CanDelete: bool?, CanDownload: bool?, HasSubtitles: bool?, PreferredMetadataLanguage: str?, PreferredMetadataCountryCode: str?, SupportsSync: bool?, Container: str?, SortName: str?, ForcedSortName: str?, Video3DFormat: str, PremiereDate: str(date-time)?, ExternalUrls: [map]?, MediaSources: [map]?, CriticRating: num(float)?, ProductionLocations: [str]?, Path: str?, EnableMediaSourceDisplay: bool?, OfficialRating: str?, CustomRating: str?, ChannelId: str(uuid)?, ChannelName: str?, Overview: str?, Taglines: [str]?, Genres: [str]?, CommunityRating: num(float)?, CumulativeRunTimeTicks: int(int64)?, RunTimeTicks: int(int64)?, PlayAccess: str, AspectRatio: str?, ProductionYear: int(int32)?, IsPlaceHolder: bool?, Number: str?, ChannelNumber: str?, IndexNumber: int(int32)?, IndexNumberEnd: int(int32)?, ParentIndexNumber: int(int32)?, RemoteTrailers: [map]?, ProviderIds: map?, IsHD: bool?, IsFolder: bool?, ParentId: str(uuid)?, Type: str?, People: [map]?, Studios: [map]?, GenreItems: [map]?, ParentLogoItemId: str?, ParentBackdropItemId: str?, ParentBackdropImageTags: [str]?, LocalTrailerCount: int(int32)?, UserData: map, RecursiveItemCount: int(int32)?, ChildCount: int(int32)?, SeriesName: str?, SeriesId: str(uuid)?, SeasonId: str(uuid)?, SpecialFeatureCount: int(int32)?, DisplayPreferencesId: str?, Status: str?, AirTime: str?, AirDays: [str]?, Tags: [str]?, PrimaryImageAspectRatio: num(double)?, Artists: [str]?, ArtistItems: [map]?, Album: str?, CollectionType: str?, DisplayOrder: str?, AlbumId: str(uuid)?, AlbumPrimaryImageTag: str?, SeriesPrimaryImageTag: str?, AlbumArtist: str?, AlbumArtists: [map]?, SeasonName: str?, MediaStreams: [map]?, VideoType: str, PartCount: int(int32)?, MediaSourceCount: int(int32)?, ImageTags: map?, BackdropImageTags: [str]?, ScreenshotImageTags: [str]?, ParentLogoImageTag: str?, ParentArtItemId: str?, ParentArtImageTag: str?, SeriesThumbImageTag: str?, ImageBlurHashes: map?, SeriesStudio: str?, ParentThumbItemId: str?, ParentThumbImageTag: str?, ParentPrimaryImageItemId: str?, ParentPrimaryImageTag: str?, Chapters: [map]?, LocationType: str, IsoType: str, MediaType: str?, EndDate: str(date-time)?, LockedFields: [str]?, TrailerCount: int(int32)?, MovieCount: int(int32)?, SeriesCount: int(int32)?, ProgramCount: int(int32)?, EpisodeCount: int(int32)?, SongCount: int(int32)?, AlbumCount: int(int32)?, ArtistCount: int(int32)?, MusicVideoCount: int(int32)?, LockData: bool?, Width: int(int32)?, Height: int(int32)?, CameraMake: str?, CameraModel: str?, Software: str?, ExposureTime: num(double)?, FocalLength: num(double)?, ImageOrientation: str, Aperture: num(double)?, ShutterSpeed: num(double)?, Latitude: num(double)?, Longitude: num(double)?, Altitude: num(double)?, IsoSpeedRating: int(int32)?, SeriesTimerId: str?, ProgramId: str?, ChannelPrimaryImageTag: str?, StartDate: str(date-time)?, CompletionPercentage: num(double)?, IsRepeat: bool?, EpisodeTitle: str?, ChannelType: str, Audio: str, IsMovie: bool?, IsSports: bool?, IsSeries: bool?, IsLive: bool?, IsNews: bool?, IsKids: bool?, IsPremiere: bool?, TimerId: str?, CurrentProgram: map}}}}
@errors {401, 403, 404}

@endgroup

@end
