diff --git a/emby_openapi.json b/emby_openapi.json new file mode 100644 index 0000000..666b854 --- /dev/null +++ b/emby_openapi.json @@ -0,0 +1,68506 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Emby Server API", + "description": "Explore the Emby Server API", + "termsOfService": "https://emby.media/terms", + "contact": { + "name": "Emby Developers", + "url": "https://emby.media/community/index.php?/forum/47-developer-api" + }, + "version": "4.1.1.0" + }, + "servers": [ + { + "url": "https://home.ourflix.de:32865/emby", + "description": "OURFLIX" + } + ], + "paths": { + "/Artists": { + "summary": "Gets all artists from a given item, folder, or the entire library", + "get": { + "tags": [ + "ArtistsService" + ], + "summary": "Gets all artists from a given item, folder, or the entire library", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getArtists", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/AudioCodecs": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "TagService" + ], + "summary": "Gets items based on a query.", + "description": "No authentication required", + "operationId": "getAudiocodecs", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Channels": { + "summary": "Gets available channels", + "get": { + "tags": [ + "ChannelService" + ], + "summary": "Gets available channels", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getChannels", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Collections": { + "summary": "Creates a new collection", + "post": { + "tags": [ + "CollectionService" + ], + "summary": "Creates a new collection", + "description": "Requires authentication as user", + "operationId": "postCollections", + "parameters": [ + { + "name": "IsLocked", + "in": "query", + "description": "Whether or not to lock the new collection.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Name", + "in": "query", + "description": "The name of the new collection.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Optional - create the collection within a specific folder", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Item Ids to add to the collection", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a CollectionCreationResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Collections.CollectionCreationResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Collections.CollectionCreationResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Containers": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "TagService" + ], + "summary": "Gets items based on a query.", + "description": "No authentication required", + "operationId": "getContainers", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Devices": { + "summary": "Gets all devices", + "get": { + "tags": [ + "DeviceService" + ], + "summary": "Gets all devices", + "description": "Requires authentication as administrator", + "operationId": "getDevices", + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_Devices.DeviceInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_Devices.DeviceInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "delete": { + "tags": [ + "DeviceService" + ], + "summary": "Deletes a device", + "description": "No authentication required", + "operationId": "deleteDevices", + "parameters": [ + { + "name": "Id", + "in": "query", + "description": "Device Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/GameGenres": { + "summary": "Gets all Game genres from a given item, folder, or the entire library", + "get": { + "tags": [ + "GameGenresService" + ], + "summary": "Gets all Game genres from a given item, folder, or the entire library", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getGamegenres", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Genres": { + "summary": "Gets all genres from a given item, folder, or the entire library", + "get": { + "tags": [ + "GenresService" + ], + "summary": "Gets all genres from a given item, folder, or the entire library", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getGenres", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "ItemsService" + ], + "summary": "Gets items based on a query.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getItems", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "LibraryService" + ], + "summary": "Deletes an item from the library and file system", + "description": "Requires authentication as user", + "operationId": "deleteItems", + "parameters": [ + { + "name": "Ids", + "in": "query", + "description": "Ids", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/MusicGenres": { + "summary": "Gets all music genres from a given item, folder, or the entire library", + "get": { + "tags": [ + "MusicGenresService" + ], + "summary": "Gets all music genres from a given item, folder, or the entire library", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getMusicgenres", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/OfficialRatings": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "OfficialRatingService" + ], + "summary": "Gets items based on a query.", + "description": "No authentication required", + "operationId": "getOfficialratings", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.OfficialRatingItem" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.OfficialRatingItem" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/openapi": { + "summary": "Gets the OpenAPI 3 specifications", + "get": { + "tags": [ + "OpenApiService" + ], + "summary": "Gets the OpenAPI 3 specifications", + "description": "No authentication required", + "operationId": "getOpenapi", + "responses": { + "200": { + "description": "Operation successful. Returning a String object.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + }, + "application/xml": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/openapi.json": { + "summary": "Gets OpenAPI 3 specifications", + "get": { + "tags": [ + "OpenApiService" + ], + "summary": "Gets OpenAPI 3 specifications", + "description": "No authentication required", + "operationId": "getOpenapiJson", + "responses": { + "200": { + "description": "Operation successful. Returning a String object.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + }, + "application/xml": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Packages": { + "summary": "Gets available packages", + "get": { + "tags": [ + "PackageService" + ], + "summary": "Gets available packages", + "description": "Requires authentication as user", + "operationId": "getPackages", + "parameters": [ + { + "name": "PackageType", + "in": "query", + "description": "Optional package type filter (System/UserInstalled)", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "TargetSystems", + "in": "query", + "description": "Optional. Filter by target system type. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPremium", + "in": "query", + "description": "Optional. Filter by premium status", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsAdult", + "in": "query", + "description": "Optional. Filter by package that contain adult content.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a PackageInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Updates.PackageInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Updates.PackageInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Persons": { + "summary": "Gets all persons from a given item, folder, or the entire library", + "get": { + "tags": [ + "PersonsService" + ], + "summary": "Gets all persons from a given item, folder, or the entire library", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getPersons", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Playlists": { + "summary": "Creates a new playlist", + "post": { + "tags": [ + "PlaylistService" + ], + "summary": "Creates a new playlist", + "description": "Requires authentication as user", + "operationId": "postPlaylists", + "parameters": [ + { + "name": "Name", + "in": "query", + "description": "The name of the new playlist.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Item Ids to add to the playlist", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "MediaType", + "in": "query", + "description": "The playlist media type", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a PlaylistCreationResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Playlists.PlaylistCreationResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Playlists.PlaylistCreationResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Plugins": { + "summary": "Gets a list of currently installed plugins", + "get": { + "tags": [ + "PluginService" + ], + "summary": "Gets a list of currently installed plugins", + "description": "Requires authentication as user", + "operationId": "getPlugins", + "responses": { + "200": { + "description": "Operation successful. Returning a PluginInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Plugins.PluginInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Plugins.PluginInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/ScheduledTasks": { + "summary": "Gets scheduled tasks", + "get": { + "tags": [ + "ScheduledTaskService" + ], + "summary": "Gets scheduled tasks", + "description": "Requires authentication as administrator", + "operationId": "getScheduledtasks", + "parameters": [ + { + "name": "IsHidden", + "in": "query", + "description": "Optional filter tasks that are hidden, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsEnabled", + "in": "query", + "description": "Optional filter tasks that are enabled, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a TaskInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tasks.TaskInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tasks.TaskInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Sessions": { + "summary": "Gets a list of sessions", + "get": { + "tags": [ + "SessionsService" + ], + "summary": "Gets a list of sessions", + "description": "Requires authentication as user", + "operationId": "getSessions", + "parameters": [ + { + "name": "ControllableByUserId", + "in": "query", + "description": "Optional. Filter by sessions that a given user is allowed to remote control.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "Optional. Filter by device id.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a SessionInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session.SessionInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Session.SessionInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Studios": { + "summary": "Gets all studios from a given item, folder, or the entire library", + "get": { + "tags": [ + "StudiosService" + ], + "summary": "Gets all studios from a given item, folder, or the entire library", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getStudios", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/SubtitleCodecs": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "TagService" + ], + "summary": "Gets items based on a query.", + "description": "No authentication required", + "operationId": "getSubtitlecodecs", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/swagger": { + "summary": "Gets the swagger specifications", + "get": { + "tags": [ + "OpenApiService" + ], + "summary": "Gets the swagger specifications", + "description": "No authentication required", + "operationId": "getSwagger", + "responses": { + "200": { + "description": "Operation successful. Returning a String object.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + }, + "application/xml": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/swagger.json": { + "summary": "Gets the swagger specifications", + "get": { + "tags": [ + "OpenApiService" + ], + "summary": "Gets the swagger specifications", + "description": "No authentication required", + "operationId": "getSwaggerJson", + "responses": { + "200": { + "description": "Operation successful. Returning a String object.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + }, + "application/xml": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Tags": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "TagService" + ], + "summary": "Gets items based on a query.", + "description": "No authentication required", + "operationId": "getTags", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Trailers": { + "summary": "Finds movies and trailers similar to a given trailer.", + "get": { + "tags": [ + "TrailersService" + ], + "summary": "Finds movies and trailers similar to a given trailer.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getTrailers", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users": { + "summary": "Gets a list of users", + "get": { + "tags": [ + "UserService" + ], + "summary": "Gets a list of users", + "description": "Requires authentication as user", + "operationId": "getUsers", + "parameters": [ + { + "name": "IsHidden", + "in": "query", + "description": "Optional filter by IsHidden=true or false", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsDisabled", + "in": "query", + "description": "Optional filter by IsDisabled=true or false", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a UserDto[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserDto" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserDto" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/VideoCodecs": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "TagService" + ], + "summary": "Gets items based on a query.", + "description": "No authentication required", + "operationId": "getVideocodecs", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Years": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "TagService" + ], + "summary": "Gets items based on a query.", + "description": "No authentication required", + "operationId": "getYears", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_UserLibrary.TagItem" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Items/{Id}/Images/{Type}/{Index}/{Tag}/{Format}/{MaxWidth}/{MaxHeight}/{PercentPlayed}/{UnplayedCount}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getItemsByIdImagesByTypeByIndexByTagByFormatByMaxwidthByMaxheightByPercentplayedByUnplayedcount", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "path", + "description": "The maximum image width to return.", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "path", + "description": "The maximum image height to return.", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "path", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "path", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "path", + "description": "Optional percent to render for the percent played overlay", + "required": true, + "style": "simple", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "path", + "description": "Optional unplayed count overlay to render", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headItemsByIdImagesByTypeByIndexByTagByFormatByMaxwidthByMaxheightByPercentplayedByUnplayedcount", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "path", + "description": "The maximum image width to return.", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "path", + "description": "The maximum image height to return.", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "path", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "path", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "path", + "description": "Optional percent to render for the percent played overlay", + "required": true, + "style": "simple", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "path", + "description": "Optional unplayed count overlay to render", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Artists/{Name}": { + "summary": "Gets an artist, by name", + "get": { + "tags": [ + "ArtistsService" + ], + "summary": "Gets an artist, by name", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getArtistsByName", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "The artist name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Artists/AlbumArtists": { + "summary": "Gets all album artists from a given item, folder, or the entire library", + "get": { + "tags": [ + "ArtistsService" + ], + "summary": "Gets all album artists from a given item, folder, or the entire library", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getArtistsAlbumartists", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Artists/Prefixes": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "TagService" + ], + "summary": "Gets items based on a query.", + "description": "No authentication required", + "operationId": "getArtistsPrefixes", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a NameValuePair[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameValuePair" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameValuePair" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Artists/InstantMix": { + "summary": "Creates an instant playlist based on a given artist", + "get": { + "tags": [ + "InstantMixService" + ], + "summary": "Creates an instant playlist based on a given artist", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getArtistsInstantmix", + "parameters": [ + { + "name": "Id", + "in": "query", + "description": "The artist Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Auth/Providers": { + "get": { + "tags": [ + "SessionsService" + ], + "description": "Requires authentication as administrator", + "operationId": "getAuthProviders", + "responses": { + "200": { + "description": "Operation successful. Returning a NameIdPair[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameIdPair" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameIdPair" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Auth/Keys": { + "post": { + "tags": [ + "SessionsService" + ], + "description": "Requires authentication as administrator", + "operationId": "postAuthKeys", + "parameters": [ + { + "name": "App", + "in": "query", + "description": "App", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "get": { + "tags": [ + "SessionsService" + ], + "description": "Requires authentication as administrator", + "operationId": "getAuthKeys", + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Branding/Configuration": { + "summary": "Gets branding configuration", + "get": { + "tags": [ + "BrandingService" + ], + "summary": "Gets branding configuration", + "description": "No authentication required", + "operationId": "getBrandingConfiguration", + "responses": { + "200": { + "description": "Operation successful. Returning a BrandingOptions object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Branding.BrandingOptions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Branding.BrandingOptions" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Branding/Css": { + "summary": "Gets custom css", + "get": { + "tags": [ + "BrandingService" + ], + "summary": "Gets custom css", + "description": "No authentication required", + "operationId": "getBrandingCss", + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Branding/Css.css": { + "summary": "Gets custom css", + "get": { + "tags": [ + "BrandingService" + ], + "summary": "Gets custom css", + "description": "No authentication required", + "operationId": "getBrandingCssCss", + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Connect/Pending": { + "summary": "Creates a Connect link for a user", + "get": { + "tags": [ + "ConnectService" + ], + "summary": "Creates a Connect link for a user", + "description": "Requires authentication as administrator", + "operationId": "getConnectPending", + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Connect/Exchange": { + "summary": "Gets the corresponding local user from a connect user id", + "get": { + "tags": [ + "ConnectService" + ], + "summary": "Gets the corresponding local user from a connect user id", + "description": "Requires authentication as user", + "operationId": "getConnectExchange", + "parameters": [ + { + "name": "ConnectUserId", + "in": "query", + "description": "ConnectUserId", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a ConnectAuthenticationExchangeResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Connect.ConnectAuthenticationExchangeResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Connect.ConnectAuthenticationExchangeResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Devices/Options": { + "summary": "Updates device options", + "post": { + "tags": [ + "DeviceService" + ], + "summary": "Updates device options", + "description": "Requires authentication as administrator", + "operationId": "postDevicesOptions", + "requestBody": { + "description": "DeviceOptions: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Devices.DeviceOptions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Devices.DeviceOptions" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "get": { + "tags": [ + "DeviceService" + ], + "summary": "Gets options for a device", + "description": "Requires authentication as administrator", + "operationId": "getDevicesOptions", + "parameters": [ + { + "name": "Id", + "in": "query", + "description": "Device Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a DeviceOptions object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Devices.DeviceOptions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Devices.DeviceOptions" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Devices/Info": { + "summary": "Gets info for a device", + "get": { + "tags": [ + "DeviceService" + ], + "summary": "Gets info for a device", + "description": "Requires authentication as administrator", + "operationId": "getDevicesInfo", + "parameters": [ + { + "name": "Id", + "in": "query", + "description": "Device Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a DeviceInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Devices.DeviceInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Devices.DeviceInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Devices/CameraUploads": { + "summary": "Gets camera upload history for a device", + "get": { + "tags": [ + "DeviceService" + ], + "summary": "Gets camera upload history for a device", + "description": "Requires authentication as user", + "operationId": "getDevicesCamerauploads", + "parameters": [ + { + "name": "DeviceId", + "in": "query", + "description": "Device Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a ContentUploadHistory object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Devices.ContentUploadHistory" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Devices.ContentUploadHistory" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "DeviceService" + ], + "summary": "Uploads content", + "description": "Requires authentication as user", + "operationId": "postDevicesCamerauploads", + "parameters": [ + { + "name": "DeviceId", + "in": "query", + "description": "Device Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Album", + "in": "query", + "description": "Album", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Name", + "in": "query", + "description": "Name", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "query", + "description": "Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Binary stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/DisplayPreferences/{Id}": { + "summary": "Gets a user's display preferences for an item", + "get": { + "tags": [ + "DisplayPreferencesService" + ], + "summary": "Gets a user's display preferences for an item", + "description": "Requires authentication as user", + "operationId": "getDisplaypreferencesById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Client", + "in": "query", + "description": "Client", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a DisplayPreferences object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DisplayPreferences" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/DisplayPreferences" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/DisplayPreferences/{DisplayPreferencesId}": { + "summary": "Updates a user's display preferences for an item", + "post": { + "tags": [ + "DisplayPreferencesService" + ], + "summary": "Updates a user's display preferences for an item", + "description": "Requires authentication as user", + "operationId": "postDisplaypreferencesByDisplaypreferencesid", + "parameters": [ + { + "name": "DisplayPreferencesId", + "in": "path", + "description": "DisplayPreferences Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "DisplayPreferences: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DisplayPreferences" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/DisplayPreferences" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Dlna/ProfileInfos": { + "summary": "Gets a list of profiles", + "get": { + "tags": [ + "DlnaService" + ], + "summary": "Gets a list of profiles", + "description": "Requires authentication as administrator", + "operationId": "getDlnaProfileinfos", + "responses": { + "200": { + "description": "Operation successful. Returning a DeviceProfileInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.DeviceProfileInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.DeviceProfileInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Dlna/Profiles": { + "summary": "Creates a profile", + "post": { + "tags": [ + "DlnaService" + ], + "summary": "Creates a profile", + "description": "Requires authentication as administrator", + "operationId": "postDlnaProfiles", + "requestBody": { + "description": "DeviceProfile: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dlna.DeviceProfile" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Dlna.DeviceProfile" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Environment/ValidatePath": { + "summary": "Gets the contents of a given directory in the file system", + "post": { + "tags": [ + "EnvironmentService" + ], + "summary": "Gets the contents of a given directory in the file system", + "description": "Requires authentication as administrator", + "operationId": "postEnvironmentValidatepath", + "parameters": [ + { + "name": "Path", + "in": "query", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "ValidatePath", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidatePath" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ValidatePath" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Environment/DefaultDirectoryBrowser": { + "summary": "Gets the parent path of a given path", + "get": { + "tags": [ + "EnvironmentService" + ], + "summary": "Gets the parent path of a given path", + "description": "Requires authentication as administrator", + "operationId": "getEnvironmentDefaultdirectorybrowser", + "responses": { + "200": { + "description": "Operation successful. Returning a DefaultDirectoryBrowserInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DefaultDirectoryBrowserInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/DefaultDirectoryBrowserInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Environment/DirectoryContents": { + "summary": "Gets the contents of a given directory in the file system", + "get": { + "tags": [ + "EnvironmentService" + ], + "summary": "Gets the contents of a given directory in the file system", + "description": "Requires authentication as administrator", + "operationId": "getEnvironmentDirectorycontents", + "parameters": [ + { + "name": "Path", + "in": "query", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeFiles", + "in": "query", + "description": "An optional filter to include or exclude files from the results. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "IncludeDirectories", + "in": "query", + "description": "An optional filter to include or exclude folders from the results. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IO.FileSystemEntryInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IO.FileSystemEntryInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Environment/NetworkShares": { + "summary": "Gets shares from a network device", + "get": { + "tags": [ + "EnvironmentService" + ], + "summary": "Gets shares from a network device", + "description": "Requires authentication as administrator", + "operationId": "getEnvironmentNetworkshares", + "parameters": [ + { + "name": "Path", + "in": "query", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IO.FileSystemEntryInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IO.FileSystemEntryInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Environment/Drives": { + "summary": "Gets available drives from the server's file system", + "get": { + "tags": [ + "EnvironmentService" + ], + "summary": "Gets available drives from the server's file system", + "description": "Requires authentication as administrator", + "operationId": "getEnvironmentDrives", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IO.FileSystemEntryInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IO.FileSystemEntryInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Environment/NetworkDevices": { + "summary": "Gets a list of devices on the network", + "get": { + "tags": [ + "EnvironmentService" + ], + "summary": "Gets a list of devices on the network", + "description": "Requires authentication as administrator", + "operationId": "getEnvironmentNetworkdevices", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IO.FileSystemEntryInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IO.FileSystemEntryInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Environment/ParentPath": { + "summary": "Gets the parent path of a given path", + "get": { + "tags": [ + "EnvironmentService" + ], + "summary": "Gets the parent path of a given path", + "description": "Requires authentication as administrator", + "operationId": "getEnvironmentParentpath", + "parameters": [ + { + "name": "Path", + "in": "query", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a String object.", + "content": { + "application/json": { + "schema": { + "type": "string" + } + }, + "application/xml": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/GameGenres/{Name}": { + "summary": "Gets a Game genre, by name", + "get": { + "tags": [ + "GameGenresService" + ], + "summary": "Gets a Game genre, by name", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getGamegenresByName", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "The genre name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Games/SystemSummaries": { + "summary": "Finds games similar to a given game.", + "get": { + "tags": [ + "GamesService" + ], + "summary": "Finds games similar to a given game.", + "description": "Requires authentication as user", + "operationId": "getGamesSystemsummaries", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a GameSystemSummary[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GameSystemSummary" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GameSystemSummary" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Genres/{Name}": { + "summary": "Gets a genre, by name", + "get": { + "tags": [ + "GenresService" + ], + "summary": "Gets a genre, by name", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getGenresByName", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "The genre name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Images/MediaInfo": { + "summary": "Gets all media info image by name", + "get": { + "tags": [ + "ImageByNameService" + ], + "summary": "Gets all media info image by name", + "description": "Requires authentication as user", + "operationId": "getImagesMediainfo", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageByNameInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageByNameInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Images/Ratings": { + "summary": "Gets all rating images by name", + "get": { + "tags": [ + "ImageByNameService" + ], + "summary": "Gets all rating images by name", + "description": "Requires authentication as user", + "operationId": "getImagesRatings", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageByNameInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageByNameInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Images/General": { + "summary": "Gets all general images by name", + "get": { + "tags": [ + "ImageByNameService" + ], + "summary": "Gets all general images by name", + "description": "Requires authentication as user", + "operationId": "getImagesGeneral", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageByNameInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageByNameInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Images/Remote": { + "summary": "Gets a remote image", + "get": { + "tags": [ + "RemoteImageService" + ], + "summary": "Gets a remote image", + "description": "No authentication required", + "operationId": "getImagesRemote", + "parameters": [ + { + "name": "ImageUrl", + "in": "query", + "description": "The image url", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Items/Filters2": { + "summary": "Gets branding configuration", + "get": { + "tags": [ + "FilterService" + ], + "summary": "Gets branding configuration", + "description": "Requires authentication as user", + "operationId": "getItemsFilters2", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryFilters object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryFilters" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryFilters" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/Filters": { + "summary": "Gets branding configuration", + "get": { + "tags": [ + "FilterService" + ], + "summary": "Gets branding configuration", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Filtering", + "url": "https://github.com/MediaBrowser/Emby/wiki/Filtering" + }, + "operationId": "getItemsFilters", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryFiltersLegacy object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryFiltersLegacy" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryFiltersLegacy" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{ItemId}": { + "summary": "Updates an item", + "post": { + "tags": [ + "ItemUpdateService" + ], + "summary": "Updates an item", + "description": "Requires authentication as administrator", + "operationId": "postItemsByItemid", + "parameters": [ + { + "name": "ItemId", + "in": "path", + "description": "The id of the item", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "BaseItemDto: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Items/Prefixes": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "TagService" + ], + "summary": "Gets items based on a query.", + "description": "No authentication required", + "operationId": "getItemsPrefixes", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a NameValuePair[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameValuePair" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameValuePair" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Items/Counts": { + "get": { + "tags": [ + "LibraryService" + ], + "description": "Requires authentication as user", + "operationId": "getItemsCounts", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "Optional. Get counts from a specific user's library.", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional. Get counts of favorite items", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a ItemCounts object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ItemCounts" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ItemCounts" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}": { + "summary": "Deletes an item from the library and file system", + "delete": { + "tags": [ + "LibraryService" + ], + "summary": "Deletes an item from the library and file system", + "description": "Requires authentication as user", + "operationId": "deleteItemsById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/File": { + "summary": "Gets the original file of an item", + "get": { + "tags": [ + "VideoService" + ], + "summary": "Gets the original file of an item", + "description": "Requires authentication as user", + "operationId": "getItemsFile", + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Libraries/AvailableOptions": { + "get": { + "tags": [ + "LibraryService" + ], + "description": "Requires authentication as user", + "operationId": "getLibrariesAvailableoptions", + "responses": { + "200": { + "description": "Operation successful. Returning a LibraryOptionsResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Library.LibraryOptionsResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Library.LibraryOptionsResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Library/SelectableMediaFolders": { + "summary": "Gets all user media folders.", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Gets all user media folders.", + "description": "Requires authentication as user", + "operationId": "getLibrarySelectablemediafolders", + "responses": { + "200": { + "description": "Operation successful. Returning a MediaFolder[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Library.MediaFolder" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Library.MediaFolder" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Library/MediaFolders": { + "summary": "Gets all user media folders.", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Gets all user media folders.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getLibraryMediafolders", + "parameters": [ + { + "name": "IsHidden", + "in": "query", + "description": "Optional. Filter by folders that are marked hidden, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Library/PhysicalPaths": { + "summary": "Gets a list of physical paths from virtual folders", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Gets a list of physical paths from virtual folders", + "description": "Requires authentication as administrator", + "operationId": "getLibraryPhysicalpaths", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Library/Refresh": { + "summary": "Starts a library scan", + "post": { + "tags": [ + "LibraryService" + ], + "summary": "Starts a library scan", + "description": "Requires authentication as administrator", + "operationId": "postLibraryRefresh", + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Library/VirtualFolders": { + "get": { + "tags": [ + "LibraryStructureService" + ], + "description": "Requires authentication as administrator", + "operationId": "getLibraryVirtualfolders", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualFolderInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualFolderInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "post": { + "tags": [ + "LibraryStructureService" + ], + "description": "Requires authentication as administrator", + "operationId": "postLibraryVirtualfolders", + "requestBody": { + "description": "AddVirtualFolder", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Library.AddVirtualFolder" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Library.AddVirtualFolder" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "delete": { + "tags": [ + "LibraryStructureService" + ], + "description": "Requires authentication as administrator", + "operationId": "deleteLibraryVirtualfolders", + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/LiveStreams/Open": { + "summary": "Opens a media source", + "post": { + "tags": [ + "MediaInfoService" + ], + "summary": "Opens a media source", + "description": "Requires authentication as user", + "operationId": "postLivestreamsOpen", + "requestBody": { + "description": "LiveStreamRequest: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaInfo.LiveStreamRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/MediaInfo.LiveStreamRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a LiveStreamResponse object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaInfo.LiveStreamResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/MediaInfo.LiveStreamResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveStreams/Close": { + "summary": "Closes a media source", + "post": { + "tags": [ + "MediaInfoService" + ], + "summary": "Closes a media source", + "description": "Requires authentication as user", + "operationId": "postLivestreamsClose", + "parameters": [ + { + "name": "LiveStreamId", + "in": "query", + "description": "LiveStreamId", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveStreams/MediaInfo": { + "summary": "Closes a media source", + "post": { + "tags": [ + "MediaInfoService" + ], + "summary": "Closes a media source", + "description": "Requires authentication as user", + "operationId": "postLivestreamsMediainfo", + "parameters": [ + { + "name": "LiveStreamId", + "in": "query", + "description": "LiveStreamId", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/ChannelMappings": { + "options": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "optionsLivetvChannelmappings", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "get": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "getLivetvChannelmappings", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "head": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "headLivetvChannelmappings", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "postLivetvChannelmappings", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "SetChannelMapping", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.SetChannelMapping" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.SetChannelMapping" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "put": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "putLivetvChannelmappings", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "SetChannelMapping", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.SetChannelMapping" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.SetChannelMapping" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "deleteLivetvChannelmappings", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "trace": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "traceLivetvChannelmappings", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "patch": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "patchLivetvChannelmappings", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/ChannelMappingOptions": { + "options": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "optionsLivetvChannelmappingoptions", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "get": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "getLivetvChannelmappingoptions", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "head": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "headLivetvChannelmappingoptions", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "postLivetvChannelmappingoptions", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "put": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "putLivetvChannelmappingoptions", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "deleteLivetvChannelmappingoptions", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "trace": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "traceLivetvChannelmappingoptions", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "patch": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "patchLivetvChannelmappingoptions", + "parameters": [ + { + "name": "ProviderId", + "in": "query", + "description": "Provider id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/ListingProviders": { + "summary": "Adds a listing provider", + "post": { + "tags": [ + "LiveTvService" + ], + "summary": "Adds a listing provider", + "description": "Requires authentication as user", + "operationId": "postLivetvListingproviders", + "requestBody": { + "description": "ListingsProviderInfo: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.ListingsProviderInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.ListingsProviderInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a ListingsProviderInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.ListingsProviderInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.ListingsProviderInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "LiveTvService" + ], + "summary": "Deletes a listing provider", + "description": "Requires authentication as user", + "operationId": "deleteLivetvListingproviders", + "parameters": [ + { + "name": "Id", + "in": "query", + "description": "Provider id", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets current listing providers", + "description": "Requires authentication as user", + "operationId": "getLivetvListingproviders", + "responses": { + "200": { + "description": "Operation successful. Returning a ListingsProviderInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LiveTv.ListingsProviderInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LiveTv.ListingsProviderInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/TunerHosts": { + "summary": "Gets tuner hosts", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets tuner hosts", + "description": "Requires authentication as user", + "operationId": "getLivetvTunerhosts", + "responses": { + "200": { + "description": "Operation successful. Returning a TunerHostInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LiveTv.TunerHostInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LiveTv.TunerHostInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "LiveTvService" + ], + "summary": "Adds a tuner host", + "description": "Requires authentication as user", + "operationId": "postLivetvTunerhosts", + "requestBody": { + "description": "TunerHostInfo: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TunerHostInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TunerHostInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a TunerHostInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TunerHostInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TunerHostInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "LiveTvService" + ], + "summary": "Deletes a tuner host", + "description": "Requires authentication as user", + "operationId": "deleteLivetvTunerhosts", + "parameters": [ + { + "name": "Id", + "in": "query", + "description": "Tuner host id", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Info": { + "summary": "Gets available live tv services.", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets available live tv services.", + "description": "Requires authentication as user", + "operationId": "getLivetvInfo", + "responses": { + "200": { + "description": "Operation successful. Returning a LiveTvInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.LiveTvInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.LiveTvInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Channels": { + "summary": "Gets available live tv channels.", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets available live tv channels.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getLivetvChannels", + "parameters": [ + { + "name": "Type", + "in": "query", + "description": "Optional filter by channel type.", + "style": "form", + "schema": { + "enum": [ + "TV", + "Radio" + ], + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional filter by user and attach user data.", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Filter by channels that are favorites, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsLiked", + "in": "query", + "description": "Filter by channels that are liked, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsDisliked", + "in": "query", + "description": "Filter by channels that are disliked, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableFavoriteSorting", + "in": "query", + "description": "Incorporate favorite and like status into channel sorting.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AddCurrentProgram", + "in": "query", + "description": "Optional. Adds current program info to each channel", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Programs": { + "summary": "Gets available live tv epgs..", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets available live tv epgs..", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getLivetvPrograms", + "parameters": [ + { + "name": "ChannelIds", + "in": "query", + "description": "The channels to return guide information for.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional filter by user id.", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinStartDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasAired", + "in": "query", + "description": "Optional. Filter by programs that have completed airing, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MaxStartDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinEndDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxEndDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Name, StartDate", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "GenreIds", + "in": "query", + "description": "The genres to return guide information for.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets available live tv epgs..", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "postLivetvPrograms", + "parameters": [ + { + "name": "ChannelIds", + "in": "query", + "description": "The channels to return guide information for.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional filter by user id.", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinStartDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxStartDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinEndDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxEndDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GenreIds", + "in": "query", + "description": "The genres to return guide information for.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "GetPrograms", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.GetPrograms" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.GetPrograms" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Recordings": { + "summary": "Gets live tv recordings", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets live tv recordings", + "description": "Requires authentication as user", + "operationId": "getLivetvRecordings", + "parameters": [ + { + "name": "ChannelId", + "in": "query", + "description": "Optional filter by channel id.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Status", + "in": "query", + "description": "Optional filter by recording status.", + "style": "form", + "schema": { + "enum": [ + "New", + "InProgress", + "Completed", + "Cancelled", + "ConflictedOk", + "ConflictedNotOk", + "Error" + ], + "type": "string" + } + }, + { + "name": "IsInProgress", + "in": "query", + "description": "Optional filter by recordings that are in progress, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesTimerId", + "in": "query", + "description": "Optional filter by recordings belonging to a series timer", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Timers": { + "summary": "Gets live tv timers", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets live tv timers", + "description": "Requires authentication as user", + "operationId": "getLivetvTimers", + "parameters": [ + { + "name": "ChannelId", + "in": "query", + "description": "Optional filter by channel id.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "SeriesTimerId", + "in": "query", + "description": "Optional filter by timers belonging to a series timer", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_LiveTv.TimerInfoDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_LiveTv.TimerInfoDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "LiveTvService" + ], + "summary": "Creates a live tv timer", + "description": "Requires authentication as user", + "operationId": "postLivetvTimers", + "requestBody": { + "description": "TimerInfoDto: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TimerInfoDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TimerInfoDto" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/SeriesTimers": { + "summary": "Gets live tv series timers", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets live tv series timers", + "description": "Requires authentication as user", + "operationId": "getLivetvSeriestimers", + "parameters": [ + { + "name": "SortBy", + "in": "query", + "description": "Optional. Sort by SortName or Priority", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Optional. Sort in Ascending or Descending order", + "style": "form", + "schema": { + "enum": [ + "Ascending", + "Descending" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_LiveTv.SeriesTimerInfoDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_LiveTv.SeriesTimerInfoDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "LiveTvService" + ], + "summary": "Creates a live tv series timer", + "description": "Requires authentication as user", + "operationId": "postLivetvSeriestimers", + "requestBody": { + "description": "SeriesTimerInfoDto: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.SeriesTimerInfoDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.SeriesTimerInfoDto" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/GuideInfo": { + "summary": "Gets guide info", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets guide info", + "description": "Requires authentication as user", + "operationId": "getLivetvGuideinfo", + "responses": { + "200": { + "description": "Operation successful. Returning a GuideInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.GuideInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.GuideInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Localization/ParentalRatings": { + "summary": "Gets known parental ratings", + "get": { + "tags": [ + "LocalizationService" + ], + "summary": "Gets known parental ratings", + "description": "Requires authentication as user", + "operationId": "getLocalizationParentalratings", + "responses": { + "200": { + "description": "Operation successful. Returning a ParentalRating[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ParentalRating" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ParentalRating" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Localization/Options": { + "summary": "Gets localization options", + "get": { + "tags": [ + "LocalizationService" + ], + "summary": "Gets localization options", + "description": "Requires authentication as user", + "operationId": "getLocalizationOptions", + "responses": { + "200": { + "description": "Operation successful. Returning a LocalizatonOption[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Globalization.LocalizatonOption" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Globalization.LocalizatonOption" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Localization/Countries": { + "summary": "Gets known countries", + "get": { + "tags": [ + "LocalizationService" + ], + "summary": "Gets known countries", + "description": "Requires authentication as user", + "operationId": "getLocalizationCountries", + "responses": { + "200": { + "description": "Operation successful. Returning a CountryInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Globalization.CountryInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Globalization.CountryInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Localization/Cultures": { + "summary": "Gets known cultures", + "get": { + "tags": [ + "LocalizationService" + ], + "summary": "Gets known cultures", + "description": "Requires authentication as user", + "operationId": "getLocalizationCultures", + "responses": { + "200": { + "description": "Operation successful. Returning a CultureDto[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Globalization.CultureDto" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Globalization.CultureDto" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Movies/Recommendations": { + "summary": "Gets movie recommendations", + "get": { + "tags": [ + "MoviesService" + ], + "summary": "Gets movie recommendations", + "description": "Requires authentication as user", + "operationId": "getMoviesRecommendations", + "parameters": [ + { + "name": "CategoryLimit", + "in": "query", + "description": "The max number of categories to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "ItemLimit", + "in": "query", + "description": "The max number of items to return per category", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a RecommendationDto[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RecommendationDto" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RecommendationDto" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/MusicGenres/{Name}": { + "summary": "Gets a music genre, by name", + "get": { + "tags": [ + "MusicGenresService" + ], + "summary": "Gets a music genre, by name", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getMusicgenresByName", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "The genre name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/MusicGenres/InstantMix": { + "summary": "Creates an instant playlist based on a music genre", + "get": { + "tags": [ + "InstantMixService" + ], + "summary": "Creates an instant playlist based on a music genre", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getMusicgenresInstantmix", + "parameters": [ + { + "name": "Id", + "in": "query", + "description": "The genre Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/News/Product": { + "summary": "Gets the latest product news.", + "get": { + "tags": [ + "NewsService" + ], + "summary": "Gets the latest product news.", + "description": "No authentication required", + "operationId": "getNewsProduct", + "parameters": [ + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_News.NewsItem" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_News.NewsItem" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Notifications/Types": { + "summary": "Gets notification types", + "get": { + "tags": [ + "NotificationsService" + ], + "summary": "Gets notification types", + "description": "Requires authentication as user", + "operationId": "getNotificationsTypes", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Notifications.NotificationTypeInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Notifications.NotificationTypeInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Notifications/Services": { + "summary": "Gets notification types", + "get": { + "tags": [ + "NotificationsService" + ], + "summary": "Gets notification types", + "description": "Requires authentication as user", + "operationId": "getNotificationsServices", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameIdPair" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameIdPair" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Notifications/Admin": { + "summary": "Sends a notification to all admin users", + "post": { + "tags": [ + "NotificationsService" + ], + "summary": "Sends a notification to all admin users", + "description": "Requires authentication as user", + "operationId": "postNotificationsAdmin", + "parameters": [ + { + "name": "Name", + "in": "query", + "description": "The notification's name", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Description", + "in": "query", + "description": "The notification's description", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ImageUrl", + "in": "query", + "description": "The notification's image url", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Url", + "in": "query", + "description": "The notification's info url", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "The notification level", + "style": "form", + "schema": { + "enum": [ + "Normal", + "Warning", + "Error" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Notifications/{UserId}": { + "summary": "Gets notifications", + "get": { + "tags": [ + "NotificationsService" + ], + "summary": "Gets notifications", + "description": "Requires authentication as user", + "operationId": "getNotificationsByUserid", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IsRead", + "in": "query", + "description": "An optional filter by IsRead", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a NotificationResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Emby.Notifications.Api.NotificationResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Emby.Notifications.Api.NotificationResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Packages/Updates": { + "summary": "Gets available package updates for currently installed packages", + "get": { + "tags": [ + "PackageService" + ], + "summary": "Gets available package updates for currently installed packages", + "description": "Requires authentication as administrator", + "operationId": "getPackagesUpdates", + "parameters": [ + { + "name": "PackageType", + "in": "query", + "description": "Package type filter (System/UserInstalled)", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a PackageVersionInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Updates.PackageVersionInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Updates.PackageVersionInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Packages/{Name}": { + "summary": "Gets a package, by name or assembly guid", + "get": { + "tags": [ + "PackageService" + ], + "summary": "Gets a package, by name or assembly guid", + "description": "Requires authentication as user", + "operationId": "getPackagesByName", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "The name of the package", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "AssemblyGuid", + "in": "query", + "description": "The guid of the associated assembly", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a PackageInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Updates.PackageInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Updates.PackageInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Persons/{Name}": { + "summary": "Gets a person, by name", + "get": { + "tags": [ + "PersonsService" + ], + "summary": "Gets a person, by name", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getPersonsByName", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "The person name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Playback/BitrateTest": { + "get": { + "tags": [ + "MediaInfoService" + ], + "description": "Requires authentication as user", + "operationId": "getPlaybackBitratetest", + "parameters": [ + { + "name": "Size", + "in": "query", + "description": "Size", + "required": true, + "style": "form", + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Plugins/{Id}": { + "summary": "Uninstalls a plugin", + "delete": { + "tags": [ + "PluginService" + ], + "summary": "Uninstalls a plugin", + "description": "Requires authentication as administrator", + "operationId": "deletePluginsById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Plugin Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Reports/Activities": { + "summary": "Gets activities entries", + "get": { + "tags": [ + "ReportsService" + ], + "summary": "Gets activities entries", + "description": "No authentication required", + "operationId": "getReportsActivities", + "parameters": [ + { + "name": "ReportView", + "in": "query", + "description": "The report view. Values (ReportData, ReportActivities)", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "DisplayType", + "in": "query", + "description": "The report display type. Values (None, Screen, Export, ScreenExport)", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasQueryLimit", + "in": "query", + "description": "Optional. If specified, results will include all records.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "GroupBy", + "in": "query", + "description": "Optional. If specified, results will include grouped records.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ReportColumns", + "in": "query", + "description": "Optional. The columns to show.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a ReportResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmbyReports.Api.Model.ReportResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/EmbyReports.Api.Model.ReportResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Reports/Headers": { + "summary": "Gets reports headers based on library items", + "get": { + "tags": [ + "ReportsService" + ], + "summary": "Gets reports headers based on library items", + "description": "No authentication required", + "operationId": "getReportsHeaders", + "parameters": [ + { + "name": "ReportView", + "in": "query", + "description": "The report view. Values (ReportData, ReportActivities)", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "DisplayType", + "in": "query", + "description": "The report display type. Values (None, Screen, Export, ScreenExport)", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ReportColumns", + "in": "query", + "description": "Optional. The columns to show.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmbyReports.Api.Model.ReportHeader" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmbyReports.Api.Model.ReportHeader" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Reports/Items": { + "summary": "Gets reports based on library items", + "get": { + "tags": [ + "ReportsService" + ], + "summary": "Gets reports based on library items", + "description": "No authentication required", + "operationId": "getReportsItems", + "parameters": [ + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "CollapseBoxSetItems", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ReportView", + "in": "query", + "description": "The report view. Values (ReportData, ReportActivities)", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "DisplayType", + "in": "query", + "description": "The report display type. Values (None, Screen, Export, ScreenExport)", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasQueryLimit", + "in": "query", + "description": "Optional. If specified, results will include all records.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "GroupBy", + "in": "query", + "description": "Optional. If specified, results will include grouped records.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ReportColumns", + "in": "query", + "description": "Optional. The columns to show.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a ReportResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmbyReports.Api.Model.ReportResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/EmbyReports.Api.Model.ReportResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/ScheduledTasks/{Id}": { + "summary": "Gets a scheduled task, by Id", + "get": { + "tags": [ + "ScheduledTaskService" + ], + "summary": "Gets a scheduled task, by Id", + "description": "Requires authentication as administrator", + "operationId": "getScheduledtasksById", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a TaskInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Tasks.TaskInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Tasks.TaskInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Search/Hints": { + "summary": "Gets search hints based on a search term", + "get": { + "tags": [ + "SearchService" + ], + "summary": "Gets search hints based on a search term", + "description": "Requires authentication as user", + "operationId": "getSearchHints", + "parameters": [ + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Supply a user id to search within a user's library or omit to search all.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "SearchTerm", + "in": "query", + "description": "The search term to filter on", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IncludePeople", + "in": "query", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "IncludeMedia", + "in": "query", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "IncludeGenres", + "in": "query", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "IncludeStudios", + "in": "query", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "IncludeArtists", + "in": "query", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a SearchHintResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Search.SearchHintResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Search.SearchHintResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/Logout": { + "summary": "Reports that a session has ended", + "post": { + "tags": [ + "SessionsService" + ], + "summary": "Reports that a session has ended", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Authentication", + "url": "https://github.com/MediaBrowser/Emby/wiki/User-Authentication" + }, + "operationId": "postSessionsLogout", + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/Capabilities": { + "summary": "Updates capabilities for a device", + "post": { + "tags": [ + "SessionsService" + ], + "summary": "Updates capabilities for a device", + "description": "Requires authentication as user", + "operationId": "postSessionsCapabilities", + "parameters": [ + { + "name": "Id", + "in": "query", + "description": "Session Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PlayableMediaTypes", + "in": "query", + "description": "A list of playable media types, comma delimited. Audio, Video, Book, Game, Photo.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "SupportedCommands", + "in": "query", + "description": "A list of supported remote control commands, comma delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "SupportsMediaControl", + "in": "query", + "description": "Determines whether media can be played remotely.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SupportsSync", + "in": "query", + "description": "Determines whether sync is supported.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SupportsPersistentIdentifier", + "in": "query", + "description": "Determines whether the device supports a unique identifier.", + "style": "form", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/Playing": { + "summary": "Reports playback has started within a session", + "post": { + "tags": [ + "PlaystateService" + ], + "summary": "Reports playback has started within a session", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Playback Check ins", + "url": "https://github.com/MediaBrowser/Emby/wiki/Playback-Check-ins" + }, + "operationId": "postSessionsPlaying", + "requestBody": { + "description": "PlaybackStartInfo: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlaybackStartInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/PlaybackStartInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Shows/Upcoming": { + "summary": "Gets a list of upcoming episodes", + "get": { + "tags": [ + "TvShowsService" + ], + "summary": "Gets a list of upcoming episodes", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getShowsUpcoming", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "User Id", + "required": true, + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Shows/NextUp": { + "summary": "Gets a list of next up episodes", + "get": { + "tags": [ + "TvShowsService" + ], + "summary": "Gets a list of next up episodes", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getShowsNextup", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "User Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SeriesId", + "in": "query", + "description": "Optional. Filter by series id", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Studios/{Name}": { + "summary": "Gets a studio, by name", + "get": { + "tags": [ + "StudiosService" + ], + "summary": "Gets a studio, by name", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Items by name", + "url": "https://github.com/MediaBrowser/Emby/wiki/Items-by-name" + }, + "operationId": "getStudiosByName", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "The studio name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/Targets": { + "summary": "Gets a list of available sync targets.", + "get": { + "tags": [ + "SyncService" + ], + "summary": "Gets a list of available sync targets.", + "description": "Requires authentication as user", + "operationId": "getSyncTargets", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "UserId", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.SyncTarget" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.SyncTarget" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/Jobs": { + "summary": "Gets sync jobs.", + "get": { + "tags": [ + "SyncService" + ], + "summary": "Gets sync jobs.", + "description": "Requires authentication as user", + "operationId": "getSyncJobs", + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_Sync.SyncJob" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_Sync.SyncJob" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "SyncService" + ], + "summary": "Gets sync jobs.", + "description": "Requires authentication as user", + "operationId": "postSyncJobs", + "requestBody": { + "description": "SyncJobRequest: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncJobRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncJobRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a SyncJobCreationResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncJobCreationResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncJobCreationResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/JobItems": { + "summary": "Gets sync job items.", + "get": { + "tags": [ + "SyncService" + ], + "summary": "Gets sync job items.", + "description": "Requires authentication as user", + "operationId": "getSyncJobitems", + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_Sync.Model.SyncJobItem" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_Sync.Model.SyncJobItem" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/Options": { + "summary": "Gets a list of available sync targets.", + "get": { + "tags": [ + "SyncService" + ], + "summary": "Gets a list of available sync targets.", + "description": "Requires authentication as user", + "operationId": "getSyncOptions", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "UserId", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ItemIds", + "in": "query", + "description": "ItemIds", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "ParentId", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "TargetId", + "in": "query", + "description": "TargetId", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Category", + "in": "query", + "description": "Category", + "style": "form", + "schema": { + "enum": [ + "Latest", + "NextUp", + "Resume" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a SyncDialogOptions object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncDialogOptions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncDialogOptions" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/OfflineActions": { + "summary": "Reports an action that occurred while offline.", + "post": { + "tags": [ + "SyncService" + ], + "summary": "Reports an action that occurred while offline.", + "description": "Requires authentication as user", + "operationId": "postSyncOfflineactions", + "requestBody": { + "description": "List`1: ", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Users.UserAction" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Users.UserAction" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/Data": { + "summary": "Syncs data between device and server", + "post": { + "tags": [ + "SyncService" + ], + "summary": "Syncs data between device and server", + "description": "Requires authentication as user", + "operationId": "postSyncData", + "requestBody": { + "description": "SyncDataRequest: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncDataRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncDataRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a SyncDataResponse object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncDataResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncDataResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/System/Configuration": { + "summary": "Gets application configuration", + "get": { + "tags": [ + "ConfigurationService" + ], + "summary": "Gets application configuration", + "description": "Requires authentication as user", + "operationId": "getSystemConfiguration", + "responses": { + "200": { + "description": "Operation successful. Returning a ServerConfiguration object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Configuration.ServerConfiguration" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Configuration.ServerConfiguration" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "ConfigurationService" + ], + "summary": "Updates application configuration", + "description": "Requires authentication as administrator", + "operationId": "postSystemConfiguration", + "requestBody": { + "description": "ServerConfiguration: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Configuration.ServerConfiguration" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Configuration.ServerConfiguration" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/System/Ping": { + "post": { + "tags": [ + "SystemService" + ], + "description": "No authentication required", + "operationId": "postSystemPing", + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "get": { + "tags": [ + "SystemService" + ], + "description": "No authentication required", + "operationId": "getSystemPing", + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/System/WakeOnLanInfo": { + "summary": "Gets wake on lan information", + "get": { + "tags": [ + "SystemService" + ], + "summary": "Gets wake on lan information", + "description": "Requires authentication as user", + "operationId": "getSystemWakeonlaninfo", + "responses": { + "200": { + "description": "Operation successful. Returning a WakeOnLanInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WakeOnLanInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WakeOnLanInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/System/Logs": { + "summary": "Gets a list of available server log files", + "get": { + "tags": [ + "SystemService" + ], + "summary": "Gets a list of available server log files", + "description": "Requires authentication as administrator", + "operationId": "getSystemLogs", + "responses": { + "200": { + "description": "Operation successful. Returning a LogFile[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogFile" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LogFile" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/System/Info": { + "summary": "Gets information about the server", + "get": { + "tags": [ + "SystemService" + ], + "summary": "Gets information about the server", + "description": "Requires authentication as user", + "operationId": "getSystemInfo", + "responses": { + "200": { + "description": "Operation successful. Returning a SystemInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SystemInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/SystemInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/System/Restart": { + "summary": "Restarts the application, if needed", + "post": { + "tags": [ + "SystemService" + ], + "summary": "Restarts the application, if needed", + "description": "Requires authentication as administrator", + "operationId": "postSystemRestart", + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/System/Shutdown": { + "summary": "Shuts down the application", + "post": { + "tags": [ + "SystemService" + ], + "summary": "Shuts down the application", + "description": "Requires authentication as administrator", + "operationId": "postSystemShutdown", + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/System/Endpoint": { + "summary": "Gets information about the request endpoint", + "get": { + "tags": [ + "SystemService" + ], + "summary": "Gets information about the request endpoint", + "description": "Requires authentication as user", + "operationId": "getSystemEndpoint", + "responses": { + "200": { + "description": "Operation successful. Returning a EndPointInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Net.EndPointInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Net.EndPointInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/Public": { + "summary": "Gets a list of publicly visible users for display on a login screen.", + "get": { + "tags": [ + "UserService" + ], + "summary": "Gets a list of publicly visible users for display on a login screen.", + "description": "No authentication required", + "externalDocs": { + "description": "API Documentation: Authentication", + "url": "https://github.com/MediaBrowser/Emby/wiki/User-Authentication" + }, + "operationId": "getUsersPublic", + "responses": { + "200": { + "description": "Operation successful. Returning a UserDto[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserDto" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserDto" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Users/{Id}": { + "summary": "Gets a user by Id", + "get": { + "tags": [ + "UserService" + ], + "summary": "Gets a user by Id", + "description": "Requires authentication as user", + "operationId": "getUsersById", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a UserDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/UserDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "UserService" + ], + "summary": "Deletes a user", + "description": "Requires authentication as administrator", + "operationId": "deleteUsersById", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "post": { + "tags": [ + "UserService" + ], + "summary": "Updates a user", + "description": "Requires authentication as user", + "operationId": "postUsersById", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "requestBody": { + "description": "UserDto: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/UserDto" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/AuthenticateByName": { + "summary": "Authenticates a user", + "description": "Authenticate a user by nane and password. A 200 status code indicates success, while anything in the 400 or 500 range indicates failure", + "post": { + "tags": [ + "UserService" + ], + "summary": "Authenticates a user", + "description": "Authenticate a user by nane and password. A 200 status code indicates success, while anything in the 400 or 500 range indicates failure\n---\nNo authentication required", + "externalDocs": { + "description": "API Documentation: Authentication", + "url": "https://github.com/MediaBrowser/Emby/wiki/User-Authentication" + }, + "operationId": "postUsersAuthenticatebyname", + "parameters": [ + { + "name": "X-Emby-Authorization", + "in": "header", + "description": "The authorization header can be either named 'Authorization' or 'X-Emby-Authorization'. \nIt must be of the following schema: \nEmby UserId=\"(guid)\", Client=\"(string)\", Device=\"(string)\", DeviceId=\"(string)\", Version=\"string\", Token=\"(string)\" \nPlease consult the documentation for further details.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "AuthenticateUserByName", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthenticateUserByName" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/AuthenticateUserByName" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a AuthenticationResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authentication.AuthenticationResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Authentication.AuthenticationResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Users/New": { + "summary": "Creates a user", + "post": { + "tags": [ + "UserService" + ], + "summary": "Creates a user", + "description": "Requires authentication as administrator", + "operationId": "postUsersNew", + "requestBody": { + "description": "CreateUserByName", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateUserByName" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/CreateUserByName" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a UserDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/UserDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Users/ForgotPassword": { + "summary": "Initiates the forgot password process for a local user", + "post": { + "tags": [ + "UserService" + ], + "summary": "Initiates the forgot password process for a local user", + "description": "No authentication required", + "operationId": "postUsersForgotpassword", + "requestBody": { + "description": "ForgotPassword", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForgotPassword" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ForgotPassword" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a ForgotPasswordResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users.ForgotPasswordResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Users.ForgotPasswordResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/type_filter_list": { + "summary": "Gets types filter list items", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets types filter list items", + "description": "No authentication required", + "operationId": "getUserUsageStatsTypeFilterList", + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/user_activity": { + "summary": "Gets a report of the available activity per hour", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets a report of the available activity per hour", + "description": "No authentication required", + "operationId": "getUserUsageStatsUserActivity", + "parameters": [ + { + "name": "days", + "in": "query", + "description": "Number of Days", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "end_date", + "in": "query", + "description": "End date of the report in yyyy-MM-dd format", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/user_list": { + "summary": "Get users", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Get users", + "description": "No authentication required", + "operationId": "getUserUsageStatsUserList", + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/import_backup": { + "summary": "Post a backup for importing", + "post": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Post a backup for importing", + "description": "No authentication required", + "operationId": "postUserUsageStatsImportBackup", + "requestBody": { + "description": "Binary stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/load_backup": { + "summary": "Loads a backup from a file", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Loads a backup from a file", + "description": "No authentication required", + "operationId": "getUserUsageStatsLoadBackup", + "parameters": [ + { + "name": "backupfile", + "in": "query", + "description": "File name of file to load", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/save_backup": { + "summary": "Saves a backup of the playback report data to the backup path", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Saves a backup of the playback report data to the backup path", + "description": "No authentication required", + "operationId": "getUserUsageStatsSaveBackup", + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/PlayActivity": { + "summary": "Gets play activity for number of days", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets play activity for number of days", + "description": "No authentication required", + "operationId": "getUserUsageStatsPlayactivity", + "parameters": [ + { + "name": "days", + "in": "query", + "description": "Number of Days", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "end_date", + "in": "query", + "description": "End date of the report in yyyy-MM-dd format", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Comma separated list of media types to filter (movies,series)", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "data_type", + "in": "query", + "description": "Data type to return (count,time)", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/HourlyReport": { + "summary": "Gets a report of the available activity per hour", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets a report of the available activity per hour", + "description": "No authentication required", + "operationId": "getUserUsageStatsHourlyreport", + "parameters": [ + { + "name": "days", + "in": "query", + "description": "Number of Days", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "end_date", + "in": "query", + "description": "End date of the report in yyyy-MM-dd format", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Comma separated list of media types to filter (movies,series)", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/DurationHistogramReport": { + "summary": "Gets duration histogram", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets duration histogram", + "description": "No authentication required", + "operationId": "getUserUsageStatsDurationhistogramreport", + "parameters": [ + { + "name": "days", + "in": "query", + "description": "Number of Days", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "end_date", + "in": "query", + "description": "End date of the report in yyyy-MM-dd format", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Comma separated list of media types to filter (movies,series)", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/TvShowsReport": { + "summary": "Gets TV Shows counts", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets TV Shows counts", + "description": "No authentication required", + "operationId": "getUserUsageStatsTvshowsreport", + "parameters": [ + { + "name": "days", + "in": "query", + "description": "Number of Days", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "end_date", + "in": "query", + "description": "End date of the report in yyyy-MM-dd format", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/MoviesReport": { + "summary": "Gets Movies counts", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets Movies counts", + "description": "No authentication required", + "operationId": "getUserUsageStatsMoviesreport", + "parameters": [ + { + "name": "days", + "in": "query", + "description": "Number of Days", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "end_date", + "in": "query", + "description": "End date of the report in yyyy-MM-dd format", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/submit_custom_query": { + "summary": "Submit an SQL query", + "post": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Submit an SQL query", + "description": "No authentication required", + "operationId": "postUserUsageStatsSubmitCustomQuery", + "requestBody": { + "description": "CustomQuery", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/playback_reporting.Api.CustomQuery" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/playback_reporting.Api.CustomQuery" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/UserPlaylist": { + "summary": "Gets a report of all played items for a user in a date period", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets a report of all played items for a user in a date period", + "description": "No authentication required", + "operationId": "getUserUsageStatsUserplaylist", + "parameters": [ + { + "name": "user_id", + "in": "query", + "description": "User Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "days", + "in": "query", + "description": "Number of Days", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "end_date", + "in": "query", + "description": "End date of the report in yyyy-MM-dd format", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "Comma separated list of media types to filter (movies,series)", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/session_list": { + "summary": "Gets Session Info", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets Session Info", + "description": "No authentication required", + "operationId": "getUserUsageStatsSessionList", + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/resource_usage": { + "summary": "Gets Resource Usage Info", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets Resource Usage Info", + "description": "No authentication required", + "operationId": "getUserUsageStatsResourceUsage", + "parameters": [ + { + "name": "hours", + "in": "query", + "description": "Number of Hours", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/process_list": { + "summary": "Gets a list of process Info", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets a list of process Info", + "description": "No authentication required", + "operationId": "getUserUsageStatsProcessList", + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Videos/MergeVersions": { + "summary": "Merges videos into a single record", + "post": { + "tags": [ + "VideosService" + ], + "summary": "Merges videos into a single record", + "description": "Requires authentication as administrator", + "operationId": "postVideosMergeversions", + "parameters": [ + { + "name": "Ids", + "in": "query", + "description": "Item id list. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Videos/ActiveEncodings": { + "delete": { + "tags": [ + "HlsSegmentService" + ], + "description": "Requires authentication as user", + "operationId": "deleteVideosActiveencodings", + "parameters": [ + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PlaySessionId", + "in": "query", + "description": "The play session id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/web/ConfigurationPage": { + "get": { + "tags": [ + "DashboardService" + ], + "description": "No authentication required", + "operationId": "getWebConfigurationpage", + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/web/ConfigurationPages": { + "get": { + "tags": [ + "DashboardService" + ], + "description": "No authentication required", + "operationId": "getWebConfigurationpages", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WebDashboard.Api.ConfigurationPageInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WebDashboard.Api.ConfigurationPageInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Albums/{Id}/InstantMix": { + "summary": "Creates an instant playlist based on a given album", + "get": { + "tags": [ + "InstantMixService" + ], + "summary": "Creates an instant playlist based on a given album", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getAlbumsByIdInstantmix", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Albums/{Id}/Similar": { + "summary": "Finds albums similar to a given album.", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Finds albums similar to a given album.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getAlbumsByIdSimilar", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Artists/{Id}/Similar": { + "summary": "Finds albums similar to a given album.", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Finds albums similar to a given album.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getArtistsByIdSimilar", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Audio/{Id}/universal.{Container}": { + "summary": "Gets an audio stream", + "get": { + "tags": [ + "UniversalAudioService" + ], + "summary": "Gets an audio stream", + "description": "Requires authentication as user", + "operationId": "getAudioByIdByContainer", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "head": { + "tags": [ + "UniversalAudioService" + ], + "summary": "Gets an audio stream", + "description": "Requires authentication as user", + "operationId": "headAudioByIdByContainer", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Audio/{Id}/universal": { + "summary": "Gets an audio stream", + "get": { + "tags": [ + "UniversalAudioService" + ], + "summary": "Gets an audio stream", + "description": "Requires authentication as user", + "operationId": "getAudioByIdUniversal", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "head": { + "tags": [ + "UniversalAudioService" + ], + "summary": "Gets an audio stream", + "description": "Requires authentication as user", + "operationId": "headAudioByIdUniversal", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Audio/{Id}/stream.{Container}": { + "summary": "Gets an audio stream", + "get": { + "tags": [ + "AudioService" + ], + "summary": "Gets an audio stream", + "description": "No authentication required", + "operationId": "getAudioByIdByContainer", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "path", + "description": "Container", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "AudioService" + ], + "summary": "Gets an audio stream", + "description": "No authentication required", + "operationId": "headAudioByIdByContainer", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "path", + "description": "Container", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Audio/{Id}/stream": { + "summary": "Gets an audio stream", + "get": { + "tags": [ + "AudioService" + ], + "summary": "Gets an audio stream", + "description": "No authentication required", + "operationId": "getAudioByIdStream", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "AudioService" + ], + "summary": "Gets an audio stream", + "description": "No authentication required", + "operationId": "headAudioByIdStream", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Audio/{Id}/master.m3u8": { + "summary": "Gets an audio stream using HTTP live streaming.", + "get": { + "tags": [ + "DynamicHlsService" + ], + "summary": "Gets an audio stream using HTTP live streaming.", + "description": "No authentication required", + "operationId": "getAudioByIdMasterM3u8", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "DynamicHlsService" + ], + "summary": "Gets an audio stream using HTTP live streaming.", + "description": "No authentication required", + "operationId": "headAudioByIdMasterM3u8", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Audio/{Id}/main.m3u8": { + "summary": "Gets an audio stream using HTTP live streaming.", + "get": { + "tags": [ + "DynamicHlsService" + ], + "summary": "Gets an audio stream using HTTP live streaming.", + "description": "No authentication required", + "operationId": "getAudioByIdMainM3u8", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Auth/Keys/{Key}": { + "delete": { + "tags": [ + "SessionsService" + ], + "description": "Requires authentication as administrator", + "operationId": "deleteAuthKeysByKey", + "parameters": [ + { + "name": "Key", + "in": "path", + "description": "Auth Key", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Channels/{Id}/Items": { + "summary": "Gets channel items", + "get": { + "tags": [ + "ChannelService" + ], + "summary": "Gets channel items", + "description": "Requires authentication as user", + "operationId": "getChannelsByIdItems", + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Channels/Items/Latest": { + "summary": "Gets channel items", + "get": { + "tags": [ + "ChannelService" + ], + "summary": "Gets channel items", + "description": "Requires authentication as user", + "operationId": "getChannelsItemsLatest", + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Collections/{Id}/Items": { + "summary": "Adds items to a collection", + "post": { + "tags": [ + "CollectionService" + ], + "summary": "Adds items to a collection", + "description": "Requires authentication as user", + "operationId": "postCollectionsByIdItems", + "parameters": [ + { + "name": "Ids", + "in": "query", + "description": "Item id, comma delimited", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "CollectionService" + ], + "summary": "Removes items from a collection", + "description": "Requires authentication as user", + "operationId": "deleteCollectionsByIdItems", + "parameters": [ + { + "name": "Ids", + "in": "query", + "description": "Item id, comma delimited", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Dlna/{UuId}/description.xml": { + "summary": "Gets dlna server info", + "get": { + "tags": [ + "DlnaServerService" + ], + "summary": "Gets dlna server info", + "description": "No authentication required", + "operationId": "getDlnaByUuidDescriptionXml", + "parameters": [ + { + "name": "UuId", + "in": "path", + "description": "Server UuId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Dlna/{UuId}/description": { + "summary": "Gets dlna server info", + "get": { + "tags": [ + "DlnaServerService" + ], + "summary": "Gets dlna server info", + "description": "No authentication required", + "operationId": "getDlnaByUuidDescription", + "parameters": [ + { + "name": "UuId", + "in": "path", + "description": "Server UuId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Dlna/icons/{Filename}": { + "summary": "Gets a server icon", + "get": { + "tags": [ + "DlnaServerService" + ], + "summary": "Gets a server icon", + "description": "No authentication required", + "operationId": "getDlnaIconsByFilename", + "parameters": [ + { + "name": "UuId", + "in": "query", + "description": "Server UuId", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Filename", + "in": "path", + "description": "The icon filename", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Dlna/Profiles/{Id}": { + "summary": "Gets a single profile", + "get": { + "tags": [ + "DlnaService" + ], + "summary": "Gets a single profile", + "description": "Requires authentication as administrator", + "operationId": "getDlnaProfilesById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Profile Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a DeviceProfile object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dlna.DeviceProfile" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Dlna.DeviceProfile" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "delete": { + "tags": [ + "DlnaService" + ], + "summary": "Deletes a profile", + "description": "Requires authentication as administrator", + "operationId": "deleteDlnaProfilesById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Profile Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "post": { + "tags": [ + "DlnaService" + ], + "summary": "Updates a profile", + "description": "Requires authentication as administrator", + "operationId": "postDlnaProfilesById", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "DeviceProfile: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dlna.DeviceProfile" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Dlna.DeviceProfile" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Dlna/Profiles/Default": { + "summary": "Gets the default profile", + "get": { + "tags": [ + "DlnaService" + ], + "summary": "Gets the default profile", + "description": "Requires authentication as administrator", + "operationId": "getDlnaProfilesDefault", + "responses": { + "200": { + "description": "Operation successful. Returning a DeviceProfile object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dlna.DeviceProfile" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Dlna.DeviceProfile" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Encoding/CodecInformation/Video": { + "summary": "Gets details about available video encoders and decoders", + "get": { + "tags": [ + "EncodingInfoService" + ], + "summary": "Gets details about available video encoders and decoders", + "description": "Requires authentication as user", + "operationId": "getEncodingCodecinformationVideo", + "responses": { + "200": { + "description": "Operation successful. Returning a VideoCodecBase[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaEncoding.Codecs.VideoCodecs.VideoCodecBase" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaEncoding.Codecs.VideoCodecs.VideoCodecBase" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Encoding/CodecConfiguration/Defaults": { + "summary": "Gets default codec configurations", + "get": { + "tags": [ + "EncodingInfoService" + ], + "summary": "Gets default codec configurations", + "description": "Requires authentication as user", + "operationId": "getEncodingCodecconfigurationDefaults", + "responses": { + "200": { + "description": "Operation successful. Returning a CodecConfiguration[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Configuration.CodecConfiguration" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Configuration.CodecConfiguration" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Games/{Id}/Similar": { + "summary": "Finds games similar to a given game.", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Finds games similar to a given game.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getGamesByIdSimilar", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/ExternalIdInfos": { + "summary": "Gets external id infos for an item", + "get": { + "tags": [ + "ItemLookupService" + ], + "summary": "Gets external id infos for an item", + "description": "Requires authentication as administrator", + "operationId": "getItemsByIdExternalidinfos", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExternalIdInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExternalIdInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Items/RemoteSearch/Trailer": { + "post": { + "tags": [ + "ItemLookupService" + ], + "description": "Requires authentication as user", + "operationId": "postItemsRemotesearchTrailer", + "requestBody": { + "description": "RemoteSearchQuery`1: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.TrailerInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.TrailerInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/RemoteSearch/Book": { + "post": { + "tags": [ + "ItemLookupService" + ], + "description": "Requires authentication as user", + "operationId": "postItemsRemotesearchBook", + "requestBody": { + "description": "RemoteSearchQuery`1: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.BookInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.BookInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/RemoteSearch/Movie": { + "post": { + "tags": [ + "ItemLookupService" + ], + "description": "Requires authentication as user", + "operationId": "postItemsRemotesearchMovie", + "requestBody": { + "description": "RemoteSearchQuery`1: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.MovieInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.MovieInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/RemoteSearch/Series": { + "post": { + "tags": [ + "ItemLookupService" + ], + "description": "Requires authentication as user", + "operationId": "postItemsRemotesearchSeries", + "requestBody": { + "description": "RemoteSearchQuery`1: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.SeriesInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.SeriesInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/RemoteSearch/Game": { + "post": { + "tags": [ + "ItemLookupService" + ], + "description": "Requires authentication as user", + "operationId": "postItemsRemotesearchGame", + "requestBody": { + "description": "RemoteSearchQuery`1: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.GameInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.GameInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/RemoteSearch/BoxSet": { + "post": { + "tags": [ + "ItemLookupService" + ], + "description": "Requires authentication as user", + "operationId": "postItemsRemotesearchBoxset", + "requestBody": { + "description": "RemoteSearchQuery`1: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.BoxSetInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.BoxSetInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/RemoteSearch/MusicVideo": { + "post": { + "tags": [ + "ItemLookupService" + ], + "description": "Requires authentication as user", + "operationId": "postItemsRemotesearchMusicvideo", + "requestBody": { + "description": "RemoteSearchQuery`1: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.MusicVideoInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.MusicVideoInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/RemoteSearch/Person": { + "post": { + "tags": [ + "ItemLookupService" + ], + "description": "Requires authentication as administrator", + "operationId": "postItemsRemotesearchPerson", + "requestBody": { + "description": "RemoteSearchQuery`1: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.PersonLookupInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.PersonLookupInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Items/RemoteSearch/MusicAlbum": { + "post": { + "tags": [ + "ItemLookupService" + ], + "description": "Requires authentication as user", + "operationId": "postItemsRemotesearchMusicalbum", + "requestBody": { + "description": "RemoteSearchQuery`1: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.AlbumInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.AlbumInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/RemoteSearch/MusicArtist": { + "post": { + "tags": [ + "ItemLookupService" + ], + "description": "Requires authentication as user", + "operationId": "postItemsRemotesearchMusicartist", + "requestBody": { + "description": "RemoteSearchQuery`1: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.ArtistInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Providers.RemoteSearchQuery_Providers.ArtistInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/RemoteSearch/Image": { + "summary": "Gets a remote image", + "get": { + "tags": [ + "ItemLookupService" + ], + "summary": "Gets a remote image", + "description": "No authentication required", + "operationId": "getItemsRemotesearchImage", + "parameters": [ + { + "name": "ImageUrl", + "in": "query", + "description": "The image url", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ProviderName", + "in": "query", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Items/{Id}/Refresh": { + "summary": "Refreshes metadata for an item", + "post": { + "tags": [ + "ItemRefreshService" + ], + "summary": "Refreshes metadata for an item", + "description": "Requires authentication as user", + "operationId": "postItemsByIdRefresh", + "parameters": [ + { + "name": "Recursive", + "in": "query", + "description": "Indicates if the refresh should occur recursively.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MetadataRefreshMode", + "in": "query", + "description": "Specifies the metadata refresh mode", + "style": "form", + "schema": { + "enum": [ + "Default", + "FullRefresh" + ], + "type": "string" + } + }, + { + "name": "ImageRefreshMode", + "in": "query", + "description": "Specifies the image refresh mode", + "style": "form", + "schema": { + "enum": [ + "Default", + "FullRefresh" + ], + "type": "string" + } + }, + { + "name": "ReplaceAllMetadata", + "in": "query", + "description": "Determines if metadata should be replaced. Only applicable if mode is FullRefresh", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "ReplaceAllImages", + "in": "query", + "description": "Determines if images should be replaced. Only applicable if mode is FullRefresh", + "style": "form", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{ItemId}/MetadataEditor": { + "summary": "Gets metadata editor info for an item", + "get": { + "tags": [ + "ItemUpdateService" + ], + "summary": "Gets metadata editor info for an item", + "description": "Requires authentication as administrator", + "operationId": "getItemsByItemidMetadataeditor", + "parameters": [ + { + "name": "ItemId", + "in": "path", + "description": "The id of the item", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a MetadataEditorInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetadataEditorInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/MetadataEditorInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Items/{Id}/InstantMix": { + "summary": "Creates an instant playlist based on a given item", + "get": { + "tags": [ + "InstantMixService" + ], + "summary": "Creates an instant playlist based on a given item", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getItemsByIdInstantmix", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/DeleteInfo": { + "summary": "Gets delete info for an item", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Gets delete info for an item", + "description": "Requires authentication as user", + "operationId": "getItemsByIdDeleteinfo", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a DeleteInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Library.DeleteInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Library.DeleteInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/Similar": { + "summary": "Gets similar items", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Gets similar items", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getItemsByIdSimilar", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/Download": { + "summary": "Downloads item media", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Downloads item media", + "description": "Requires authentication as user", + "operationId": "getItemsByIdDownload", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/File": { + "summary": "Gets the original file of an item", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Gets the original file of an item", + "description": "Requires authentication as user", + "operationId": "getItemsByIdFile", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/Ancestors": { + "summary": "Gets all parents of an item", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Gets all parents of an item", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getItemsByIdAncestors", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/CriticReviews": { + "summary": "Gets critic reviews for an item", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Gets critic reviews for an item", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getItemsByIdCriticreviews", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/ThemeMedia": { + "summary": "Gets theme videos and songs for an item", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Gets theme videos and songs for an item", + "description": "Requires authentication as user", + "operationId": "getItemsByIdThememedia", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "InheritFromParent", + "in": "query", + "description": "Determines whether or not parent items should be searched for theme media.", + "style": "form", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a AllThemeMediaResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AllThemeMediaResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/AllThemeMediaResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/ThemeSongs": { + "summary": "Gets theme songs for an item", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Gets theme songs for an item", + "description": "Requires authentication as user", + "operationId": "getItemsByIdThemesongs", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "InheritFromParent", + "in": "query", + "description": "Determines whether or not parent items should be searched for theme media.", + "style": "form", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a ThemeMediaResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThemeMediaResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ThemeMediaResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/ThemeVideos": { + "summary": "Gets theme videos for an item", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Gets theme videos for an item", + "description": "Requires authentication as user", + "operationId": "getItemsByIdThemevideos", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "InheritFromParent", + "in": "query", + "description": "Determines whether or not parent items should be searched for theme media.", + "style": "form", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a ThemeMediaResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThemeMediaResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ThemeMediaResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/Images": { + "summary": "Gets information about an item's images", + "get": { + "tags": [ + "ImageService" + ], + "summary": "Gets information about an item's images", + "description": "Requires authentication as user", + "operationId": "getItemsByIdImages", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/RemoteImages": { + "summary": "Gets available remote images for an item", + "get": { + "tags": [ + "RemoteImageService" + ], + "summary": "Gets available remote images for an item", + "description": "Requires authentication as user", + "operationId": "getItemsByIdRemoteimages", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "query", + "description": "The image type", + "style": "form", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ProviderName", + "in": "query", + "description": "Optional. The image provider to use", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeAllLanguages", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a RemoteImageResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemoteImageResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/RemoteImageResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/ThumbnailSet": { + "get": { + "tags": [ + "BifService" + ], + "description": "Requires authentication as user", + "operationId": "getItemsByIdThumbnailset", + "parameters": [ + { + "name": "Width", + "in": "query", + "required": true, + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a ThumbnailSetInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RokuMetadata.Api.ThumbnailSetInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/RokuMetadata.Api.ThumbnailSetInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/PlaybackInfo": { + "summary": "Gets live playback media info for an item", + "get": { + "tags": [ + "MediaInfoService" + ], + "summary": "Gets live playback media info for an item", + "description": "Requires authentication as user", + "operationId": "getItemsByIdPlaybackinfo", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a PlaybackInfoResponse object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaInfo.PlaybackInfoResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/MediaInfo.PlaybackInfoResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "MediaInfoService" + ], + "summary": "Gets live playback media info for an item", + "description": "Requires authentication as user", + "operationId": "postItemsByIdPlaybackinfo", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "PlaybackInfoRequest: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaInfo.PlaybackInfoRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/MediaInfo.PlaybackInfoRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a PlaybackInfoResponse object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MediaInfo.PlaybackInfoResponse" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/MediaInfo.PlaybackInfoResponse" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Library/Series/Added": { + "summary": "Deprecated. Use /Library/Media/Updated", + "post": { + "tags": [ + "LibraryService" + ], + "summary": "Deprecated. Use /Library/Media/Updated", + "description": "Requires authentication as user", + "operationId": "postLibrarySeriesAdded", + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Library/Series/Updated": { + "summary": "Deprecated. Use /Library/Media/Updated", + "post": { + "tags": [ + "LibraryService" + ], + "summary": "Deprecated. Use /Library/Media/Updated", + "description": "Requires authentication as user", + "operationId": "postLibrarySeriesUpdated", + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Library/Media/Updated": { + "summary": "Reports that new movies have been added by an external source", + "post": { + "tags": [ + "LibraryService" + ], + "summary": "Reports that new movies have been added by an external source", + "description": "Requires authentication as user", + "operationId": "postLibraryMediaUpdated", + "requestBody": { + "description": "PostUpdatedMedia", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Library.PostUpdatedMedia" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Library.PostUpdatedMedia" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Library/Movies/Added": { + "summary": "Deprecated. Use /Library/Media/Updated", + "post": { + "tags": [ + "LibraryService" + ], + "summary": "Deprecated. Use /Library/Media/Updated", + "description": "Requires authentication as user", + "operationId": "postLibraryMoviesAdded", + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Library/Movies/Updated": { + "summary": "Deprecated. Use /Library/Media/Updated", + "post": { + "tags": [ + "LibraryService" + ], + "summary": "Deprecated. Use /Library/Media/Updated", + "description": "Requires authentication as user", + "operationId": "postLibraryMoviesUpdated", + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Library/VirtualFolders/LibraryOptions": { + "post": { + "tags": [ + "LibraryStructureService" + ], + "description": "Requires authentication as administrator", + "operationId": "postLibraryVirtualfoldersLibraryoptions", + "requestBody": { + "description": "UpdateLibraryOptions", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Library.UpdateLibraryOptions" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Library.UpdateLibraryOptions" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Library/VirtualFolders/Name": { + "post": { + "tags": [ + "LibraryStructureService" + ], + "description": "Requires authentication as administrator", + "operationId": "postLibraryVirtualfoldersName", + "requestBody": { + "description": "RenameVirtualFolder", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Library.RenameVirtualFolder" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Library.RenameVirtualFolder" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Library/VirtualFolders/Paths": { + "post": { + "tags": [ + "LibraryStructureService" + ], + "description": "Requires authentication as administrator", + "operationId": "postLibraryVirtualfoldersPaths", + "requestBody": { + "description": "AddMediaPath", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Library.AddMediaPath" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Library.AddMediaPath" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "delete": { + "tags": [ + "LibraryStructureService" + ], + "description": "Requires authentication as administrator", + "operationId": "deleteLibraryVirtualfoldersPaths", + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/LiveTv/Programs/{Id}": { + "summary": "Gets a live tv program", + "get": { + "tags": [ + "UserLibraryService" + ], + "summary": "Gets a live tv program", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getLivetvProgramsById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/TunerHosts/Types": { + "get": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "getLivetvTunerhostsTypes", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameIdPair" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameIdPair" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Recordings/Folders": { + "summary": "Gets recording folders", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets recording folders", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getLivetvRecordingsFolders", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "Optional filter by user and attach user data.", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Tuners/Discvover": { + "get": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "getLivetvTunersDiscvover", + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LiveTv.TunerHostInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LiveTv.TunerHostInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/ListingProviders/Default": { + "get": { + "tags": [ + "LiveTvService" + ], + "description": "Requires authentication as user", + "operationId": "getLivetvListingprovidersDefault", + "responses": { + "200": { + "description": "Operation successful. Returning a ListingsProviderInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.ListingsProviderInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.ListingsProviderInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/ListingProviders/Lineups": { + "summary": "Gets available lineups", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets available lineups", + "description": "Requires authentication as user", + "operationId": "getLivetvListingprovidersLineups", + "parameters": [ + { + "name": "Id", + "in": "query", + "description": "Provider id", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "query", + "description": "Provider Type", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Location", + "in": "query", + "description": "Location", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Country", + "in": "query", + "description": "Country", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameIdPair" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameIdPair" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Channels/{Id}": { + "summary": "Gets a live tv channel", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets a live tv channel", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getLivetvChannelsById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Channel Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional attach user data.", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Programs/Recommended": { + "summary": "Gets available live tv epgs..", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets available live tv epgs..", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getLivetvProgramsRecommended", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "Optional filter by user id.", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "IsAiring", + "in": "query", + "description": "Optional. Filter by programs that are currently airing, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasAired", + "in": "query", + "description": "Optional. Filter by programs that have completed airing, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "GenreIds", + "in": "query", + "description": "The genres to return guide information for.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Recordings/Series": { + "summary": "Gets live tv recordings", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets live tv recordings", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getLivetvRecordingsSeries", + "parameters": [ + { + "name": "ChannelId", + "in": "query", + "description": "Optional filter by channel id.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional filter by user and attach user data.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "GroupId", + "in": "query", + "description": "Optional filter by recording group.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Status", + "in": "query", + "description": "Optional filter by recording status.", + "style": "form", + "schema": { + "enum": [ + "New", + "InProgress", + "Completed", + "Cancelled", + "ConflictedOk", + "ConflictedNotOk", + "Error" + ], + "type": "string" + } + }, + { + "name": "IsInProgress", + "in": "query", + "description": "Optional filter by recordings that are in progress, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesTimerId", + "in": "query", + "description": "Optional filter by recordings belonging to a series timer", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Recordings/{Id}": { + "summary": "Gets a live tv recording", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets a live tv recording", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getLivetvRecordingsById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Recording Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional attach user data.", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "LiveTvService" + ], + "summary": "Deletes a live tv recording", + "description": "Requires authentication as user", + "operationId": "deleteLivetvRecordingsById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Recording Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Timers/{Id}": { + "summary": "Gets a live tv timer", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets a live tv timer", + "description": "Requires authentication as user", + "operationId": "getLivetvTimersById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Timer Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a TimerInfoDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TimerInfoDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TimerInfoDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "LiveTvService" + ], + "summary": "Cancels a live tv timer", + "description": "Requires authentication as user", + "operationId": "deleteLivetvTimersById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Timer Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "LiveTvService" + ], + "summary": "Updates a live tv timer", + "description": "Requires authentication as user", + "operationId": "postLivetvTimersById", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "TimerInfoDto: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TimerInfoDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TimerInfoDto" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/SeriesTimers/{Id}": { + "summary": "Gets a live tv series timer", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets a live tv series timer", + "description": "Requires authentication as user", + "operationId": "getLivetvSeriestimersById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Timer Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a TimerInfoDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TimerInfoDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.TimerInfoDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "LiveTvService" + ], + "summary": "Cancels a live tv series timer", + "description": "Requires authentication as user", + "operationId": "deleteLivetvSeriestimersById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Timer Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "LiveTvService" + ], + "summary": "Updates a live tv series timer", + "description": "Requires authentication as user", + "operationId": "postLivetvSeriestimersById", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "SeriesTimerInfoDto: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.SeriesTimerInfoDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.SeriesTimerInfoDto" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Timers/Defaults": { + "summary": "Gets default values for a new timer", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets default values for a new timer", + "description": "Requires authentication as user", + "operationId": "getLivetvTimersDefaults", + "parameters": [ + { + "name": "ProgramId", + "in": "query", + "description": "Optional, to attach default values based on a program.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a SeriesTimerInfoDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiveTv.SeriesTimerInfoDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/LiveTv.SeriesTimerInfoDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Recordings/Groups": { + "summary": "Gets live tv recording groups", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets live tv recording groups", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getLivetvRecordingsGroups", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "Optional filter by user and attach user data.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/ListingProviders/Available": { + "summary": "Gets listing provider", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets listing provider", + "description": "Requires authentication as user", + "operationId": "getLivetvListingprovidersAvailable", + "responses": { + "200": { + "description": "Operation successful. Returning a ListingProviderTypeInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LiveTv.ListingProviderTypeInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LiveTv.ListingProviderTypeInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Movies/{Id}/Similar": { + "summary": "Finds movies and trailers similar to a given movie.", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Finds movies and trailers similar to a given movie.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getMoviesByIdSimilar", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/MusicGenres/{Name}/InstantMix": { + "summary": "Creates an instant playlist based on a music genre", + "get": { + "tags": [ + "InstantMixService" + ], + "summary": "Creates an instant playlist based on a music genre", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getMusicgenresByNameInstantmix", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "The genre name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Notifications/{UserId}/Summary": { + "summary": "Gets a notification summary for a user", + "get": { + "tags": [ + "NotificationsService" + ], + "summary": "Gets a notification summary for a user", + "description": "Requires authentication as user", + "operationId": "getNotificationsByUseridSummary", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a NotificationsSummary object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Emby.Notifications.Api.NotificationsSummary" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Emby.Notifications.Api.NotificationsSummary" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Notifications/{UserId}/Read": { + "summary": "Marks notifications as read", + "post": { + "tags": [ + "NotificationsService" + ], + "summary": "Marks notifications as read", + "description": "Requires authentication as user", + "operationId": "postNotificationsByUseridRead", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "A list of notification ids, comma delimited", + "required": true, + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Notifications/{UserId}/Unread": { + "summary": "Marks notifications as unread", + "post": { + "tags": [ + "NotificationsService" + ], + "summary": "Marks notifications as unread", + "description": "Requires authentication as user", + "operationId": "postNotificationsByUseridUnread", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "A list of notification ids, comma delimited", + "required": true, + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Packages/Installed/{Name}": { + "summary": "Installs a package", + "post": { + "tags": [ + "PackageService" + ], + "summary": "Installs a package", + "description": "Requires authentication as administrator", + "operationId": "postPackagesInstalledByName", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Package name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "AssemblyGuid", + "in": "query", + "description": "Guid of the associated assembly", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Version", + "in": "query", + "description": "Optional version. Defaults to latest version.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UpdateClass", + "in": "query", + "description": "Optional update class (Dev, Beta, Release). Defaults to Release.", + "style": "form", + "schema": { + "enum": [ + "Release", + "Beta", + "Dev" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Packages/Installing/{Id}": { + "summary": "Cancels a package installation", + "delete": { + "tags": [ + "PackageService" + ], + "summary": "Cancels a package installation", + "description": "Requires authentication as administrator", + "operationId": "deletePackagesInstallingById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Installation Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Playlists/{Id}/Items": { + "summary": "Adds items to a playlist", + "post": { + "tags": [ + "PlaylistService" + ], + "summary": "Adds items to a playlist", + "description": "Requires authentication as user", + "operationId": "postPlaylistsByIdItems", + "parameters": [ + { + "name": "Ids", + "in": "query", + "description": "Item id, comma delimited", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "PlaylistService" + ], + "summary": "Removes items from a playlist", + "description": "Requires authentication as user", + "operationId": "deletePlaylistsByIdItems", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "EntryIds", + "in": "query", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "get": { + "tags": [ + "PlaylistService" + ], + "summary": "Gets the original items of a playlist", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getPlaylistsByIdItems", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Playlists/{Id}/InstantMix": { + "summary": "Creates an instant playlist based on a given playlist", + "get": { + "tags": [ + "InstantMixService" + ], + "summary": "Creates an instant playlist based on a given playlist", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getPlaylistsByIdInstantmix", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Plugins/{Id}/Thumb": { + "summary": "Gets a plugin thumb image", + "get": { + "tags": [ + "PluginService" + ], + "summary": "Gets a plugin thumb image", + "description": "No authentication required", + "operationId": "getPluginsByIdThumb", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Plugin Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Plugins/{Id}/Configuration": { + "summary": "Gets a plugin's configuration", + "get": { + "tags": [ + "PluginService" + ], + "summary": "Gets a plugin's configuration", + "description": "Requires authentication as user", + "operationId": "getPluginsByIdConfiguration", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Plugin Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "PluginService" + ], + "summary": "Updates a plugin's configuration", + "description": "Requires authentication as user", + "operationId": "postPluginsByIdConfiguration", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Plugin Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Binary stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Reports/Items/Download": { + "summary": "Downloads report", + "get": { + "tags": [ + "ReportsService" + ], + "summary": "Downloads report", + "description": "No authentication required", + "operationId": "getReportsItemsDownload", + "parameters": [ + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "User Id", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "CollapseBoxSetItems", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ReportView", + "in": "query", + "description": "The report view. Values (ReportData, ReportActivities)", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "DisplayType", + "in": "query", + "description": "The report display type. Values (None, Screen, Export, ScreenExport)", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasQueryLimit", + "in": "query", + "description": "Optional. If specified, results will include all records.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "GroupBy", + "in": "query", + "description": "Optional. If specified, results will include grouped records.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ReportColumns", + "in": "query", + "description": "Optional. The columns to show.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/ScheduledTasks/Running/{Id}": { + "summary": "Starts a scheduled task", + "post": { + "tags": [ + "ScheduledTaskService" + ], + "summary": "Starts a scheduled task", + "description": "Requires authentication as administrator", + "operationId": "postScheduledtasksRunningById", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "delete": { + "tags": [ + "ScheduledTaskService" + ], + "summary": "Stops a scheduled task", + "description": "Requires authentication as administrator", + "operationId": "deleteScheduledtasksRunningById", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/ScheduledTasks/{Id}/Triggers": { + "summary": "Updates the triggers for a scheduled task", + "post": { + "tags": [ + "ScheduledTaskService" + ], + "summary": "Updates the triggers for a scheduled task", + "description": "Requires authentication as administrator", + "operationId": "postScheduledtasksByIdTriggers", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "List`1: ", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tasks.TaskTriggerInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tasks.TaskTriggerInfo" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Sessions/{Id}/Viewing": { + "summary": "Instructs a session to browse to an item or view", + "post": { + "tags": [ + "SessionsService" + ], + "summary": "Instructs a session to browse to an item or view", + "description": "Requires authentication as user", + "operationId": "postSessionsByIdViewing", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Session Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "ItemType", + "in": "query", + "description": "The type of item to browse to.", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ItemId", + "in": "query", + "description": "The Id of the item.", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ItemName", + "in": "query", + "description": "The name of the item.", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/{Id}/Message": { + "summary": "Issues a command to a client to display a message to the user", + "post": { + "tags": [ + "SessionsService" + ], + "summary": "Issues a command to a client to display a message to the user", + "description": "Requires authentication as user", + "operationId": "postSessionsByIdMessage", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Session Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Text", + "in": "query", + "description": "The message text.", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Header", + "in": "query", + "description": "The message header.", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "TimeoutMs", + "in": "query", + "description": "The message timeout. If omitted the user will have to confirm viewing the message.", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/{Id}/Playing": { + "summary": "Instructs a session to play an item", + "post": { + "tags": [ + "SessionsService" + ], + "summary": "Instructs a session to play an item", + "description": "Requires authentication as user", + "operationId": "postSessionsByIdPlaying", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Session Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "ItemIds", + "in": "query", + "description": "The ids of the items to play, comma delimited", + "required": true, + "style": "form", + "explode": true, + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + } + }, + { + "name": "StartPositionTicks", + "in": "query", + "description": "The starting position of the first item.", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "PlayCommand", + "in": "query", + "description": "The type of play command to issue (PlayNow, PlayNext, PlayLast). Clients who have not yet implemented play next and play last may play now.", + "required": true, + "style": "form", + "schema": { + "enum": [ + "PlayNow", + "PlayNext", + "PlayLast", + "PlayInstantMix", + "PlayShuffle" + ], + "type": "string" + } + } + ], + "requestBody": { + "description": "PlayRequest: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlayRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/PlayRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/{Id}/Command": { + "summary": "Issues a system command to a client", + "post": { + "tags": [ + "SessionsService" + ], + "summary": "Issues a system command to a client", + "description": "Requires authentication as user", + "operationId": "postSessionsByIdCommand", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Session Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "GeneralCommand: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GeneralCommand" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/GeneralCommand" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/Capabilities/Full": { + "summary": "Updates capabilities for a device", + "post": { + "tags": [ + "SessionsService" + ], + "summary": "Updates capabilities for a device", + "description": "Requires authentication as user", + "operationId": "postSessionsCapabilitiesFull", + "parameters": [ + { + "name": "Id", + "in": "query", + "description": "Session Id", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "ClientCapabilities: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientCapabilities" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ClientCapabilities" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/Playing/Progress": { + "summary": "Reports playback progress within a session", + "post": { + "tags": [ + "PlaystateService" + ], + "summary": "Reports playback progress within a session", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Playback Check ins", + "url": "https://github.com/MediaBrowser/Emby/wiki/Playback-Check-ins" + }, + "operationId": "postSessionsPlayingProgress", + "requestBody": { + "description": "PlaybackProgressInfo: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlaybackProgressInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/PlaybackProgressInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/Playing/Ping": { + "summary": "Pings a playback session", + "post": { + "tags": [ + "PlaystateService" + ], + "summary": "Pings a playback session", + "description": "Requires authentication as user", + "operationId": "postSessionsPlayingPing", + "parameters": [ + { + "name": "PlaySessionId", + "in": "query", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/Playing/Stopped": { + "summary": "Reports playback has stopped within a session", + "post": { + "tags": [ + "PlaystateService" + ], + "summary": "Reports playback has stopped within a session", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Playback Check ins", + "url": "https://github.com/MediaBrowser/Emby/wiki/Playback-Check-ins" + }, + "operationId": "postSessionsPlayingStopped", + "requestBody": { + "description": "PlaybackStopInfo: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlaybackStopInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/PlaybackStopInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Shows/{Id}/Seasons": { + "summary": "Gets seasons for a tv series", + "get": { + "tags": [ + "TvShowsService" + ], + "summary": "Gets seasons for a tv series", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getShowsByIdSeasons", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "User Id", + "required": true, + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "The series id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IsSpecialSeason", + "in": "query", + "description": "Optional. Filter by special season.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Shows/{Id}/Episodes": { + "summary": "Gets episodes for a tv season", + "get": { + "tags": [ + "TvShowsService" + ], + "summary": "Gets episodes for a tv season", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getShowsByIdEpisodes", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "User Id", + "required": true, + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "The series id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Season", + "in": "query", + "description": "Optional filter by season number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SeasonId", + "in": "query", + "description": "Optional. Filter by season id", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "StartItemId", + "in": "query", + "description": "Optional. Skip through the list until a given item is found.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "enum": [ + "Ascending", + "Descending" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Shows/{Id}/Similar": { + "summary": "Finds tv shows similar to a given one.", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Finds tv shows similar to a given one.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getShowsByIdSimilar", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Songs/{Id}/InstantMix": { + "summary": "Creates an instant playlist based on a given song", + "get": { + "tags": [ + "InstantMixService" + ], + "summary": "Creates an instant playlist based on a given song", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getSongsByIdInstantmix", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/{ItemId}/Status": { + "summary": "Gets sync status for an item.", + "post": { + "tags": [ + "SyncService" + ], + "summary": "Gets sync status for an item.", + "description": "Requires authentication as user", + "operationId": "postSyncByItemidStatus", + "parameters": [ + { + "name": "ItemId", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "SyncedItemProgress: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncedItemProgress" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Sync.Model.SyncedItemProgress" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/Jobs/{Id}": { + "summary": "Gets a sync job.", + "get": { + "tags": [ + "SyncService" + ], + "summary": "Gets a sync job.", + "description": "Requires authentication as user", + "operationId": "getSyncJobsById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a SyncJob object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sync.SyncJob" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Sync.SyncJob" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "SyncService" + ], + "summary": "Cancels a sync job.", + "description": "Requires authentication as user", + "operationId": "deleteSyncJobsById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "SyncService" + ], + "summary": "Updates a sync job.", + "description": "Requires authentication as user", + "operationId": "postSyncJobsById", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "description": "SyncJob: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Sync.SyncJob" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Sync.SyncJob" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/Items/Cancel": { + "summary": "Cancels items from a sync target", + "post": { + "tags": [ + "SyncService" + ], + "summary": "Cancels items from a sync target", + "description": "Requires authentication as user", + "operationId": "postSyncItemsCancel", + "parameters": [ + { + "name": "ItemIds", + "in": "query", + "description": "ItemIds", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/{TargetId}/Items": { + "summary": "Cancels items from a sync target", + "delete": { + "tags": [ + "SyncService" + ], + "summary": "Cancels items from a sync target", + "description": "Requires authentication as user", + "operationId": "deleteSyncByTargetidItems", + "parameters": [ + { + "name": "TargetId", + "in": "path", + "description": "TargetId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/Items/Ready": { + "summary": "Gets ready to download sync items.", + "get": { + "tags": [ + "SyncService" + ], + "summary": "Gets ready to download sync items.", + "description": "Requires authentication as user", + "operationId": "getSyncItemsReady", + "parameters": [ + { + "name": "TargetId", + "in": "query", + "description": "TargetId", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.Model.SyncedItem" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.Model.SyncedItem" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/JobItems/{Id}": { + "summary": "Cancels a sync job item", + "delete": { + "tags": [ + "SyncService" + ], + "summary": "Cancels a sync job item", + "description": "Requires authentication as user", + "operationId": "deleteSyncJobitemsById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/System/Configuration/{Key}": { + "summary": "Gets a named configuration", + "get": { + "tags": [ + "ConfigurationService" + ], + "summary": "Gets a named configuration", + "description": "Requires authentication as user", + "operationId": "getSystemConfigurationByKey", + "parameters": [ + { + "name": "Key", + "in": "path", + "description": "Key", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "ConfigurationService" + ], + "summary": "Updates named configuration", + "description": "Requires authentication as administrator", + "operationId": "postSystemConfigurationByKey", + "parameters": [ + { + "name": "Key", + "in": "path", + "description": "Key", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Binary stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/System/ActivityLog/Entries": { + "summary": "Gets activity log entries", + "get": { + "tags": [ + "ActivityLogService" + ], + "summary": "Gets activity log entries", + "description": "Requires authentication as administrator", + "operationId": "getSystemActivitylogEntries", + "parameters": [ + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinDate", + "in": "query", + "description": "Optional. The minimum date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_ActivityLogEntry" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_ActivityLogEntry" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/System/Logs/Log": { + "summary": "Gets a log file", + "get": { + "tags": [ + "SystemService" + ], + "summary": "Gets a log file", + "description": "Requires authentication as administrator", + "operationId": "getSystemLogsLog", + "parameters": [ + { + "name": "Name", + "in": "query", + "description": "The log file name.", + "required": true, + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/System/Info/Public": { + "summary": "Gets public information about the server", + "get": { + "tags": [ + "SystemService" + ], + "summary": "Gets public information about the server", + "description": "No authentication required", + "operationId": "getSystemInfoPublic", + "responses": { + "200": { + "description": "Operation successful. Returning a PublicSystemInfo object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PublicSystemInfo" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/PublicSystemInfo" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Trailers/{Id}/Similar": { + "summary": "Finds movies and trailers similar to a given trailer.", + "get": { + "tags": [ + "LibraryService" + ], + "summary": "Finds movies and trailers similar to a given trailer.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getTrailersByIdSimilar", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/Suggestions": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "SuggestionsService" + ], + "summary": "Gets items based on a query.", + "description": "No authentication required", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getUsersByUseridSuggestions", + "parameters": [ + { + "name": "UserId", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Users/{Id}/Authenticate": { + "summary": "Authenticates a user", + "post": { + "tags": [ + "UserService" + ], + "summary": "Authenticates a user", + "description": "No authentication required", + "externalDocs": { + "description": "API Documentation: Authentication", + "url": "https://github.com/MediaBrowser/Emby/wiki/User-Authentication" + }, + "operationId": "postUsersByIdAuthenticate", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "AuthenticateUser", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthenticateUser" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/AuthenticateUser" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a AuthenticationResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Authentication.AuthenticationResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Authentication.AuthenticationResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Users/{Id}/Password": { + "summary": "Updates a user's password", + "post": { + "tags": [ + "UserService" + ], + "summary": "Updates a user's password", + "description": "Requires authentication as user", + "operationId": "postUsersByIdPassword", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "UpdateUserPassword", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateUserPassword" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/UpdateUserPassword" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{Id}/EasyPassword": { + "summary": "Updates a user's easy password", + "post": { + "tags": [ + "UserService" + ], + "summary": "Updates a user's easy password", + "description": "Requires authentication as user", + "operationId": "postUsersByIdEasypassword", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "UpdateUserEasyPassword", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateUserEasyPassword" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/UpdateUserEasyPassword" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/ForgotPassword/Pin": { + "summary": "Redeems a forgot password pin", + "post": { + "tags": [ + "UserService" + ], + "summary": "Redeems a forgot password pin", + "description": "No authentication required", + "operationId": "postUsersForgotpasswordPin", + "requestBody": { + "description": "ForgotPasswordPin", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForgotPasswordPin" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/ForgotPasswordPin" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Returning a PinRedeemResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users.PinRedeemResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Users.PinRedeemResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Users/{Id}/Configuration": { + "summary": "Updates a user configuration", + "post": { + "tags": [ + "UserService" + ], + "summary": "Updates a user configuration", + "description": "Requires authentication as user", + "operationId": "postUsersByIdConfiguration", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "UserConfiguration: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Configuration.UserConfiguration" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Configuration.UserConfiguration" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{Id}/Policy": { + "summary": "Updates a user policy", + "post": { + "tags": [ + "UserService" + ], + "summary": "Updates a user policy", + "description": "Requires authentication as administrator", + "operationId": "postUsersByIdPolicy", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "UserPolicy: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Users.UserPolicy" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Users.UserPolicy" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Users/{UserId}/Items": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "ItemsService" + ], + "summary": "Gets items based on a query.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Browsing the Library", + "url": "https://github.com/MediaBrowser/Emby/wiki/Browsing-the-Library" + }, + "operationId": "getUsersByUseridItems", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/Views": { + "get": { + "tags": [ + "UserViewsService" + ], + "description": "No authentication required", + "externalDocs": { + "description": "API Documentation: Browsing the Library", + "url": "https://github.com/MediaBrowser/Emby/wiki/Browsing-the-Library" + }, + "operationId": "getUsersByUseridViews", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IncludeExternalContent", + "in": "query", + "description": "Whether or not to include external views such as channels or live tv", + "required": true, + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Users/{UserId}/GroupingOptions": { + "get": { + "tags": [ + "UserViewsService" + ], + "description": "No authentication required", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getUsersByUseridGroupingoptions", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/{BreakdownType}/BreakdownReport": { + "summary": "Gets a breakdown of a usage metric", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets a breakdown of a usage metric", + "description": "No authentication required", + "operationId": "getUserUsageStatsByBreakdowntypeBreakdownreport", + "parameters": [ + { + "name": "days", + "in": "query", + "description": "Number of Days", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "end_date", + "in": "query", + "description": "End date of the report in yyyy-MM-dd format", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "BreakdownType", + "in": "path", + "description": "Breakdown type", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Videos/{Id}/AdditionalParts": { + "summary": "Gets additional parts for a video.", + "get": { + "tags": [ + "VideosService" + ], + "summary": "Gets additional parts for a video.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getVideosByIdAdditionalparts", + "parameters": [ + { + "name": "UserId", + "in": "query", + "description": "Optional. Filter by user id, and attach user data", + "style": "form", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Videos/{Id}/AlternateSources": { + "summary": "Removes alternate video sources.", + "delete": { + "tags": [ + "VideosService" + ], + "summary": "Removes alternate video sources.", + "description": "Requires authentication as administrator", + "operationId": "deleteVideosByIdAlternatesources", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Videos/{Id}/index.bif": { + "get": { + "tags": [ + "BifService" + ], + "description": "No authentication required", + "operationId": "getVideosByIdIndexBif", + "parameters": [ + { + "name": "Width", + "in": "query", + "required": true, + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Videos/{Id}/stream.{Container}": { + "summary": "Gets a video stream", + "get": { + "tags": [ + "VideoService" + ], + "summary": "Gets a video stream", + "description": "No authentication required", + "operationId": "getVideosByIdByContainer", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "path", + "description": "Container", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "VideoService" + ], + "summary": "Gets a video stream", + "description": "No authentication required", + "operationId": "headVideosByIdByContainer", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "path", + "description": "Container", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Videos/{Id}/stream": { + "summary": "Gets a video stream", + "get": { + "tags": [ + "VideoService" + ], + "summary": "Gets a video stream", + "description": "No authentication required", + "operationId": "getVideosByIdStream", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "VideoService" + ], + "summary": "Gets a video stream", + "description": "No authentication required", + "operationId": "headVideosByIdStream", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Videos/{Id}/master.m3u8": { + "summary": "Gets a video stream using HTTP live streaming.", + "get": { + "tags": [ + "DynamicHlsService" + ], + "summary": "Gets a video stream using HTTP live streaming.", + "description": "No authentication required", + "operationId": "getVideosByIdMasterM3u8", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "DynamicHlsService" + ], + "summary": "Gets a video stream using HTTP live streaming.", + "description": "No authentication required", + "operationId": "headVideosByIdMasterM3u8", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Videos/{Id}/main.m3u8": { + "summary": "Gets a video stream using HTTP live streaming.", + "get": { + "tags": [ + "DynamicHlsService" + ], + "summary": "Gets a video stream using HTTP live streaming.", + "description": "No authentication required", + "operationId": "getVideosByIdMainM3u8", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Videos/{Id}/subtitles.m3u8": { + "summary": "Gets an HLS subtitle playlist.", + "get": { + "tags": [ + "DynamicHlsService" + ], + "summary": "Gets an HLS subtitle playlist.", + "description": "No authentication required", + "operationId": "getVideosByIdSubtitlesM3u8", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleSegmentLength", + "in": "query", + "description": "The subtitle segment length", + "required": true, + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "ManifestSubtitles", + "in": "query", + "description": "The subtitle segment format", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Videos/{Id}/live.m3u8": { + "get": { + "tags": [ + "VideoHlsService" + ], + "description": "No authentication required", + "operationId": "getVideosByIdLiveM3u8", + "parameters": [ + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Artists/{Name}/Images/{Type}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getArtistsByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headArtistsByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Dlna/{UuId}/contentdirectory/contentdirectory.xml": { + "summary": "Gets dlna content directory xml", + "get": { + "tags": [ + "DlnaServerService" + ], + "summary": "Gets dlna content directory xml", + "description": "No authentication required", + "operationId": "getDlnaByUuidContentdirectoryContentdirectoryXml", + "parameters": [ + { + "name": "UuId", + "in": "path", + "description": "Server UuId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Dlna/{UuId}/contentdirectory/contentdirectory": { + "summary": "Gets dlna content directory xml", + "get": { + "tags": [ + "DlnaServerService" + ], + "summary": "Gets dlna content directory xml", + "description": "No authentication required", + "operationId": "getDlnaByUuidContentdirectoryContentdirectory", + "parameters": [ + { + "name": "UuId", + "in": "path", + "description": "Server UuId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Dlna/{UuId}/connectionmanager/connectionmanager.xml": { + "summary": "Gets dlna connection manager xml", + "get": { + "tags": [ + "DlnaServerService" + ], + "summary": "Gets dlna connection manager xml", + "description": "No authentication required", + "operationId": "getDlnaByUuidConnectionmanagerConnectionmanagerXml", + "parameters": [ + { + "name": "UuId", + "in": "path", + "description": "Server UuId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Dlna/{UuId}/connectionmanager/connectionmanager": { + "summary": "Gets dlna connection manager xml", + "get": { + "tags": [ + "DlnaServerService" + ], + "summary": "Gets dlna connection manager xml", + "description": "No authentication required", + "operationId": "getDlnaByUuidConnectionmanagerConnectionmanager", + "parameters": [ + { + "name": "UuId", + "in": "path", + "description": "Server UuId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Dlna/{UuId}/contentdirectory/control": { + "summary": "Processes a control request", + "post": { + "tags": [ + "DlnaServerService" + ], + "summary": "Processes a control request", + "description": "No authentication required", + "operationId": "postDlnaByUuidContentdirectoryControl", + "parameters": [ + { + "name": "UuId", + "in": "path", + "description": "Server UuId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Binary stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Dlna/{UuId}/connectionmanager/control": { + "summary": "Processes a control request", + "post": { + "tags": [ + "DlnaServerService" + ], + "summary": "Processes a control request", + "description": "No authentication required", + "operationId": "postDlnaByUuidConnectionmanagerControl", + "parameters": [ + { + "name": "UuId", + "in": "path", + "description": "Server UuId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Binary stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Dlna/{UuId}/icons/{Filename}": { + "summary": "Gets a server icon", + "get": { + "tags": [ + "DlnaServerService" + ], + "summary": "Gets a server icon", + "description": "No authentication required", + "operationId": "getDlnaByUuidIconsByFilename", + "parameters": [ + { + "name": "UuId", + "in": "path", + "description": "Server UuId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Filename", + "in": "path", + "description": "The icon filename", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/GameGenres/{Name}/Images/{Type}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getGamegenresByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headGamegenresByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Genres/{Name}/Images/{Type}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getGenresByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headGenresByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Images/General/{Name}/{Type}": { + "summary": "Gets a general image by name", + "get": { + "tags": [ + "ImageByNameService" + ], + "summary": "Gets a general image by name", + "description": "No authentication required", + "operationId": "getImagesGeneralByNameByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "The name of the image", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type (primary, backdrop, logo, etc).", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Images/Ratings/{Theme}/{Name}": { + "summary": "Gets a rating image by name", + "get": { + "tags": [ + "ImageByNameService" + ], + "summary": "Gets a rating image by name", + "description": "No authentication required", + "operationId": "getImagesRatingsByThemeByName", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "The name of the image", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Theme", + "in": "path", + "description": "The theme to get the image from", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Images/MediaInfo/{Theme}/{Name}": { + "summary": "Gets a media info image by name", + "get": { + "tags": [ + "ImageByNameService" + ], + "summary": "Gets a media info image by name", + "description": "No authentication required", + "operationId": "getImagesMediainfoByThemeByName", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "The name of the image", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Theme", + "in": "path", + "description": "The theme to get the image from", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Items/RemoteSearch/Apply/{Id}": { + "summary": "Applies search criteria to an item and refreshes metadata", + "post": { + "tags": [ + "ItemLookupService" + ], + "summary": "Applies search criteria to an item and refreshes metadata", + "description": "Requires authentication as administrator", + "operationId": "postItemsRemotesearchApplyById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "The item id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "ReplaceAllImages", + "in": "query", + "description": "Whether or not to replace all images", + "style": "form", + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "description": "RemoteSearchResult: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Items/{Id}/Images/{Type}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getItemsByIdImagesByType", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headItemsByIdImagesByType", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "post": { + "tags": [ + "ImageService" + ], + "description": "Requires authentication as administrator", + "operationId": "postItemsByIdImagesByType", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "description": "Binary stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "delete": { + "tags": [ + "ImageService" + ], + "description": "Requires authentication as administrator", + "operationId": "deleteItemsByIdImagesByType", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Items/{Id}/RemoteImages/Providers": { + "summary": "Gets available remote image providers for an item", + "get": { + "tags": [ + "RemoteImageService" + ], + "summary": "Gets available remote image providers for an item", + "description": "Requires authentication as user", + "operationId": "getItemsByIdRemoteimagesProviders", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a List object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageProviderInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageProviderInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/RemoteImages/Download": { + "summary": "Downloads a remote image for an item", + "post": { + "tags": [ + "RemoteImageService" + ], + "summary": "Downloads a remote image for an item", + "description": "Requires authentication as administrator", + "operationId": "postItemsByIdRemoteimagesDownload", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "query", + "description": "The image type", + "required": true, + "style": "form", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "ProviderName", + "in": "query", + "description": "The image provider", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ImageUrl", + "in": "query", + "description": "The image url", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Library/VirtualFolders/Paths/Update": { + "post": { + "tags": [ + "LibraryStructureService" + ], + "description": "Requires authentication as administrator", + "operationId": "postLibraryVirtualfoldersPathsUpdate", + "requestBody": { + "description": "UpdateMediaPath", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Library.UpdateMediaPath" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Library.UpdateMediaPath" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/LiveTv/LiveRecordings/{Id}/stream": { + "summary": "Gets a live tv channel", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets a live tv channel", + "description": "No authentication required", + "operationId": "getLivetvLiverecordingsByIdStream", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/LiveTv/LiveStreamFiles/{Id}/stream.{Container}": { + "summary": "Gets a live tv channel", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets a live tv channel", + "description": "No authentication required", + "operationId": "getLivetvLivestreamfilesByIdByContainer", + "parameters": [ + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/LiveTv/ListingProviders/SchedulesDirect/Countries": { + "summary": "Gets available lineups", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets available lineups", + "description": "Requires authentication as user", + "operationId": "getLivetvListingprovidersSchedulesdirectCountries", + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Recordings/Groups/{Id}": { + "summary": "Gets a recording group", + "get": { + "tags": [ + "LiveTvService" + ], + "summary": "Gets a recording group", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getLivetvRecordingsGroupsById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Recording group Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/LiveTv/Tuners/{Id}/Reset": { + "summary": "Resets a tv tuner", + "post": { + "tags": [ + "LiveTvService" + ], + "summary": "Resets a tv tuner", + "description": "Requires authentication as user", + "operationId": "postLivetvTunersByIdReset", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Tuner Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/MusicGenres/{Name}/Images/{Type}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getMusicgenresByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headMusicgenresByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Notification/SMTP/Test/{UserID}": { + "summary": "Tests SMTP", + "post": { + "tags": [ + "ServerApiEndpoints" + ], + "summary": "Tests SMTP", + "description": "No authentication required", + "operationId": "postNotificationSMTPTestByUserid", + "parameters": [ + { + "name": "UserID", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Persons/{Name}/Images/{Type}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getPersonsByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headPersonsByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Providers/Subtitles/Subtitles/{Id}": { + "get": { + "tags": [ + "SubtitleService" + ], + "description": "Requires authentication as user", + "operationId": "getProvidersSubtitlesSubtitlesById", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/{Id}/Playing/{Command}": { + "summary": "Issues a playstate command to a client", + "post": { + "tags": [ + "SessionsService" + ], + "summary": "Issues a playstate command to a client", + "description": "Requires authentication as user", + "operationId": "postSessionsByIdPlayingByCommand", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Session Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Command", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Stop", + "Pause", + "Unpause", + "NextTrack", + "PreviousTrack", + "Seek", + "Rewind", + "FastForward", + "PlayPause" + ], + "type": "string" + } + } + ], + "requestBody": { + "description": "PlaystateRequest: ", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlaystateRequest" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/PlaystateRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/{Id}/System/{Command}": { + "summary": "Issues a system command to a client", + "post": { + "tags": [ + "SessionsService" + ], + "summary": "Issues a system command to a client", + "description": "Requires authentication as user", + "operationId": "postSessionsByIdSystemByCommand", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Session Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Command", + "in": "path", + "description": "The command to send.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/{Id}/Command/{Command}": { + "summary": "Issues a system command to a client", + "post": { + "tags": [ + "SessionsService" + ], + "summary": "Issues a system command to a client", + "description": "Requires authentication as user", + "operationId": "postSessionsByIdCommandByCommand", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Session Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Command", + "in": "path", + "description": "The command to send.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sessions/{Id}/Users/{UserId}": { + "summary": "Adds an additional user to a session", + "post": { + "tags": [ + "SessionsService" + ], + "summary": "Adds an additional user to a session", + "description": "Requires authentication as user", + "operationId": "postSessionsByIdUsersByUserid", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Session Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "path", + "description": "UserId Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "SessionsService" + ], + "summary": "Removes an additional user from a session", + "description": "Requires authentication as user", + "operationId": "deleteSessionsByIdUsersByUserid", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Session Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "path", + "description": "UserId Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Studios/{Name}/Images/{Type}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getStudiosByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headStudiosByNameImagesByType", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Sync/JobItems/{Id}/Transferred": { + "summary": "Reports that a sync job item has successfully been transferred.", + "post": { + "tags": [ + "SyncService" + ], + "summary": "Reports that a sync job item has successfully been transferred.", + "description": "Requires authentication as user", + "operationId": "postSyncJobitemsByIdTransferred", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/JobItems/{Id}/File": { + "summary": "Gets a sync job item file", + "get": { + "tags": [ + "SyncService" + ], + "summary": "Gets a sync job item file", + "description": "Requires authentication as user", + "operationId": "getSyncJobitemsByIdFile", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/JobItems/{Id}/AdditionalFiles": { + "summary": "Gets a sync job item file", + "get": { + "tags": [ + "SyncService" + ], + "summary": "Gets a sync job item file", + "description": "Requires authentication as user", + "operationId": "getSyncJobitemsByIdAdditionalfiles", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Name", + "in": "query", + "description": "Name", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/JobItems/{Id}/Enable": { + "summary": "Enables a cancelled or queued sync job item", + "post": { + "tags": [ + "SyncService" + ], + "summary": "Enables a cancelled or queued sync job item", + "description": "Requires authentication as user", + "operationId": "postSyncJobitemsByIdEnable", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/JobItems/{Id}/MarkForRemoval": { + "summary": "Marks a job item for removal", + "post": { + "tags": [ + "SyncService" + ], + "summary": "Marks a job item for removal", + "description": "Requires authentication as user", + "operationId": "postSyncJobitemsByIdMarkforremoval", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Sync/JobItems/{Id}/UnmarkForRemoval": { + "summary": "Unmarks a job item for removal", + "post": { + "tags": [ + "SyncService" + ], + "summary": "Unmarks a job item for removal", + "description": "Requires authentication as user", + "operationId": "postSyncJobitemsByIdUnmarkforremoval", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/Items/Resume": { + "summary": "Gets items based on a query.", + "get": { + "tags": [ + "ItemsService" + ], + "summary": "Gets items based on a query.", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getUsersByUseridItemsResume", + "parameters": [ + { + "name": "ArtistType", + "in": "query", + "description": "Artist or AlbumArtist", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxOfficialRating", + "in": "query", + "description": "Optional filter by maximum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasThemeSong", + "in": "query", + "description": "Optional filter by items with theme songs.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasThemeVideo", + "in": "query", + "description": "Optional filter by items with theme videos.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSubtitles", + "in": "query", + "description": "Optional filter by items with subtitles.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasSpecialFeature", + "in": "query", + "description": "Optional filter by items with special features.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTrailer", + "in": "query", + "description": "Optional filter by items with trailers.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "AdjacentTo", + "in": "query", + "description": "Optional. Return items that are siblings of a supplied item.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinIndexNumber", + "in": "query", + "description": "Optional filter by minimum index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPlayers", + "in": "query", + "description": "Optional filter by minimum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxPlayers", + "in": "query", + "description": "Optional filter by maximum number of game players.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "ParentIndexNumber", + "in": "query", + "description": "Optional filter by parent index number.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "HasParentalRating", + "in": "query", + "description": "Optional filter by items that have or do not have a parental rating", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsHD", + "in": "query", + "description": "Optional filter by items that are HD or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "LocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeLocationTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsMissing", + "in": "query", + "description": "Optional filter by items that are missing episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsUnaired", + "in": "query", + "description": "Optional filter by items that are unaired episodes or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MinCommunityRating", + "in": "query", + "description": "Optional filter by minimum community rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "MinCriticRating", + "in": "query", + "description": "Optional filter by minimum critic rating.", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "AiredDuringSeason", + "in": "query", + "description": "Gets all episodes that aired during a season, including specials.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MinPremiereDate", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSaved", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MinDateLastSavedForUser", + "in": "query", + "description": "Optional. The minimum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "MaxPremiereDate", + "in": "query", + "description": "Optional. The maximum premiere date. Format = ISO", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "HasOverview", + "in": "query", + "description": "Optional filter by items that have an overview or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasImdbId", + "in": "query", + "description": "Optional filter by items that have an imdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTmdbId", + "in": "query", + "description": "Optional filter by items that have a tmdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasTvdbId", + "in": "query", + "description": "Optional filter by items that have a tvdb id or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ExcludeItemIds", + "in": "query", + "description": "Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StartIndex", + "in": "query", + "description": "Optional. The record index to start at. All items with a lower index will be dropped from the results.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Limit", + "in": "query", + "description": "Optional. The maximum number of records to return", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Recursive", + "in": "query", + "description": "When searching within folders, this determines whether or not the search will be recursive. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "SortOrder", + "in": "query", + "description": "Sort Order - Ascending,Descending", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ExcludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AnyProviderIdEquals", + "in": "query", + "description": "Optional. If specified, result will be filtered to contain only items which match at least one of the specified IDs. Each provider ID must be in the form 'prov.id', e.g. 'imdb.tt123456'. This allows multiple, comma delimeted value pairs.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Filters", + "in": "query", + "description": "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFavorite", + "in": "query", + "description": "Optional filter by items that are marked as favorite, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsMovie", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSeries", + "in": "query", + "description": "Optional filter for movies.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsNews", + "in": "query", + "description": "Optional filter for news.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsKids", + "in": "query", + "description": "Optional filter for kids.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsSports", + "in": "query", + "description": "Optional filter for sports.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "MediaTypes", + "in": "query", + "description": "Optional filter by MediaType. Allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ImageTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SortBy", + "in": "query", + "description": "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Optional filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "Genres", + "in": "query", + "description": "Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "OfficialRatings", + "in": "query", + "description": "Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Tags", + "in": "query", + "description": "Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Years", + "in": "query", + "description": "Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Person", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonIds", + "in": "query", + "description": "Optional. If specified, results will be filtered to include only those containing the specified person.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PersonTypes", + "in": "query", + "description": "Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Studios", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "StudioIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Artists", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "ArtistIds", + "in": "query", + "description": "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Albums", + "in": "query", + "description": "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Ids", + "in": "query", + "description": "Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoTypes", + "in": "query", + "description": "Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Containers", + "in": "query", + "description": "Optional filter by Container. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodecs", + "in": "query", + "description": "Optional filter by AudioCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "VideoCodecs", + "in": "query", + "description": "Optional filter by VideoCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleCodecs", + "in": "query", + "description": "Optional filter by SubtitleCodec. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "Path", + "in": "query", + "description": "Optional filter by Path.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "MinOfficialRating", + "in": "query", + "description": "Optional filter by minimum official rating (PG, PG-13, TV-MA, etc).", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "IsLocked", + "in": "query", + "description": "Optional filter by items that are locked.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlaceHolder", + "in": "query", + "description": "Optional filter by items that are placeholders", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "HasOfficialRating", + "in": "query", + "description": "Optional filter by items that have official ratings", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItemsIntoCollections", + "in": "query", + "description": "Whether or not to hide items behind their boxsets.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Is3D", + "in": "query", + "description": "Optional filter by items that are 3D, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "SeriesStatus", + "in": "query", + "description": "Optional filter by Series Status. Allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWithOrGreater", + "in": "query", + "description": "Optional filter by items whose name is sorted equally or greater than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameStartsWith", + "in": "query", + "description": "Optional filter by items whose name is sorted equally than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NameLessThan", + "in": "query", + "description": "Optional filter by items whose name is equally or lesser than a given input string.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/Items/Latest": { + "summary": "Gets latest media", + "get": { + "tags": [ + "UserLibraryService" + ], + "summary": "Gets latest media", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Latest Items", + "url": "https://github.com/MediaBrowser/Emby/wiki/Latest-Items" + }, + "operationId": "getUsersByUseridItemsLatest", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Limit", + "in": "query", + "description": "Limit", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "ParentId", + "in": "query", + "description": "Specify this to localize the search to a specific item or folder. Omit to use the root", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Fields", + "in": "query", + "description": "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, SortName, Studios, Taglines", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IncludeItemTypes", + "in": "query", + "description": "Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted.", + "style": "form", + "explode": true, + "schema": { + "type": "string" + } + }, + { + "name": "IsFolder", + "in": "query", + "description": "Filter by items that are folders, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsPlayed", + "in": "query", + "description": "Filter by items that are played, or not.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "GroupItems", + "in": "query", + "description": "Whether or not to group items into a parent container.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "EnableImages", + "in": "query", + "description": "Optional, include image information in output", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "ImageTypeLimit", + "in": "query", + "description": "Optional, the max number of images to return, per image type", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "EnableImageTypes", + "in": "query", + "description": "Optional. The image types to include in the output.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableUserData", + "in": "query", + "description": "Optional, include user data", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/Items/{Id}": { + "summary": "Gets an item from a user's library", + "get": { + "tags": [ + "UserLibraryService" + ], + "summary": "Gets an item from a user's library", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getUsersByUseridItemsById", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/Items/Root": { + "summary": "Gets the root folder from a user's library", + "get": { + "tags": [ + "UserLibraryService" + ], + "summary": "Gets the root folder from a user's library", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getUsersByUseridItemsRoot", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/FavoriteItems/{Id}": { + "summary": "Marks an item as a favorite", + "post": { + "tags": [ + "UserLibraryService" + ], + "summary": "Marks an item as a favorite", + "description": "Requires authentication as user", + "operationId": "postUsersByUseridFavoriteitemsById", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a UserItemDataDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "UserLibraryService" + ], + "summary": "Unmarks an item as a favorite", + "description": "Requires authentication as user", + "operationId": "deleteUsersByUseridFavoriteitemsById", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a UserItemDataDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{Id}/Images/{Type}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "externalDocs": { + "description": "API Documentation: Authentication", + "url": "https://github.com/MediaBrowser/Emby/wiki/User-Authentication" + }, + "operationId": "getUsersByIdImagesByType", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headUsersByIdImagesByType", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "post": { + "tags": [ + "ImageService" + ], + "description": "Requires authentication as user", + "operationId": "postUsersByIdImagesByType", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "description": "Binary stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "ImageService" + ], + "description": "Requires authentication as user", + "operationId": "deleteUsersByIdImagesByType", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "query", + "description": "Image Index", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/PlayedItems/{Id}": { + "summary": "Marks an item as played", + "post": { + "tags": [ + "PlaystateService" + ], + "summary": "Marks an item as played", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Playback Check ins", + "url": "https://github.com/MediaBrowser/Emby/wiki/Playback-Check-ins" + }, + "operationId": "postUsersByUseridPlayeditemsById", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DatePlayed", + "in": "query", + "description": "The date the item was played (if any). Format = yyyyMMddHHmmss", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a UserItemDataDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "PlaystateService" + ], + "summary": "Marks an item as unplayed", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Playback Check ins", + "url": "https://github.com/MediaBrowser/Emby/wiki/Playback-Check-ins" + }, + "operationId": "deleteUsersByUseridPlayeditemsById", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a UserItemDataDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/PlayingItems/{Id}": { + "summary": "Reports that a user has begun playing an item", + "post": { + "tags": [ + "PlaystateService" + ], + "summary": "Reports that a user has begun playing an item", + "description": "Requires authentication as user", + "operationId": "postUsersByUseridPlayingitemsById", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MediaSourceId", + "in": "query", + "description": "The id of the MediaSource", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CanSeek", + "in": "query", + "description": "Indicates if the client can seek", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "PlayMethod", + "in": "query", + "style": "form", + "schema": { + "enum": [ + "Transcode", + "DirectStream", + "DirectPlay" + ], + "type": "string" + } + }, + { + "name": "LiveStreamId", + "in": "query", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PlaySessionId", + "in": "query", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "PlaystateService" + ], + "summary": "Reports that a user has stopped playing an item", + "description": "Requires authentication as user", + "operationId": "deleteUsersByUseridPlayingitemsById", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MediaSourceId", + "in": "query", + "description": "The id of the MediaSource", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "NextMediaType", + "in": "query", + "description": "The next media type that will play", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PositionTicks", + "in": "query", + "description": "Optional. The position, in ticks, where playback stopped. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "LiveStreamId", + "in": "query", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PlaySessionId", + "in": "query", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{Id}/Connect/Link": { + "summary": "Creates a Connect link for a user", + "post": { + "tags": [ + "ConnectService" + ], + "summary": "Creates a Connect link for a user", + "description": "Requires authentication as administrator", + "operationId": "postUsersByIdConnectLink", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "ConnectUsername", + "in": "query", + "description": "Connect username", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a UserLinkResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Connect.UserLinkResult" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/Connect.UserLinkResult" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "delete": { + "tags": [ + "ConnectService" + ], + "summary": "Removes a Connect link for a user", + "description": "Requires authentication as administrator", + "operationId": "deleteUsersByIdConnectLink", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/user_usage_stats/user_manage/{Action}/{Id}": { + "summary": "Get users", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Get users", + "description": "No authentication required", + "operationId": "getUserUsageStatsUserManageByActionById", + "parameters": [ + { + "name": "Action", + "in": "path", + "description": "action to perform", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "user Id to perform the action on", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/user_usage_stats/{UserID}/{Date}/GetItems": { + "summary": "Gets activity for {USER} for {Date} formatted as yyyy-MM-dd", + "get": { + "tags": [ + "UserActivityAPI" + ], + "summary": "Gets activity for {USER} for {Date} formatted as yyyy-MM-dd", + "description": "No authentication required", + "operationId": "getUserUsageStatsByUseridByDateGetitems", + "parameters": [ + { + "name": "UserID", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Date", + "in": "path", + "description": "UTC DateTime, Format yyyy-MM-dd", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Filter", + "in": "query", + "description": "Comma separated list of media types to filter (movies,series)", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a Object object.", + "content": { + "application/json": { + "schema": { + "type": "object" + } + }, + "application/xml": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Videos/{Id}/Subtitles/{Index}": { + "summary": "Deletes an external subtitle file", + "delete": { + "tags": [ + "SubtitleService" + ], + "summary": "Deletes an external subtitle file", + "description": "Requires authentication as user", + "operationId": "deleteVideosByIdSubtitlesByIndex", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "The subtitle stream index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Artists/{Name}/Images/{Type}/{Index}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getArtistsByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headArtistsByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Audio/{Id}/hls1/{PlaylistId}/{SegmentId}.{SegmentContainer}": { + "get": { + "tags": [ + "DynamicHlsService" + ], + "description": "No authentication required", + "operationId": "getAudioByIdHls1ByPlaylistidBySegmentidBySegmentcontainer", + "parameters": [ + { + "name": "PlaylistId", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "SegmentId", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "SegmentContainer", + "in": "path", + "description": "SegmentContainer", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "DynamicHlsService" + ], + "description": "No authentication required", + "operationId": "headAudioByIdHls1ByPlaylistidBySegmentidBySegmentcontainer", + "parameters": [ + { + "name": "PlaylistId", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "SegmentId", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "SegmentContainer", + "in": "path", + "description": "SegmentContainer", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/GameGenres/{Name}/Images/{Type}/{Index}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getGamegenresByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headGamegenresByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Genres/{Name}/Images/{Type}/{Index}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getGenresByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headGenresByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Items/{Id}/RemoteSearch/Subtitles/{Language}": { + "get": { + "tags": [ + "SubtitleService" + ], + "description": "Requires authentication as user", + "operationId": "getItemsByIdRemotesearchSubtitlesByLanguage", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Language", + "in": "path", + "description": "Language", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "IsPerfectMatch", + "in": "query", + "description": "IsPerfectMatch", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "IsForced", + "in": "query", + "description": "IsForced", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a RemoteSubtitleInfo[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSubtitleInfo" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSubtitleInfo" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/RemoteSearch/Subtitles/{SubtitleId}": { + "post": { + "tags": [ + "SubtitleService" + ], + "description": "Requires authentication as user", + "operationId": "postItemsByIdRemotesearchSubtitlesBySubtitleid", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "SubtitleId", + "in": "path", + "description": "SubtitleId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Items/{Id}/Images/{Type}/{Index}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getItemsByIdImagesByTypeByIndex", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headItemsByIdImagesByTypeByIndex", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "post": { + "tags": [ + "ImageService" + ], + "description": "Requires authentication as administrator", + "operationId": "postItemsByIdImagesByTypeByIndex", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "description": "Binary stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + }, + "delete": { + "tags": [ + "ImageService" + ], + "description": "Requires authentication as administrator", + "operationId": "deleteItemsByIdImagesByTypeByIndex", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/MusicGenres/{Name}/Images/{Type}/{Index}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getMusicgenresByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headMusicgenresByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Persons/{Name}/Images/{Type}/{Index}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getPersonsByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headPersonsByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Studios/{Name}/Images/{Type}/{Index}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getStudiosByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headStudiosByNameImagesByTypeByIndex", + "parameters": [ + { + "name": "Name", + "in": "path", + "description": "Item name", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Users/{UserId}/Items/{Id}/SpecialFeatures": { + "summary": "Gets special features for an item", + "get": { + "tags": [ + "UserLibraryService" + ], + "summary": "Gets special features for an item", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getUsersByUseridItemsByIdSpecialfeatures", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Movie Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/Items/{Id}/LocalTrailers": { + "summary": "Gets local trailers for an item", + "get": { + "tags": [ + "UserLibraryService" + ], + "summary": "Gets local trailers for an item", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getUsersByUseridItemsByIdLocaltrailers", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a BaseItemDto[] object.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + }, + "application/xml": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/Items/{Id}/Intros": { + "summary": "Gets intros to play before the main media item plays", + "get": { + "tags": [ + "UserLibraryService" + ], + "summary": "Gets intros to play before the main media item plays", + "description": "Requires authentication as user", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + }, + "operationId": "getUsersByUseridItemsByIdIntros", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a QueryResult object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/QueryResult_BaseItemDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/Items/{Id}/Rating": { + "summary": "Deletes a user's saved personal rating for an item", + "delete": { + "tags": [ + "UserLibraryService" + ], + "summary": "Deletes a user's saved personal rating for an item", + "description": "Requires authentication as user", + "operationId": "deleteUsersByUseridItemsByIdRating", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a UserItemDataDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "post": { + "tags": [ + "UserLibraryService" + ], + "summary": "Updates a user's rating for an item", + "description": "Requires authentication as user", + "operationId": "postUsersByUseridItemsByIdRating", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "guid" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Likes", + "in": "query", + "description": "Whether the user likes the item or not. true/false", + "required": true, + "style": "form", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Returning a UserItemDataDto object.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + }, + "application/xml": { + "schema": { + "$ref": "#/components/schemas/UserItemDataDto" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{Id}/Images/{Type}/{Index}": { + "get": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "getUsersByIdImagesByTypeByIndex", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "ImageService" + ], + "description": "No authentication required", + "operationId": "headUsersByIdImagesByTypeByIndex", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "The maximum image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "The maximum image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "The fixed image width to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "The fixed image height to return.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Quality", + "in": "query", + "description": "Optional quality setting, from 0-100. Defaults to 90 and should suffice in most cases.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Tag", + "in": "query", + "description": "Optional. Supply the cache tag from the item object to receive strong caching headers.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "CropWhitespace", + "in": "query", + "description": "Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art.", + "style": "form", + "schema": { + "type": "boolean", + "nullable": true + } + }, + { + "name": "EnableImageEnhancers", + "in": "query", + "description": "Enable or disable image enhancers such as cover art.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Format", + "in": "query", + "description": "Determines the output foramt of the image - original,gif,jpg,png", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AddPlayedIndicator", + "in": "query", + "description": "Optional. Add a played indicator", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "PercentPlayed", + "in": "query", + "description": "Optional percent to render for the percent played overlay", + "style": "form", + "schema": { + "type": "number", + "format": "double", + "nullable": true + } + }, + { + "name": "UnplayedCount", + "in": "query", + "description": "Optional unplayed count overlay to render", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "BackgroundColor", + "in": "query", + "description": "Optional. Apply a background color for transparent images.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "ForegroundLayer", + "in": "query", + "description": "Optional. Apply a foreground layer on top of the image.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "post": { + "tags": [ + "ImageService" + ], + "description": "Requires authentication as user", + "operationId": "postUsersByIdImagesByTypeByIndex", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "description": "Binary stream", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + }, + "delete": { + "tags": [ + "ImageService" + ], + "description": "Requires authentication as user", + "operationId": "deleteUsersByIdImagesByTypeByIndex", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Users/{UserId}/PlayingItems/{Id}/Progress": { + "summary": "Reports a user's playback progress", + "post": { + "tags": [ + "PlaystateService" + ], + "summary": "Reports a user's playback progress", + "description": "Requires authentication as user", + "operationId": "postUsersByUseridPlayingitemsByIdProgress", + "parameters": [ + { + "name": "UserId", + "in": "path", + "description": "User Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MediaSourceId", + "in": "query", + "description": "The id of the MediaSource", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PositionTicks", + "in": "query", + "description": "Optional. The current position, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "IsPaused", + "in": "query", + "description": "Indicates if the player is paused.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "IsMuted", + "in": "query", + "description": "Indicates if the player is muted.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VolumeLevel", + "in": "query", + "description": "Scale of 0-100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "PlayMethod", + "in": "query", + "style": "form", + "schema": { + "enum": [ + "Transcode", + "DirectStream", + "DirectPlay" + ], + "type": "string" + } + }, + { + "name": "LiveStreamId", + "in": "query", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "PlaySessionId", + "in": "query", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "RepeatMode", + "in": "query", + "style": "form", + "schema": { + "enum": [ + "RepeatNone", + "RepeatAll", + "RepeatOne" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Videos/{Id}/hls1/{PlaylistId}/{SegmentId}.{SegmentContainer}": { + "get": { + "tags": [ + "DynamicHlsService" + ], + "description": "No authentication required", + "operationId": "getVideosByIdHls1ByPlaylistidBySegmentidBySegmentcontainer", + "parameters": [ + { + "name": "PlaylistId", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "SegmentId", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "SegmentContainer", + "in": "path", + "description": "SegmentContainer", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + }, + "head": { + "tags": [ + "DynamicHlsService" + ], + "description": "No authentication required", + "operationId": "headVideosByIdHls1ByPlaylistidBySegmentidBySegmentcontainer", + "parameters": [ + { + "name": "PlaylistId", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "SegmentId", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "SegmentContainer", + "in": "path", + "description": "SegmentContainer", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Videos/{Id}/hls/{PlaylistId}/{SegmentId}.{SegmentContainer}": { + "get": { + "tags": [ + "HlsSegmentService" + ], + "description": "No authentication required", + "operationId": "getVideosByIdHlsByPlaylistidBySegmentidBySegmentcontainer", + "parameters": [ + { + "name": "PlaylistId", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "SegmentId", + "in": "path", + "description": "SegmentId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceProfileId", + "in": "query", + "description": "Optional. The dlna device profile id to utilize.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "SegmentContainer", + "in": "path", + "description": "SegmentContainer", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "DeviceId", + "in": "query", + "description": "The device id of the client requesting. Used to stop encoding processes when needed.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Container", + "in": "query", + "description": "Container", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioCodec", + "in": "query", + "description": "Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "EnableAutoStreamCopy", + "in": "query", + "description": "Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "AudioSampleRate", + "in": "query", + "description": "Optional. Specify a specific audio sample rate, e.g. 44100", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioBitRate", + "in": "query", + "description": "Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "AudioChannels", + "in": "query", + "description": "Optional. Specify a specific number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxAudioChannels", + "in": "query", + "description": "Optional. Specify a maximum number of audio channels to encode to, e.g. 2", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Static", + "in": "query", + "description": "Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "Profile", + "in": "query", + "description": "Optional. Specify a specific h264 profile, e.g. main, baseline, high.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Level", + "in": "query", + "description": "Optional. Specify a level for the h264 profile, e.g. 3, 3.1.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "Framerate", + "in": "query", + "description": "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "MaxFramerate", + "in": "query", + "description": "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", + "style": "form", + "schema": { + "type": "number", + "format": "float", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "Whether or not to copy timestamps when transcoding with an offset. Defaults to false.", + "style": "form", + "schema": { + "type": "boolean" + } + }, + { + "name": "StartTimeTicks", + "in": "query", + "description": "Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "Width", + "in": "query", + "description": "Optional. The fixed horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "Height", + "in": "query", + "description": "Optional. The fixed vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxWidth", + "in": "query", + "description": "Optional. The maximum horizontal resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxHeight", + "in": "query", + "description": "Optional. The maximum vertical resolution of the encoded video.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoBitRate", + "in": "query", + "description": "Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleStreamIndex", + "in": "query", + "description": "Optional. The index of the subtitle stream to use. If omitted no subtitles will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "SubtitleMethod", + "in": "query", + "description": "Optional. Specify the subtitle delivery method.", + "style": "form", + "schema": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + } + }, + { + "name": "MaxRefFrames", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "MaxVideoBitDepth", + "in": "query", + "description": "Optional.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoCodec", + "in": "query", + "description": "Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h264, mpeg4, theora, vpx, wmv.", + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "AudioStreamIndex", + "in": "query", + "description": "Optional. The index of the audio stream to use. If omitted the first audio stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + { + "name": "VideoStreamIndex", + "in": "query", + "description": "Optional. The index of the video stream to use. If omitted the first video stream will be used.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Items/{Id}/Images/{Type}/{Index}/Index": { + "summary": "Updates the index for an item image", + "post": { + "tags": [ + "ImageService" + ], + "summary": "Updates the index for an item image", + "description": "Requires authentication as administrator", + "operationId": "postItemsByIdImagesByTypeByIndexIndex", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Type", + "in": "path", + "description": "Image Type", + "required": true, + "style": "simple", + "schema": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "Image Index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "NewIndex", + "in": "query", + "description": "The new image index", + "required": true, + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as administrator" + } + }, + "/Playlists/{Id}/Items/{ItemId}/Move/{NewIndex}": { + "summary": "Moves a playlist item", + "post": { + "tags": [ + "PlaylistService" + ], + "summary": "Moves a playlist item", + "description": "Requires authentication as user", + "operationId": "postPlaylistsByIdItemsByItemidMoveByNewindex", + "parameters": [ + { + "name": "ItemId", + "in": "path", + "description": "ItemId", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "Id", + "in": "path", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "NewIndex", + "in": "path", + "description": "NewIndex", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Empty response." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "security": [ + { + "apikeyauth": [ ] + }, + { + "embyauth": [ ] + } + ], + "x-RequiredAuthentication": "Requires authentication as user" + } + }, + "/Videos/{Id}/{MediaSourceId}/Subtitles/{Index}/Stream.{Format}": { + "summary": "Gets subtitles in a specified format.", + "get": { + "tags": [ + "SubtitleService" + ], + "summary": "Gets subtitles in a specified format.", + "description": "No authentication required", + "operationId": "getVideosByIdByMediasourceidSubtitlesByIndexByFormat", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MediaSourceId", + "in": "path", + "description": "MediaSourceId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "The subtitle stream index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "Format", + "in": "path", + "description": "Format", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "StartPositionTicks", + "in": "query", + "description": "StartPositionTicks", + "style": "form", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "EndPositionTicks", + "in": "query", + "description": "EndPositionTicks", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "CopyTimestamps", + "style": "form", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + }, + "/Videos/{Id}/{MediaSourceId}/Subtitles/{Index}/{StartPositionTicks}/Stream.{Format}": { + "summary": "Gets subtitles in a specified format.", + "get": { + "tags": [ + "SubtitleService" + ], + "summary": "Gets subtitles in a specified format.", + "description": "No authentication required", + "operationId": "getVideosByIdByMediasourceidSubtitlesByIndexByStartpositionticksByFormat", + "parameters": [ + { + "name": "Id", + "in": "path", + "description": "Item Id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "MediaSourceId", + "in": "path", + "description": "MediaSourceId", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "Index", + "in": "path", + "description": "The subtitle stream index", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "Format", + "in": "path", + "description": "Format", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "StartPositionTicks", + "in": "path", + "description": "StartPositionTicks", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "EndPositionTicks", + "in": "query", + "description": "EndPositionTicks", + "style": "form", + "schema": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + { + "name": "CopyTimestamps", + "in": "query", + "description": "CopyTimestamps", + "style": "form", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Operation successful. Response content unknown." + }, + "400": { + "$ref": "#/components/responses/400" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "5XX": { + "$ref": "#/components/responses/5XX" + } + }, + "x-RequiredAuthentication": "No authentication required" + } + } + }, + "components": { + "schemas": { + "QueryResult_BaseItemDto": { + "type": "object", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "BaseItemDto": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "OriginalTitle": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Etag": { + "type": "string" + }, + "PlaylistItemId": { + "type": "string" + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ExtraType": { + "type": "string" + }, + "AirsBeforeSeasonNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "AirsAfterSeasonNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "AirsBeforeEpisodeNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "DisplaySpecialsWithSeasons": { + "type": "boolean", + "nullable": true + }, + "CanDelete": { + "type": "boolean", + "nullable": true + }, + "CanDownload": { + "type": "boolean", + "nullable": true + }, + "HasSubtitles": { + "type": "boolean", + "nullable": true + }, + "SupportsResume": { + "type": "boolean", + "nullable": true + }, + "PreferredMetadataLanguage": { + "type": "string" + }, + "PreferredMetadataCountryCode": { + "type": "string" + }, + "SupportsSync": { + "type": "boolean", + "nullable": true + }, + "Container": { + "type": "string" + }, + "SortName": { + "type": "string" + }, + "ForcedSortName": { + "type": "string" + }, + "Video3DFormat": { + "enum": [ + "HalfSideBySide", + "FullSideBySide", + "FullTopAndBottom", + "HalfTopAndBottom", + "MVC" + ], + "type": "string" + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ExternalUrls": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExternalUrl" + } + }, + "MediaSources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaSourceInfo" + } + }, + "CriticRating": { + "type": "number", + "format": "float", + "nullable": true + }, + "GameSystemId": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "GameSystem": { + "type": "string" + }, + "ProductionLocations": { + "type": "array", + "items": { + "type": "string" + } + }, + "Path": { + "type": "string" + }, + "OfficialRating": { + "type": "string" + }, + "CustomRating": { + "type": "string" + }, + "ChannelId": { + "type": "string" + }, + "ChannelName": { + "type": "string" + }, + "Overview": { + "type": "string" + }, + "Taglines": { + "type": "array", + "items": { + "type": "string" + } + }, + "Genres": { + "type": "array", + "items": { + "type": "string" + } + }, + "CommunityRating": { + "type": "number", + "format": "float", + "nullable": true + }, + "RunTimeTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "PlayAccess": { + "enum": [ + "Full", + "None" + ], + "type": "string" + }, + "AspectRatio": { + "type": "string" + }, + "ProductionYear": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Number": { + "type": "string" + }, + "ChannelNumber": { + "type": "string" + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumberEnd": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "RemoteTrailers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaUrl" + } + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "IsFolder": { + "type": "boolean", + "nullable": true + }, + "ParentId": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "People": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemPerson" + } + }, + "Studios": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameLongIdPair" + } + }, + "GenreItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameLongIdPair" + } + }, + "ParentLogoItemId": { + "type": "string" + }, + "ParentBackdropItemId": { + "type": "string" + }, + "ParentBackdropImageTags": { + "type": "array", + "items": { + "type": "string" + } + }, + "LocalTrailerCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "UserData": { + "$ref": "#/components/schemas/UserItemDataDto" + }, + "RecursiveItemCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ChildCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SeriesName": { + "type": "string" + }, + "SeriesId": { + "type": "string" + }, + "SeasonId": { + "type": "string" + }, + "SpecialFeatureCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "DisplayPreferencesId": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "AirTime": { + "type": "string" + }, + "AirDays": { + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string" + } + }, + "Tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "PrimaryImageAspectRatio": { + "type": "number", + "format": "double", + "nullable": true + }, + "Artists": { + "type": "array", + "items": { + "type": "string" + } + }, + "ArtistItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameIdPair" + } + }, + "Album": { + "type": "string" + }, + "CollectionType": { + "type": "string" + }, + "DisplayOrder": { + "type": "string" + }, + "AlbumId": { + "type": "string" + }, + "AlbumPrimaryImageTag": { + "type": "string" + }, + "SeriesPrimaryImageTag": { + "type": "string" + }, + "AlbumArtist": { + "type": "string" + }, + "AlbumArtists": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameIdPair" + } + }, + "SeasonName": { + "type": "string" + }, + "MediaStreams": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaStream" + } + }, + "PartCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ImageTags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "BackdropImageTags": { + "type": "array", + "items": { + "type": "string" + } + }, + "ParentLogoImageTag": { + "type": "string" + }, + "ParentArtItemId": { + "type": "string" + }, + "ParentArtImageTag": { + "type": "string" + }, + "SeriesThumbImageTag": { + "type": "string" + }, + "SeriesStudio": { + "type": "string" + }, + "ParentThumbItemId": { + "type": "string" + }, + "ParentThumbImageTag": { + "type": "string" + }, + "ParentPrimaryImageItemId": { + "type": "string" + }, + "ParentPrimaryImageTag": { + "type": "string" + }, + "Chapters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChapterInfo" + } + }, + "LocationType": { + "enum": [ + "FileSystem", + "Virtual" + ], + "type": "string" + }, + "MediaType": { + "type": "string" + }, + "EndDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "LockedFields": { + "type": "array", + "items": { + "enum": [ + "Cast", + "Genres", + "ProductionLocations", + "Studios", + "Tags", + "Name", + "Overview", + "Runtime", + "OfficialRating" + ], + "type": "string" + } + }, + "LockData": { + "type": "boolean", + "nullable": true + }, + "Width": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Height": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "CameraMake": { + "type": "string" + }, + "CameraModel": { + "type": "string" + }, + "Software": { + "type": "string" + }, + "ExposureTime": { + "type": "number", + "format": "double", + "nullable": true + }, + "FocalLength": { + "type": "number", + "format": "double", + "nullable": true + }, + "ImageOrientation": { + "enum": [ + "TopLeft", + "TopRight", + "BottomRight", + "BottomLeft", + "LeftTop", + "RightTop", + "RightBottom", + "LeftBottom" + ], + "type": "string" + }, + "Aperture": { + "type": "number", + "format": "double", + "nullable": true + }, + "ShutterSpeed": { + "type": "number", + "format": "double", + "nullable": true + }, + "Latitude": { + "type": "number", + "format": "double", + "nullable": true + }, + "Longitude": { + "type": "number", + "format": "double", + "nullable": true + }, + "Altitude": { + "type": "number", + "format": "double", + "nullable": true + }, + "IsoSpeedRating": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SeriesTimerId": { + "type": "string" + }, + "ChannelPrimaryImageTag": { + "type": "string" + }, + "StartDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "CompletionPercentage": { + "type": "number", + "format": "double", + "nullable": true + }, + "IsRepeat": { + "type": "boolean", + "nullable": true + }, + "IsNew": { + "type": "boolean", + "nullable": true + }, + "EpisodeTitle": { + "type": "string" + }, + "IsMovie": { + "type": "boolean", + "nullable": true + }, + "IsSports": { + "type": "boolean", + "nullable": true + }, + "IsSeries": { + "type": "boolean", + "nullable": true + }, + "IsLive": { + "type": "boolean", + "nullable": true + }, + "IsNews": { + "type": "boolean", + "nullable": true + }, + "IsKids": { + "type": "boolean", + "nullable": true + }, + "IsPremiere": { + "type": "boolean", + "nullable": true + }, + "TimerId": { + "type": "string" + }, + "CurrentProgram": { + "$ref": "#/components/schemas/BaseItemDto" + }, + "MovieCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SeriesCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "AlbumCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SongCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MusicVideoCount": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + }, + "ExternalUrl": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Url": { + "type": "string" + } + } + }, + "MediaSourceInfo": { + "type": "object", + "properties": { + "Protocol": { + "enum": [ + "File", + "Http", + "Rtmp", + "Rtsp", + "Udp", + "Rtp", + "Ftp", + "Mms" + ], + "type": "string" + }, + "Id": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "EncoderPath": { + "type": "string" + }, + "EncoderProtocol": { + "enum": [ + "File", + "Http", + "Rtmp", + "Rtsp", + "Udp", + "Rtp", + "Ftp", + "Mms" + ], + "type": "string" + }, + "Type": { + "enum": [ + "Default", + "Grouping", + "Placeholder" + ], + "type": "string" + }, + "Container": { + "type": "string" + }, + "Size": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "Name": { + "type": "string" + }, + "IsRemote": { + "type": "boolean" + }, + "RunTimeTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "SupportsTranscoding": { + "type": "boolean" + }, + "SupportsDirectStream": { + "type": "boolean" + }, + "SupportsDirectPlay": { + "type": "boolean" + }, + "IsInfiniteStream": { + "type": "boolean" + }, + "RequiresOpening": { + "type": "boolean" + }, + "OpenToken": { + "type": "string" + }, + "RequiresClosing": { + "type": "boolean" + }, + "LiveStreamId": { + "type": "string" + }, + "BufferMs": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "RequiresLooping": { + "type": "boolean" + }, + "SupportsProbing": { + "type": "boolean" + }, + "Video3DFormat": { + "enum": [ + "HalfSideBySide", + "FullSideBySide", + "FullTopAndBottom", + "HalfTopAndBottom", + "MVC" + ], + "type": "string" + }, + "MediaStreams": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaStream" + } + }, + "Formats": { + "type": "array", + "items": { + "type": "string" + } + }, + "Bitrate": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Timestamp": { + "enum": [ + "None", + "Zero", + "Valid" + ], + "type": "string" + }, + "RequiredHttpHeaders": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "TranscodingUrl": { + "type": "string" + }, + "TranscodingSubProtocol": { + "type": "string" + }, + "TranscodingContainer": { + "type": "string" + }, + "AnalyzeDurationMs": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ReadAtNativeFramerate": { + "type": "boolean" + }, + "DefaultAudioStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "DefaultSubtitleStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + }, + "MediaStream": { + "type": "object", + "properties": { + "Codec": { + "type": "string" + }, + "CodecTag": { + "type": "string" + }, + "Language": { + "type": "string" + }, + "ColorTransfer": { + "type": "string" + }, + "ColorPrimaries": { + "type": "string" + }, + "ColorSpace": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "TimeBase": { + "type": "string" + }, + "CodecTimeBase": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Extradata": { + "type": "string" + }, + "VideoRange": { + "type": "string" + }, + "DisplayTitle": { + "type": "string" + }, + "DisplayLanguage": { + "type": "string" + }, + "NalLengthSize": { + "type": "string" + }, + "IsInterlaced": { + "type": "boolean" + }, + "IsAVC": { + "type": "boolean", + "nullable": true + }, + "ChannelLayout": { + "type": "string" + }, + "BitRate": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "BitDepth": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "RefFrames": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PacketLength": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Channels": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SampleRate": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IsDefault": { + "type": "boolean" + }, + "IsForced": { + "type": "boolean" + }, + "Height": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Width": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "AverageFrameRate": { + "type": "number", + "format": "float", + "nullable": true + }, + "RealFrameRate": { + "type": "number", + "format": "float", + "nullable": true + }, + "Profile": { + "type": "string" + }, + "Type": { + "enum": [ + "Audio", + "Video", + "Subtitle", + "EmbeddedImage" + ], + "type": "string" + }, + "AspectRatio": { + "type": "string" + }, + "Index": { + "type": "integer", + "format": "int32" + }, + "Score": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IsExternal": { + "type": "boolean" + }, + "DeliveryMethod": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + }, + "DeliveryUrl": { + "type": "string" + }, + "IsExternalUrl": { + "type": "boolean", + "nullable": true + }, + "IsTextSubtitleStream": { + "type": "boolean" + }, + "SupportsExternalStream": { + "type": "boolean" + }, + "Path": { + "type": "string" + }, + "PixelFormat": { + "type": "string" + }, + "Level": { + "type": "number", + "format": "double", + "nullable": true + }, + "IsAnamorphic": { + "type": "boolean", + "nullable": true + } + } + }, + "MediaUrl": { + "type": "object", + "properties": { + "Url": { + "type": "string" + }, + "Name": { + "type": "string" + } + } + }, + "BaseItemPerson": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "Type": { + "enum": [ + "Actor", + "Director", + "Writer", + "Producer", + "GuestStar", + "Composer", + "Conductor", + "Lyricist" + ], + "type": "string" + }, + "PrimaryImageTag": { + "type": "string" + } + } + }, + "NameLongIdPair": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Id": { + "type": "integer", + "format": "int64" + } + } + }, + "UserItemDataDto": { + "type": "object", + "properties": { + "Rating": { + "type": "number", + "format": "double", + "nullable": true + }, + "PlayedPercentage": { + "type": "number", + "format": "double", + "nullable": true + }, + "UnplayedItemCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PlaybackPositionTicks": { + "type": "integer", + "format": "int64" + }, + "PlayCount": { + "type": "integer", + "format": "int32" + }, + "IsFavorite": { + "type": "boolean" + }, + "Likes": { + "type": "boolean", + "nullable": true + }, + "LastPlayedDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "Played": { + "type": "boolean" + }, + "Key": { + "type": "string" + }, + "ItemId": { + "type": "string" + } + } + }, + "NameIdPair": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Id": { + "type": "string" + } + } + }, + "ChapterInfo": { + "type": "object", + "properties": { + "StartPositionTicks": { + "type": "integer", + "format": "int64" + }, + "Name": { + "type": "string" + }, + "ImageTag": { + "type": "string" + } + } + }, + "QueryResult_UserLibrary.TagItem": { + "type": "object", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserLibrary.TagItem" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "UserLibrary.TagItem": { + "type": "object", + "properties": { + "Name": { + "type": "string" + } + } + }, + "Collections.CollectionCreationResult": { + "type": "object", + "properties": { + "Id": { + "type": "string" + } + } + }, + "QueryResult_Devices.DeviceInfo": { + "type": "object", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Devices.DeviceInfo" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "Devices.DeviceInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "LastUserName": { + "type": "string" + }, + "AppName": { + "type": "string" + }, + "AppVersion": { + "type": "string" + }, + "LastUserId": { + "type": "string", + "format": "guid" + }, + "DateLastActivity": { + "type": "string", + "format": "date-time" + }, + "IconUrl": { + "type": "string" + } + } + }, + "QueryResult_UserLibrary.OfficialRatingItem": { + "type": "object", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserLibrary.OfficialRatingItem" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "UserLibrary.OfficialRatingItem": { + "type": "object", + "properties": { + "Name": { + "type": "string" + } + } + }, + "Updates.PackageInfo": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "shortDescription": { + "type": "string" + }, + "overview": { + "type": "string" + }, + "isPremium": { + "type": "boolean" + }, + "adult": { + "type": "boolean" + }, + "richDescUrl": { + "type": "string" + }, + "thumbImage": { + "type": "string" + }, + "previewImage": { + "type": "string" + }, + "type": { + "type": "string" + }, + "targetFilename": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "category": { + "type": "string" + }, + "tileColor": { + "type": "string" + }, + "featureId": { + "type": "string" + }, + "regInfo": { + "type": "string" + }, + "price": { + "type": "number", + "format": "float" + }, + "targetSystem": { + "enum": [ + "Server", + "MBTheater", + "MBClassic" + ], + "type": "string" + }, + "guid": { + "type": "string" + }, + "totalRatings": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "avgRating": { + "type": "number", + "format": "float" + }, + "isRegistered": { + "type": "boolean" + }, + "expDate": { + "type": "string", + "format": "date-time" + }, + "versions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Updates.PackageVersionInfo" + } + }, + "enableInAppStore": { + "type": "boolean" + }, + "installs": { + "type": "integer", + "format": "int32" + } + } + }, + "Updates.PackageVersionInfo": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "guid": { + "type": "string" + }, + "versionStr": { + "type": "string" + }, + "classification": { + "enum": [ + "Release", + "Beta", + "Dev" + ], + "type": "string" + }, + "description": { + "type": "string" + }, + "requiredVersionStr": { + "type": "string" + }, + "sourceUrl": { + "type": "string" + }, + "checksum": { + "type": "string" + }, + "targetFilename": { + "type": "string" + }, + "infoUrl": { + "type": "string" + }, + "runtimes": { + "type": "string" + } + } + }, + "Playlists.PlaylistCreationResult": { + "type": "object", + "properties": { + "Id": { + "type": "string" + } + } + }, + "Plugins.PluginInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + }, + "ConfigurationFileName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "ImageTag": { + "type": "string" + } + } + }, + "Tasks.TaskInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "State": { + "enum": [ + "Idle", + "Cancelling", + "Running" + ], + "type": "string" + }, + "CurrentProgressPercentage": { + "type": "number", + "format": "double", + "nullable": true + }, + "Id": { + "type": "string" + }, + "LastExecutionResult": { + "$ref": "#/components/schemas/Tasks.TaskResult" + }, + "Triggers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tasks.TaskTriggerInfo" + } + }, + "Description": { + "type": "string" + }, + "Category": { + "type": "string" + }, + "IsHidden": { + "type": "boolean" + }, + "Key": { + "type": "string" + } + } + }, + "Tasks.TaskResult": { + "type": "object", + "properties": { + "StartTimeUtc": { + "type": "string", + "format": "date-time" + }, + "EndTimeUtc": { + "type": "string", + "format": "date-time" + }, + "Status": { + "enum": [ + "Completed", + "Failed", + "Cancelled", + "Aborted" + ], + "type": "string" + }, + "Name": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "ErrorMessage": { + "type": "string" + }, + "LongErrorMessage": { + "type": "string" + } + } + }, + "Tasks.TaskTriggerInfo": { + "type": "object", + "properties": { + "Type": { + "type": "string" + }, + "TimeOfDayTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "IntervalTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "SystemEvent": { + "enum": [ + "WakeFromSleep", + "DisplayConfigurationChange" + ], + "type": "string" + }, + "DayOfWeek": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string" + }, + "MaxRuntimeTicks": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + }, + "Session.SessionInfo": { + "type": "object", + "properties": { + "PlayState": { + "$ref": "#/components/schemas/PlayerStateInfo" + }, + "AdditionalUsers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SessionUserInfo" + } + }, + "Capabilities": { + "$ref": "#/components/schemas/ClientCapabilities" + }, + "RemoteEndPoint": { + "type": "string" + }, + "PlayableMediaTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "PlaylistItemId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "UserId": { + "type": "string" + }, + "UserName": { + "type": "string" + }, + "UserPrimaryImageTag": { + "type": "string" + }, + "Client": { + "type": "string" + }, + "LastActivityDate": { + "type": "string", + "format": "date-time" + }, + "DeviceName": { + "type": "string" + }, + "DeviceType": { + "type": "string" + }, + "NowPlayingItem": { + "$ref": "#/components/schemas/BaseItemDto" + }, + "DeviceId": { + "type": "string" + }, + "ApplicationVersion": { + "type": "string" + }, + "AppIconUrl": { + "type": "string" + }, + "SupportedCommands": { + "type": "array", + "items": { + "type": "string" + } + }, + "TranscodingInfo": { + "$ref": "#/components/schemas/TranscodingInfo" + }, + "SupportsRemoteControl": { + "type": "boolean" + } + } + }, + "PlayerStateInfo": { + "type": "object", + "properties": { + "PositionTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "CanSeek": { + "type": "boolean" + }, + "IsPaused": { + "type": "boolean" + }, + "IsMuted": { + "type": "boolean" + }, + "VolumeLevel": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "AudioStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SubtitleStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MediaSourceId": { + "type": "string" + }, + "PlayMethod": { + "enum": [ + "Transcode", + "DirectStream", + "DirectPlay" + ], + "type": "string" + }, + "RepeatMode": { + "enum": [ + "RepeatNone", + "RepeatAll", + "RepeatOne" + ], + "type": "string" + } + } + }, + "SessionUserInfo": { + "type": "object", + "properties": { + "UserId": { + "type": "string" + }, + "UserName": { + "type": "string" + }, + "UserInternalId": { + "type": "integer", + "format": "int64" + } + } + }, + "ClientCapabilities": { + "type": "object", + "properties": { + "PlayableMediaTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "SupportedCommands": { + "type": "array", + "items": { + "type": "string" + } + }, + "SupportsMediaControl": { + "type": "boolean" + }, + "PushToken": { + "type": "string" + }, + "PushTokenType": { + "type": "string" + }, + "SupportsPersistentIdentifier": { + "type": "boolean" + }, + "SupportsSync": { + "type": "boolean" + }, + "DeviceProfile": { + "$ref": "#/components/schemas/Dlna.DeviceProfile" + }, + "IconUrl": { + "type": "string" + }, + "AppId": { + "type": "string" + } + } + }, + "Dlna.DeviceProfile": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Identification": { + "$ref": "#/components/schemas/Dlna.DeviceIdentification" + }, + "FriendlyName": { + "type": "string" + }, + "Manufacturer": { + "type": "string" + }, + "ManufacturerUrl": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "ModelDescription": { + "type": "string" + }, + "ModelNumber": { + "type": "string" + }, + "ModelUrl": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "EnableAlbumArtInDidl": { + "type": "boolean" + }, + "EnableSingleAlbumArtLimit": { + "type": "boolean" + }, + "EnableSingleSubtitleLimit": { + "type": "boolean" + }, + "SupportedMediaTypes": { + "type": "string" + }, + "UserId": { + "type": "string" + }, + "AlbumArtPn": { + "type": "string" + }, + "MaxAlbumArtWidth": { + "type": "integer", + "format": "int32" + }, + "MaxAlbumArtHeight": { + "type": "integer", + "format": "int32" + }, + "MaxIconWidth": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MaxIconHeight": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MaxStreamingBitrate": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "MaxStaticBitrate": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "MusicStreamingTranscodingBitrate": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MaxStaticMusicBitrate": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SonyAggregationFlags": { + "type": "string" + }, + "ProtocolInfo": { + "type": "string" + }, + "TimelineOffsetSeconds": { + "type": "integer", + "format": "int32" + }, + "RequiresPlainVideoItems": { + "type": "boolean" + }, + "RequiresPlainFolders": { + "type": "boolean" + }, + "EnableMSMediaReceiverRegistrar": { + "type": "boolean" + }, + "IgnoreTranscodeByteRangeRequests": { + "type": "boolean" + }, + "XmlRootAttributes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.XmlAttribute" + } + }, + "DirectPlayProfiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.DirectPlayProfile" + } + }, + "TranscodingProfiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.TranscodingProfile" + } + }, + "ContainerProfiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.ContainerProfile" + } + }, + "CodecProfiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.CodecProfile" + } + }, + "ResponseProfiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.ResponseProfile" + } + }, + "SubtitleProfiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.SubtitleProfile" + } + } + } + }, + "Dlna.DeviceIdentification": { + "type": "object", + "properties": { + "FriendlyName": { + "type": "string" + }, + "ModelNumber": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "ModelDescription": { + "type": "string" + }, + "DeviceDescription": { + "type": "string" + }, + "ModelUrl": { + "type": "string" + }, + "Manufacturer": { + "type": "string" + }, + "ManufacturerUrl": { + "type": "string" + }, + "Headers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.HttpHeaderInfo" + } + } + } + }, + "Dlna.HttpHeaderInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + }, + "Match": { + "enum": [ + "Equals", + "Regex", + "Substring" + ], + "type": "string" + } + } + }, + "Dlna.XmlAttribute": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + } + }, + "Dlna.DirectPlayProfile": { + "type": "object", + "properties": { + "Container": { + "type": "string" + }, + "AudioCodec": { + "type": "string" + }, + "VideoCodec": { + "type": "string" + }, + "Type": { + "enum": [ + "Audio", + "Video", + "Photo" + ], + "type": "string" + } + } + }, + "Dlna.TranscodingProfile": { + "type": "object", + "properties": { + "Container": { + "type": "string" + }, + "Type": { + "enum": [ + "Audio", + "Video", + "Photo" + ], + "type": "string" + }, + "VideoCodec": { + "type": "string" + }, + "AudioCodec": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "EstimateContentLength": { + "type": "boolean" + }, + "EnableMpegtsM2TsMode": { + "type": "boolean" + }, + "TranscodeSeekInfo": { + "enum": [ + "Auto", + "Bytes" + ], + "type": "string" + }, + "CopyTimestamps": { + "type": "boolean" + }, + "Context": { + "enum": [ + "Streaming", + "Static" + ], + "type": "string" + }, + "MaxAudioChannels": { + "type": "string" + }, + "MinSegments": { + "type": "integer", + "format": "int32" + }, + "SegmentLength": { + "type": "integer", + "format": "int32" + }, + "BreakOnNonKeyFrames": { + "type": "boolean" + }, + "ManifestSubtitles": { + "type": "string" + } + } + }, + "Dlna.ContainerProfile": { + "type": "object", + "properties": { + "Type": { + "enum": [ + "Audio", + "Video", + "Photo" + ], + "type": "string" + }, + "Conditions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.ProfileCondition" + } + }, + "Container": { + "type": "string" + } + } + }, + "Dlna.ProfileCondition": { + "type": "object", + "properties": { + "Condition": { + "enum": [ + "Equals", + "NotEquals", + "LessThanEqual", + "GreaterThanEqual", + "EqualsAny" + ], + "type": "string" + }, + "Property": { + "enum": [ + "AudioChannels", + "AudioBitrate", + "AudioProfile", + "Width", + "Height", + "Has64BitOffsets", + "PacketLength", + "VideoBitDepth", + "VideoBitrate", + "VideoFramerate", + "VideoLevel", + "VideoProfile", + "VideoTimestamp", + "IsAnamorphic", + "RefFrames", + "NumAudioStreams", + "NumVideoStreams", + "IsSecondaryAudio", + "VideoCodecTag", + "IsAvc", + "IsInterlaced", + "AudioSampleRate", + "AudioBitDepth" + ], + "type": "string" + }, + "Value": { + "type": "string" + }, + "IsRequired": { + "type": "boolean" + } + } + }, + "Dlna.CodecProfile": { + "type": "object", + "properties": { + "Type": { + "enum": [ + "Video", + "VideoAudio", + "Audio" + ], + "type": "string" + }, + "Conditions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.ProfileCondition" + } + }, + "ApplyConditions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.ProfileCondition" + } + }, + "Codec": { + "type": "string" + }, + "Container": { + "type": "string" + } + } + }, + "Dlna.ResponseProfile": { + "type": "object", + "properties": { + "Container": { + "type": "string" + }, + "AudioCodec": { + "type": "string" + }, + "VideoCodec": { + "type": "string" + }, + "Type": { + "enum": [ + "Audio", + "Video", + "Photo" + ], + "type": "string" + }, + "OrgPn": { + "type": "string" + }, + "MimeType": { + "type": "string" + }, + "Conditions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Dlna.ProfileCondition" + } + } + } + }, + "Dlna.SubtitleProfile": { + "type": "object", + "properties": { + "Format": { + "type": "string" + }, + "Method": { + "enum": [ + "Encode", + "Embed", + "External", + "Hls" + ], + "type": "string" + }, + "DidlMode": { + "type": "string" + }, + "Language": { + "type": "string" + }, + "Container": { + "type": "string" + } + } + }, + "TranscodingInfo": { + "type": "object", + "properties": { + "AudioCodec": { + "type": "string" + }, + "VideoCodec": { + "type": "string" + }, + "Container": { + "type": "string" + }, + "IsVideoDirect": { + "type": "boolean" + }, + "IsAudioDirect": { + "type": "boolean" + }, + "Bitrate": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Framerate": { + "type": "number", + "format": "float", + "nullable": true + }, + "CompletionPercentage": { + "type": "number", + "format": "double", + "nullable": true + }, + "TranscodingPositionTicks": { + "type": "number", + "format": "double", + "nullable": true + }, + "TranscodingStartPositionTicks": { + "type": "number", + "format": "double", + "nullable": true + }, + "Width": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Height": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "AudioChannels": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "TranscodeReasons": { + "type": "array", + "items": { + "enum": [ + "ContainerNotSupported", + "VideoCodecNotSupported", + "AudioCodecNotSupported", + "ContainerBitrateExceedsLimit", + "AudioBitrateNotSupported", + "AudioChannelsNotSupported", + "VideoResolutionNotSupported", + "UnknownVideoStreamInfo", + "UnknownAudioStreamInfo", + "AudioProfileNotSupported", + "AudioSampleRateNotSupported", + "AnamorphicVideoNotSupported", + "InterlacedVideoNotSupported", + "SecondaryAudioNotSupported", + "RefFramesNotSupported", + "VideoBitDepthNotSupported", + "VideoBitrateNotSupported", + "VideoFramerateNotSupported", + "VideoLevelNotSupported", + "VideoProfileNotSupported", + "AudioBitDepthNotSupported", + "SubtitleCodecNotSupported", + "DirectPlayError" + ], + "type": "string" + } + }, + "CurrentCpuUsage": { + "type": "number", + "format": "double", + "nullable": true + }, + "AverageCpuUsage": { + "type": "number", + "format": "double", + "nullable": true + }, + "CpuHistory": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tuple_Double-Double" + } + }, + "CurrentThrottle": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "VideoDecoder": { + "type": "string" + }, + "VideoDecoderIsHardware": { + "type": "boolean" + }, + "VideoDecoderMediaType": { + "type": "string" + }, + "VideoDecoderHwAccel": { + "type": "string" + }, + "VideoEncoder": { + "type": "string" + }, + "VideoEncoderIsHardware": { + "type": "boolean" + }, + "VideoEncoderMediaType": { + "type": "string" + }, + "VideoEncoderHwAccel": { + "type": "string" + } + } + }, + "Tuple_Double-Double": { + "type": "object", + "properties": { + "Item1": { + "type": "number", + "format": "double" + }, + "Item2": { + "type": "number", + "format": "double" + } + } + }, + "UserDto": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "ConnectUserName": { + "type": "string" + }, + "ConnectLinkType": { + "enum": [ + "LinkedUser", + "Guest" + ], + "type": "string" + }, + "Id": { + "type": "string", + "format": "guid" + }, + "PrimaryImageTag": { + "type": "string" + }, + "HasPassword": { + "type": "boolean" + }, + "HasConfiguredPassword": { + "type": "boolean" + }, + "HasConfiguredEasyPassword": { + "type": "boolean" + }, + "EnableAutoLogin": { + "type": "boolean", + "nullable": true + }, + "LastLoginDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "LastActivityDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "Configuration": { + "$ref": "#/components/schemas/Configuration.UserConfiguration" + }, + "Policy": { + "$ref": "#/components/schemas/Users.UserPolicy" + }, + "PrimaryImageAspectRatio": { + "type": "number", + "format": "double", + "nullable": true + } + } + }, + "Configuration.UserConfiguration": { + "type": "object", + "properties": { + "AudioLanguagePreference": { + "type": "string" + }, + "PlayDefaultAudioTrack": { + "type": "boolean" + }, + "SubtitleLanguagePreference": { + "type": "string" + }, + "DisplayMissingEpisodes": { + "type": "boolean" + }, + "GroupedFolders": { + "type": "array", + "items": { + "type": "string" + } + }, + "SubtitleMode": { + "enum": [ + "Default", + "Always", + "OnlyForced", + "None", + "Smart" + ], + "type": "string" + }, + "DisplayCollectionsView": { + "type": "boolean" + }, + "EnableLocalPassword": { + "type": "boolean" + }, + "OrderedViews": { + "type": "array", + "items": { + "type": "string" + } + }, + "LatestItemsExcludes": { + "type": "array", + "items": { + "type": "string" + } + }, + "MyMediaExcludes": { + "type": "array", + "items": { + "type": "string" + } + }, + "HidePlayedInLatest": { + "type": "boolean" + }, + "RememberAudioSelections": { + "type": "boolean" + }, + "RememberSubtitleSelections": { + "type": "boolean" + }, + "EnableNextEpisodeAutoPlay": { + "type": "boolean" + } + } + }, + "Users.UserPolicy": { + "type": "object", + "properties": { + "IsAdministrator": { + "type": "boolean" + }, + "IsHidden": { + "type": "boolean" + }, + "IsHiddenRemotely": { + "type": "boolean" + }, + "IsDisabled": { + "type": "boolean" + }, + "MaxParentalRating": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "BlockedTags": { + "type": "array", + "items": { + "type": "string" + } + }, + "EnableUserPreferenceAccess": { + "type": "boolean" + }, + "AccessSchedules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Configuration.AccessSchedule" + } + }, + "BlockUnratedItems": { + "type": "array", + "items": { + "enum": [ + "Movie", + "Trailer", + "Series", + "Music", + "Game", + "Book", + "LiveTvChannel", + "LiveTvProgram", + "ChannelContent", + "Other" + ], + "type": "string" + } + }, + "EnableRemoteControlOfOtherUsers": { + "type": "boolean" + }, + "EnableSharedDeviceControl": { + "type": "boolean" + }, + "EnableRemoteAccess": { + "type": "boolean" + }, + "EnableLiveTvManagement": { + "type": "boolean" + }, + "EnableLiveTvAccess": { + "type": "boolean" + }, + "EnableMediaPlayback": { + "type": "boolean" + }, + "EnableAudioPlaybackTranscoding": { + "type": "boolean" + }, + "EnableVideoPlaybackTranscoding": { + "type": "boolean" + }, + "EnablePlaybackRemuxing": { + "type": "boolean" + }, + "EnableContentDeletion": { + "type": "boolean" + }, + "EnableContentDeletionFromFolders": { + "type": "array", + "items": { + "type": "string" + } + }, + "EnableContentDownloading": { + "type": "boolean" + }, + "EnableSubtitleDownloading": { + "type": "boolean" + }, + "EnableSubtitleManagement": { + "type": "boolean" + }, + "EnableSyncTranscoding": { + "type": "boolean" + }, + "EnableMediaConversion": { + "type": "boolean" + }, + "EnabledDevices": { + "type": "array", + "items": { + "type": "string" + } + }, + "EnableAllDevices": { + "type": "boolean" + }, + "EnabledChannels": { + "type": "array", + "items": { + "type": "string" + } + }, + "EnableAllChannels": { + "type": "boolean" + }, + "EnabledFolders": { + "type": "array", + "items": { + "type": "string" + } + }, + "EnableAllFolders": { + "type": "boolean" + }, + "InvalidLoginAttemptCount": { + "type": "integer", + "format": "int32" + }, + "EnablePublicSharing": { + "type": "boolean" + }, + "BlockedMediaFolders": { + "type": "array", + "items": { + "type": "string" + } + }, + "BlockedChannels": { + "type": "array", + "items": { + "type": "string" + } + }, + "RemoteClientBitrateLimit": { + "type": "integer", + "format": "int32" + }, + "AuthenticationProviderId": { + "type": "string" + }, + "ExcludedSubFolders": { + "type": "array", + "items": { + "type": "string" + } + }, + "DisablePremiumFeatures": { + "type": "boolean" + } + } + }, + "Configuration.AccessSchedule": { + "type": "object", + "properties": { + "DayOfWeek": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Everyday", + "Weekday", + "Weekend" + ], + "type": "string" + }, + "StartHour": { + "type": "number", + "format": "double" + }, + "EndHour": { + "type": "number", + "format": "double" + } + } + }, + "NameValuePair": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + } + }, + "Branding.BrandingOptions": { + "type": "object", + "properties": { + "LoginDisclaimer": { + "type": "string" + }, + "CustomCss": { + "type": "string" + } + } + }, + "Connect.ConnectAuthenticationExchangeResult": { + "type": "object", + "properties": { + "LocalUserId": { + "type": "string", + "format": "guid" + }, + "AccessToken": { + "type": "string" + } + } + }, + "Devices.DeviceOptions": { + "type": "object", + "properties": { + "CustomName": { + "type": "string" + } + } + }, + "Devices.ContentUploadHistory": { + "type": "object", + "properties": { + "DeviceId": { + "type": "string" + }, + "FilesUploaded": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Devices.LocalFileInfo" + } + } + } + }, + "Devices.LocalFileInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Album": { + "type": "string" + }, + "MimeType": { + "type": "string" + } + } + }, + "DisplayPreferences": { + "type": "object", + "properties": { + "Id": { + "type": "string" + }, + "ViewType": { + "type": "string" + }, + "SortBy": { + "type": "string" + }, + "IndexBy": { + "type": "string" + }, + "RememberIndexing": { + "type": "boolean" + }, + "PrimaryImageHeight": { + "type": "integer", + "format": "int32" + }, + "PrimaryImageWidth": { + "type": "integer", + "format": "int32" + }, + "CustomPrefs": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "ScrollDirection": { + "enum": [ + "Horizontal", + "Vertical" + ], + "type": "string" + }, + "ShowBackdrop": { + "type": "boolean" + }, + "RememberSorting": { + "type": "boolean" + }, + "SortOrder": { + "enum": [ + "Ascending", + "Descending" + ], + "type": "string" + }, + "ShowSidebar": { + "type": "boolean" + }, + "Client": { + "type": "string" + } + } + }, + "Dlna.DeviceProfileInfo": { + "type": "object", + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "enum": [ + "System", + "User" + ], + "type": "string" + } + } + }, + "ValidatePath": { + "type": "object", + "properties": { + "ValidateWriteable": { + "type": "boolean" + }, + "IsFile": { + "type": "boolean", + "nullable": true + } + } + }, + "DefaultDirectoryBrowserInfo": { + "type": "object", + "properties": { + "Path": { + "type": "string" + } + } + }, + "IO.FileSystemEntryInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Type": { + "enum": [ + "File", + "Directory", + "NetworkComputer", + "NetworkShare" + ], + "type": "string" + } + } + }, + "GameSystemSummary": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "GameCount": { + "type": "integer", + "format": "int32" + }, + "GameFileExtensions": { + "type": "array", + "items": { + "type": "string" + } + }, + "ClientInstalledGameCount": { + "type": "integer", + "format": "int32" + } + } + }, + "ImageByNameInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Theme": { + "type": "string" + }, + "Context": { + "type": "string" + }, + "FileLength": { + "type": "integer", + "format": "int64" + }, + "Format": { + "type": "string" + } + } + }, + "QueryFilters": { + "type": "object", + "properties": { + "Genres": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameLongIdPair" + } + }, + "Studios": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameLongIdPair" + } + }, + "Tags": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "QueryFiltersLegacy": { + "type": "object", + "properties": { + "Genres": { + "type": "array", + "items": { + "type": "string" + } + }, + "Tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "OfficialRatings": { + "type": "array", + "items": { + "type": "string" + } + }, + "Years": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + } + }, + "ItemCounts": { + "type": "object", + "properties": { + "MovieCount": { + "type": "integer", + "format": "int32" + }, + "SeriesCount": { + "type": "integer", + "format": "int32" + }, + "EpisodeCount": { + "type": "integer", + "format": "int32" + }, + "GameCount": { + "type": "integer", + "format": "int32" + }, + "ArtistCount": { + "type": "integer", + "format": "int32" + }, + "ProgramCount": { + "type": "integer", + "format": "int32" + }, + "GameSystemCount": { + "type": "integer", + "format": "int32" + }, + "TrailerCount": { + "type": "integer", + "format": "int32" + }, + "SongCount": { + "type": "integer", + "format": "int32" + }, + "AlbumCount": { + "type": "integer", + "format": "int32" + }, + "MusicVideoCount": { + "type": "integer", + "format": "int32" + }, + "BoxSetCount": { + "type": "integer", + "format": "int32" + }, + "BookCount": { + "type": "integer", + "format": "int32" + }, + "ItemCount": { + "type": "integer", + "format": "int32" + } + } + }, + "Library.LibraryOptionsResult": { + "type": "object", + "properties": { + "MetadataSavers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Library.LibraryOptionInfo" + } + }, + "MetadataReaders": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Library.LibraryOptionInfo" + } + }, + "SubtitleFetchers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Library.LibraryOptionInfo" + } + }, + "TypeOptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Library.LibraryTypeOptions" + } + } + } + }, + "Library.LibraryOptionInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "DefaultEnabled": { + "type": "boolean" + } + } + }, + "Library.LibraryTypeOptions": { + "type": "object", + "properties": { + "Type": { + "type": "string" + }, + "MetadataFetchers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Library.LibraryOptionInfo" + } + }, + "ImageFetchers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Library.LibraryOptionInfo" + } + }, + "SupportedImageTypes": { + "type": "array", + "items": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + }, + "DefaultImageOptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Configuration.ImageOption" + } + } + } + }, + "Configuration.ImageOption": { + "type": "object", + "properties": { + "Type": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + }, + "Limit": { + "type": "integer", + "format": "int32" + }, + "MinWidth": { + "type": "integer", + "format": "int32" + } + } + }, + "Library.MediaFolder": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SubFolders": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Library.SubFolder" + } + } + } + }, + "Library.SubFolder": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Path": { + "type": "string" + } + } + }, + "VirtualFolderInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Locations": { + "type": "array", + "items": { + "type": "string" + } + }, + "CollectionType": { + "type": "string" + }, + "LibraryOptions": { + "$ref": "#/components/schemas/Configuration.LibraryOptions" + }, + "ItemId": { + "type": "string" + }, + "PrimaryImageItemId": { + "type": "string" + }, + "RefreshProgress": { + "type": "number", + "format": "double", + "nullable": true + }, + "RefreshStatus": { + "type": "string" + } + } + }, + "Configuration.LibraryOptions": { + "type": "object", + "properties": { + "EnableArchiveMediaFiles": { + "type": "boolean" + }, + "EnablePhotos": { + "type": "boolean" + }, + "EnableRealtimeMonitor": { + "type": "boolean" + }, + "EnableChapterImageExtraction": { + "type": "boolean" + }, + "ExtractChapterImagesDuringLibraryScan": { + "type": "boolean" + }, + "DownloadImagesInAdvance": { + "type": "boolean" + }, + "PathInfos": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Configuration.MediaPathInfo" + } + }, + "SaveLocalMetadata": { + "type": "boolean" + }, + "SaveLocalThumbnailSets": { + "type": "boolean" + }, + "ImportMissingEpisodes": { + "type": "boolean" + }, + "EnableAutomaticSeriesGrouping": { + "type": "boolean" + }, + "EnableEmbeddedTitles": { + "type": "boolean" + }, + "EnableAudioResume": { + "type": "boolean" + }, + "AutomaticRefreshIntervalDays": { + "type": "integer", + "format": "int32" + }, + "PreferredMetadataLanguage": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "SeasonZeroDisplayName": { + "type": "string" + }, + "MetadataSavers": { + "type": "array", + "items": { + "type": "string" + } + }, + "DisabledLocalMetadataReaders": { + "type": "array", + "items": { + "type": "string" + } + }, + "LocalMetadataReaderOrder": { + "type": "array", + "items": { + "type": "string" + } + }, + "DisabledSubtitleFetchers": { + "type": "array", + "items": { + "type": "string" + } + }, + "SubtitleFetcherOrder": { + "type": "array", + "items": { + "type": "string" + } + }, + "SkipSubtitlesIfEmbeddedSubtitlesPresent": { + "type": "boolean" + }, + "SkipSubtitlesIfAudioTrackMatches": { + "type": "boolean" + }, + "SubtitleDownloadLanguages": { + "type": "array", + "items": { + "type": "string" + } + }, + "RequirePerfectSubtitleMatch": { + "type": "boolean" + }, + "SaveSubtitlesWithMedia": { + "type": "boolean" + }, + "ForcedSubtitlesOnly": { + "type": "boolean" + }, + "TypeOptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Configuration.TypeOptions" + } + }, + "CollapseSingleItemFolders": { + "type": "boolean" + }, + "MinResumePct": { + "type": "integer", + "format": "int32" + }, + "MaxResumePct": { + "type": "integer", + "format": "int32" + }, + "MinResumeDurationSeconds": { + "type": "integer", + "format": "int32" + }, + "ThumbnailImagesIntervalSeconds": { + "type": "integer", + "format": "int32" + } + } + }, + "Configuration.MediaPathInfo": { + "type": "object", + "properties": { + "Path": { + "type": "string" + }, + "NetworkPath": { + "type": "string" + } + } + }, + "Configuration.TypeOptions": { + "type": "object", + "properties": { + "Type": { + "type": "string" + }, + "MetadataFetchers": { + "type": "array", + "items": { + "type": "string" + } + }, + "MetadataFetcherOrder": { + "type": "array", + "items": { + "type": "string" + } + }, + "ImageFetchers": { + "type": "array", + "items": { + "type": "string" + } + }, + "ImageFetcherOrder": { + "type": "array", + "items": { + "type": "string" + } + }, + "ImageOptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Configuration.ImageOption" + } + } + } + }, + "Library.AddVirtualFolder": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "CollectionType": { + "type": "string" + }, + "RefreshLibrary": { + "type": "boolean" + }, + "Paths": { + "type": "array", + "items": { + "type": "string" + } + }, + "LibraryOptions": { + "$ref": "#/components/schemas/Configuration.LibraryOptions" + } + } + }, + "MediaInfo.LiveStreamRequest": { + "type": "object", + "properties": { + "OpenToken": { + "type": "string" + }, + "UserId": { + "type": "string" + }, + "PlaySessionId": { + "type": "string" + }, + "MaxStreamingBitrate": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "StartTimeTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "AudioStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SubtitleStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MaxAudioChannels": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "DeviceProfile": { + "$ref": "#/components/schemas/Dlna.DeviceProfile" + }, + "EnableDirectPlay": { + "type": "boolean" + }, + "EnableDirectStream": { + "type": "boolean" + }, + "EnableTranscoding": { + "type": "boolean" + }, + "AllowVideoStreamCopy": { + "type": "boolean" + }, + "AllowAudioStreamCopy": { + "type": "boolean" + }, + "DirectPlayProtocols": { + "type": "array", + "items": { + "enum": [ + "File", + "Http", + "Rtmp", + "Rtsp", + "Udp", + "Rtp", + "Ftp", + "Mms" + ], + "type": "string" + } + } + } + }, + "MediaInfo.LiveStreamResponse": { + "type": "object", + "properties": { + "MediaSource": { + "$ref": "#/components/schemas/MediaSourceInfo" + } + } + }, + "LiveTv.SetChannelMapping": { + "type": "object", + "properties": { + "TunerChannelId": { + "type": "string" + }, + "ProviderChannelId": { + "type": "string" + } + } + }, + "LiveTv.ListingsProviderInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "SetupUrl": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Username": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ListingsId": { + "type": "string" + }, + "ZipCode": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "EnabledTuners": { + "type": "array", + "items": { + "type": "string" + } + }, + "EnableAllTuners": { + "type": "boolean" + }, + "NewsCategories": { + "type": "array", + "items": { + "type": "string" + } + }, + "SportsCategories": { + "type": "array", + "items": { + "type": "string" + } + }, + "KidsCategories": { + "type": "array", + "items": { + "type": "string" + } + }, + "MovieCategories": { + "type": "array", + "items": { + "type": "string" + } + }, + "ChannelMappings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NameValuePair" + } + }, + "MoviePrefix": { + "type": "string" + }, + "PreferredLanguage": { + "type": "string" + }, + "UserAgent": { + "type": "string" + } + } + }, + "LiveTv.TunerHostInfo": { + "type": "object", + "properties": { + "Id": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "FriendlyName": { + "type": "string" + }, + "ImportFavoritesOnly": { + "type": "boolean" + }, + "AllowHWTranscoding": { + "type": "boolean" + }, + "Source": { + "type": "string" + }, + "TunerCount": { + "type": "integer", + "format": "int32" + }, + "UserAgent": { + "type": "string" + } + } + }, + "LiveTv.LiveTvInfo": { + "type": "object", + "properties": { + "Services": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LiveTv.LiveTvServiceInfo" + } + }, + "IsEnabled": { + "type": "boolean" + }, + "EnabledUsers": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "LiveTv.LiveTvServiceInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "HomePageUrl": { + "type": "string" + }, + "Status": { + "enum": [ + "Ok", + "Unavailable" + ], + "type": "string" + }, + "StatusMessage": { + "type": "string" + }, + "Version": { + "type": "string" + }, + "HasUpdateAvailable": { + "type": "boolean" + }, + "IsVisible": { + "type": "boolean" + }, + "Tuners": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "LiveTv.GetPrograms": { + "type": "object", + "properties": { + "IsAiring": { + "type": "boolean", + "nullable": true + }, + "EnableTotalRecordCount": { + "type": "boolean" + }, + "SeriesTimerId": { + "type": "string" + }, + "LibrarySeriesId": { + "type": "string" + } + } + }, + "QueryResult_LiveTv.TimerInfoDto": { + "type": "object", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LiveTv.TimerInfoDto" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "LiveTv.TimerInfoDto": { + "type": "object", + "properties": { + "Status": { + "enum": [ + "New", + "InProgress", + "Completed", + "Cancelled", + "ConflictedOk", + "ConflictedNotOk", + "Error" + ], + "type": "string" + }, + "SeriesTimerId": { + "type": "string" + }, + "ExternalSeriesTimerId": { + "type": "string" + }, + "RunTimeTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "ProgramInfo": { + "$ref": "#/components/schemas/BaseItemDto" + }, + "Id": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "ChannelId": { + "type": "string" + }, + "ExternalChannelId": { + "type": "string" + }, + "ChannelName": { + "type": "string" + }, + "ChannelPrimaryImageTag": { + "type": "string" + }, + "ProgramId": { + "type": "string" + }, + "ExternalProgramId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Overview": { + "type": "string" + }, + "StartDate": { + "type": "string", + "format": "date-time" + }, + "EndDate": { + "type": "string", + "format": "date-time" + }, + "ServiceName": { + "type": "string" + }, + "Priority": { + "type": "integer", + "format": "int32" + }, + "PrePaddingSeconds": { + "type": "integer", + "format": "int32" + }, + "PostPaddingSeconds": { + "type": "integer", + "format": "int32" + }, + "IsPrePaddingRequired": { + "type": "boolean" + }, + "ParentBackdropItemId": { + "type": "string" + }, + "ParentBackdropImageTags": { + "type": "array", + "items": { + "type": "string" + } + }, + "IsPostPaddingRequired": { + "type": "boolean" + }, + "KeepUntil": { + "enum": [ + "UntilDeleted", + "UntilSpaceNeeded", + "UntilWatched", + "UntilDate" + ], + "type": "string" + } + } + }, + "QueryResult_LiveTv.SeriesTimerInfoDto": { + "type": "object", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LiveTv.SeriesTimerInfoDto" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "LiveTv.SeriesTimerInfoDto": { + "type": "object", + "properties": { + "RecordAnyTime": { + "type": "boolean" + }, + "SkipEpisodesInLibrary": { + "type": "boolean" + }, + "RecordAnyChannel": { + "type": "boolean" + }, + "KeepUpTo": { + "type": "integer", + "format": "int32" + }, + "RecordNewOnly": { + "type": "boolean" + }, + "Days": { + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string" + } + }, + "DayPattern": { + "enum": [ + "Daily", + "Weekdays", + "Weekends" + ], + "type": "string" + }, + "ImageTags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "ParentThumbItemId": { + "type": "string" + }, + "ParentThumbImageTag": { + "type": "string" + }, + "ParentPrimaryImageItemId": { + "type": "string" + }, + "ParentPrimaryImageTag": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "ChannelId": { + "type": "string" + }, + "ExternalChannelId": { + "type": "string" + }, + "ChannelName": { + "type": "string" + }, + "ChannelPrimaryImageTag": { + "type": "string" + }, + "ProgramId": { + "type": "string" + }, + "ExternalProgramId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Overview": { + "type": "string" + }, + "StartDate": { + "type": "string", + "format": "date-time" + }, + "EndDate": { + "type": "string", + "format": "date-time" + }, + "ServiceName": { + "type": "string" + }, + "Priority": { + "type": "integer", + "format": "int32" + }, + "PrePaddingSeconds": { + "type": "integer", + "format": "int32" + }, + "PostPaddingSeconds": { + "type": "integer", + "format": "int32" + }, + "IsPrePaddingRequired": { + "type": "boolean" + }, + "ParentBackdropItemId": { + "type": "string" + }, + "ParentBackdropImageTags": { + "type": "array", + "items": { + "type": "string" + } + }, + "IsPostPaddingRequired": { + "type": "boolean" + }, + "KeepUntil": { + "enum": [ + "UntilDeleted", + "UntilSpaceNeeded", + "UntilWatched", + "UntilDate" + ], + "type": "string" + } + } + }, + "LiveTv.GuideInfo": { + "type": "object", + "properties": { + "StartDate": { + "type": "string", + "format": "date-time" + }, + "EndDate": { + "type": "string", + "format": "date-time" + } + } + }, + "ParentalRating": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "integer", + "format": "int32" + } + } + }, + "Globalization.LocalizatonOption": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + } + }, + "Globalization.CountryInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "TwoLetterISORegionName": { + "type": "string" + }, + "ThreeLetterISORegionName": { + "type": "string" + } + } + }, + "Globalization.CultureDto": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "TwoLetterISOLanguageName": { + "type": "string" + }, + "ThreeLetterISOLanguageName": { + "type": "string" + }, + "ThreeLetterISOLanguageNames": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RecommendationDto": { + "type": "object", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "RecommendationType": { + "enum": [ + "SimilarToRecentlyPlayed", + "SimilarToLikedItem", + "HasDirectorFromRecentlyPlayed", + "HasActorFromRecentlyPlayed", + "HasLikedDirector", + "HasLikedActor" + ], + "type": "string" + }, + "BaselineItemName": { + "type": "string" + }, + "CategoryId": { + "type": "integer", + "format": "int64" + } + } + }, + "QueryResult_News.NewsItem": { + "type": "object", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/News.NewsItem" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "News.NewsItem": { + "type": "object", + "properties": { + "Title": { + "type": "string" + }, + "Link": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DescriptionHtml": { + "type": "string" + }, + "Guid": { + "type": "string" + }, + "Date": { + "type": "string", + "format": "date-time" + } + } + }, + "Notifications.NotificationTypeInfo": { + "type": "object", + "properties": { + "Type": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Category": { + "type": "string" + }, + "IsBasedOnUserEvent": { + "type": "boolean" + } + } + }, + "Emby.Notifications.Api.NotificationResult": { + "type": "object", + "properties": { + "Notifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Emby.Notifications.Api.Notification" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "Emby.Notifications.Api.Notification": { + "type": "object", + "properties": { + "Id": { + "type": "string" + }, + "UserId": { + "type": "string" + }, + "Date": { + "type": "string", + "format": "date-time" + }, + "IsRead": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Level": { + "enum": [ + "Normal", + "Warning", + "Error" + ], + "type": "string" + } + } + }, + "EmbyReports.Api.Model.ReportResult": { + "type": "object", + "properties": { + "Rows": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmbyReports.Api.Model.ReportRow" + } + }, + "Headers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmbyReports.Api.Model.ReportHeader" + } + }, + "Groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmbyReports.Api.Model.ReportGroup" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + }, + "IsGrouped": { + "type": "boolean" + } + } + }, + "EmbyReports.Api.Model.ReportRow": { + "type": "object", + "properties": { + "Id": { + "type": "string" + }, + "HasImageTagsBackdrop": { + "type": "boolean" + }, + "HasImageTagsPrimary": { + "type": "boolean" + }, + "HasImageTagsLogo": { + "type": "boolean" + }, + "HasLocalTrailer": { + "type": "boolean" + }, + "HasLockData": { + "type": "boolean" + }, + "HasEmbeddedImage": { + "type": "boolean" + }, + "HasSubtitles": { + "type": "boolean" + }, + "HasSpecials": { + "type": "boolean" + }, + "Columns": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmbyReports.Api.Model.ReportItem" + } + }, + "RowType": { + "enum": [ + "MusicArtist", + "MusicAlbum", + "Book", + "BoxSet", + "Episode", + "Game", + "Video", + "Movie", + "MusicVideo", + "Trailer", + "Season", + "Series", + "Audio", + "BaseItem", + "Artist" + ], + "type": "string" + }, + "UserId": { + "type": "string" + } + } + }, + "EmbyReports.Api.Model.ReportItem": { + "type": "object", + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Image": { + "type": "string" + }, + "CustomTag": { + "type": "string" + } + } + }, + "EmbyReports.Api.Model.ReportHeader": { + "type": "object", + "properties": { + "HeaderFieldType": { + "enum": [ + "String", + "Boolean", + "Date", + "Time", + "DateTime", + "Int", + "Image", + "Object", + "Minutes" + ], + "type": "string" + }, + "Name": { + "type": "string" + }, + "FieldName": { + "enum": [ + "None", + "Path", + "Name", + "PremiereDate", + "DateAdded", + "ReleaseDate", + "Runtime", + "PlayCount", + "Season", + "SeasonNumber", + "Series", + "Network", + "Year", + "ParentalRating", + "CommunityRating", + "Trailers", + "Specials", + "GameSystem", + "AlbumArtist", + "Album", + "Disc", + "Track", + "Audio", + "EmbeddedImage", + "Video", + "Resolution", + "Subtitles", + "Genres", + "Countries", + "Status", + "Tracks", + "EpisodeSeries", + "EpisodeSeason", + "EpisodeNumber", + "AudioAlbumArtist", + "MusicArtist", + "AudioAlbum", + "Locked", + "ImagePrimary", + "ImageBackdrop", + "ImageLogo", + "Actor", + "Studios", + "Composer", + "Director", + "GuestStar", + "Producer", + "Writer", + "Artist", + "Years", + "ParentalRatings", + "CommunityRatings", + "Overview", + "ShortOverview", + "Type", + "Date", + "UserPrimaryImage", + "Severity", + "Item", + "User", + "UserId" + ], + "type": "string" + }, + "SortField": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "ItemViewType": { + "enum": [ + "None", + "Detail", + "Edit", + "List", + "ItemByNameDetails", + "StatusImage", + "EmbeddedImage", + "SubtitleImage", + "TrailersImage", + "SpecialsImage", + "LockDataImage", + "TagsPrimaryImage", + "TagsBackdropImage", + "TagsLogoImage", + "UserPrimaryImage" + ], + "type": "string" + }, + "Visible": { + "type": "boolean" + }, + "DisplayType": { + "enum": [ + "None", + "Screen", + "Export", + "ScreenExport" + ], + "type": "string" + }, + "ShowHeaderLabel": { + "type": "boolean" + }, + "CanGroup": { + "type": "boolean" + } + } + }, + "EmbyReports.Api.Model.ReportGroup": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Rows": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmbyReports.Api.Model.ReportRow" + } + } + } + }, + "Search.SearchHintResult": { + "type": "object", + "properties": { + "SearchHints": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Search.SearchHint" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "Search.SearchHint": { + "type": "object", + "properties": { + "ItemId": { + "type": "integer", + "format": "int64" + }, + "Id": { + "type": "integer", + "format": "int64" + }, + "Name": { + "type": "string" + }, + "MatchedTerm": { + "type": "string" + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ProductionYear": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PrimaryImageTag": { + "type": "string" + }, + "ThumbImageTag": { + "type": "string" + }, + "ThumbImageItemId": { + "type": "string" + }, + "BackdropImageTag": { + "type": "string" + }, + "BackdropImageItemId": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "IsFolder": { + "type": "boolean", + "nullable": true + }, + "RunTimeTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "MediaType": { + "type": "string" + }, + "StartDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "EndDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "Series": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Album": { + "type": "string" + }, + "AlbumId": { + "type": "integer", + "format": "int64" + }, + "AlbumArtist": { + "type": "string" + }, + "Artists": { + "type": "array", + "items": { + "type": "string" + } + }, + "SongCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "EpisodeCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ChannelName": { + "type": "string" + }, + "PrimaryImageAspectRatio": { + "type": "number", + "format": "double", + "nullable": true + } + } + }, + "PlaybackStartInfo": { + "type": "object", + "properties": { + "CanSeek": { + "type": "boolean" + }, + "Item": { + "$ref": "#/components/schemas/BaseItemDto" + }, + "NowPlayingQueue": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueItem" + } + }, + "PlaylistItemId": { + "type": "string" + }, + "ItemId": { + "type": "string" + }, + "SessionId": { + "type": "string" + }, + "MediaSourceId": { + "type": "string" + }, + "AudioStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SubtitleStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IsPaused": { + "type": "boolean" + }, + "IsMuted": { + "type": "boolean" + }, + "PositionTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "RunTimeTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "PlaybackStartTimeTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "VolumeLevel": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Brightness": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "AspectRatio": { + "type": "string" + }, + "PlayMethod": { + "enum": [ + "Transcode", + "DirectStream", + "DirectPlay" + ], + "type": "string" + }, + "LiveStreamId": { + "type": "string" + }, + "PlaySessionId": { + "type": "string" + }, + "RepeatMode": { + "enum": [ + "RepeatNone", + "RepeatAll", + "RepeatOne" + ], + "type": "string" + } + } + }, + "QueueItem": { + "type": "object", + "properties": { + "Id": { + "type": "integer", + "format": "int64" + }, + "PlaylistItemId": { + "type": "string" + } + } + }, + "Sync.SyncTarget": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Id": { + "type": "string" + } + } + }, + "QueryResult_Sync.SyncJob": { + "type": "object", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.SyncJob" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "Sync.SyncJob": { + "type": "object", + "properties": { + "Id": { + "type": "integer", + "format": "int64" + }, + "TargetId": { + "type": "string" + }, + "TargetName": { + "type": "string" + }, + "Quality": { + "type": "string" + }, + "Bitrate": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Profile": { + "type": "string" + }, + "Category": { + "enum": [ + "Latest", + "NextUp", + "Resume" + ], + "type": "string" + }, + "ParentId": { + "type": "integer", + "format": "int64" + }, + "Progress": { + "type": "number", + "format": "double" + }, + "Name": { + "type": "string" + }, + "Status": { + "enum": [ + "Queued", + "Converting", + "ReadyToTransfer", + "Transferring", + "Completed", + "CompletedWithError", + "Failed" + ], + "type": "string" + }, + "UserId": { + "type": "integer", + "format": "int64" + }, + "UnwatchedOnly": { + "type": "boolean" + }, + "SyncNewContent": { + "type": "boolean" + }, + "ItemLimit": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "RequestedItemIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + }, + "DateCreated": { + "type": "string", + "format": "date-time" + }, + "DateLastModified": { + "type": "string", + "format": "date-time" + }, + "ItemCount": { + "type": "integer", + "format": "int32" + }, + "ParentName": { + "type": "string" + }, + "PrimaryImageItemId": { + "type": "string" + }, + "PrimaryImageTag": { + "type": "string" + } + } + }, + "QueryResult_Sync.Model.SyncJobItem": { + "type": "object", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.Model.SyncJobItem" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "Sync.Model.SyncJobItem": { + "type": "object", + "properties": { + "Id": { + "type": "integer", + "format": "int64" + }, + "JobId": { + "type": "integer", + "format": "int64" + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "ItemName": { + "type": "string" + }, + "MediaSourceId": { + "type": "string" + }, + "MediaSource": { + "$ref": "#/components/schemas/MediaSourceInfo" + }, + "TargetId": { + "type": "string" + }, + "OutputPath": { + "type": "string" + }, + "Status": { + "enum": [ + "Queued", + "Converting", + "ReadyToTransfer", + "Transferring", + "Synced", + "Failed" + ], + "type": "string" + }, + "Progress": { + "type": "number", + "format": "double", + "nullable": true + }, + "DateCreated": { + "type": "string", + "format": "date-time" + }, + "PrimaryImageItemId": { + "type": "integer", + "format": "int64" + }, + "PrimaryImageTag": { + "type": "string" + }, + "TemporaryPath": { + "type": "string" + }, + "AdditionalFiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.Model.ItemFileInfo" + } + }, + "ItemDateModifiedTicks": { + "type": "integer", + "format": "int64" + } + } + }, + "Sync.Model.ItemFileInfo": { + "type": "object", + "properties": { + "Type": { + "enum": [ + "Media", + "Image", + "Subtitles" + ], + "type": "string" + }, + "Name": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "ImageType": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + }, + "Index": { + "type": "integer", + "format": "int32" + } + } + }, + "Sync.Model.SyncJobRequest": { + "type": "object", + "properties": { + "TargetId": { + "type": "string" + }, + "ItemIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "Category": { + "enum": [ + "Latest", + "NextUp", + "Resume" + ], + "type": "string" + }, + "ParentId": { + "type": "string" + }, + "Quality": { + "type": "string" + }, + "Profile": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "UserId": { + "type": "string" + }, + "UnwatchedOnly": { + "type": "boolean" + }, + "SyncNewContent": { + "type": "boolean" + }, + "ItemLimit": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Bitrate": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + }, + "Sync.Model.SyncJobCreationResult": { + "type": "object", + "properties": { + "Job": { + "$ref": "#/components/schemas/Sync.SyncJob" + }, + "JobItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.Model.SyncJobItem" + } + } + } + }, + "Sync.Model.SyncDialogOptions": { + "type": "object", + "properties": { + "Targets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.SyncTarget" + } + }, + "Options": { + "type": "array", + "items": { + "enum": [ + "Name", + "Quality", + "UnwatchedOnly", + "SyncNewContent", + "ItemLimit", + "Profile" + ], + "type": "string" + } + }, + "QualityOptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.Model.SyncQualityOption" + } + }, + "ProfileOptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.Model.SyncProfileOption" + } + } + } + }, + "Sync.Model.SyncQualityOption": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IsDefault": { + "type": "boolean" + }, + "IsOriginalQuality": { + "type": "boolean" + } + } + }, + "Sync.Model.SyncProfileOption": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IsDefault": { + "type": "boolean" + }, + "EnableQualityOptions": { + "type": "boolean" + } + } + }, + "Users.UserAction": { + "type": "object", + "properties": { + "Id": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "UserId": { + "type": "string" + }, + "ItemId": { + "type": "string" + }, + "Type": { + "enum": [ + "PlayedItem" + ], + "type": "string" + }, + "Date": { + "type": "string", + "format": "date-time" + }, + "PositionTicks": { + "type": "integer", + "format": "int64", + "nullable": true + } + } + }, + "Sync.Model.SyncDataRequest": { + "type": "object", + "properties": { + "LocalItemIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "TargetId": { + "type": "string" + } + } + }, + "Sync.Model.SyncDataResponse": { + "type": "object", + "properties": { + "ItemIdsToRemove": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Configuration.ServerConfiguration": { + "type": "object", + "properties": { + "EnableUPnP": { + "type": "boolean" + }, + "PublicPort": { + "type": "integer", + "format": "int32" + }, + "PublicHttpsPort": { + "type": "integer", + "format": "int32" + }, + "HttpServerPortNumber": { + "type": "integer", + "format": "int32" + }, + "HttpsPortNumber": { + "type": "integer", + "format": "int32" + }, + "EnableHttps": { + "type": "boolean" + }, + "SubtitlePermissionsUpgraded": { + "type": "boolean" + }, + "CertificatePath": { + "type": "string" + }, + "CertificatePassword": { + "type": "string" + }, + "IsPortAuthorized": { + "type": "boolean" + }, + "AutoRunWebApp": { + "type": "boolean" + }, + "EnableRemoteAccess": { + "type": "boolean" + }, + "LogAllQueryTimes": { + "type": "boolean" + }, + "EnableCaseSensitiveItemIds": { + "type": "boolean" + }, + "MetadataPath": { + "type": "string" + }, + "MetadataNetworkPath": { + "type": "string" + }, + "PreferredMetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "SortReplaceCharacters": { + "type": "array", + "items": { + "type": "string" + } + }, + "SortRemoveCharacters": { + "type": "array", + "items": { + "type": "string" + } + }, + "SortRemoveWords": { + "type": "array", + "items": { + "type": "string" + } + }, + "LibraryMonitorDelay": { + "type": "integer", + "format": "int32" + }, + "EnableDashboardResponseCaching": { + "type": "boolean" + }, + "DashboardSourcePath": { + "type": "string" + }, + "ImageSavingConvention": { + "enum": [ + "Legacy", + "Compatible" + ], + "type": "string" + }, + "EnableAutomaticRestart": { + "type": "boolean" + }, + "SkipDeserializationForBasicTypes": { + "type": "boolean" + }, + "ServerName": { + "type": "string" + }, + "WanDdns": { + "type": "string" + }, + "UICulture": { + "type": "string" + }, + "SaveMetadataHidden": { + "type": "boolean" + }, + "RemoteClientBitrateLimit": { + "type": "integer", + "format": "int32" + }, + "SchemaVersion": { + "type": "integer", + "format": "int32" + }, + "DisplaySpecialsWithinSeasons": { + "type": "boolean" + }, + "LocalNetworkSubnets": { + "type": "array", + "items": { + "type": "string" + } + }, + "LocalNetworkAddresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "EnableExternalContentInSuggestions": { + "type": "boolean" + }, + "RequireHttps": { + "type": "boolean" + }, + "IsBehindProxy": { + "type": "boolean" + }, + "RemoteIPFilter": { + "type": "array", + "items": { + "type": "string" + } + }, + "IsRemoteIPFilterBlacklist": { + "type": "boolean" + }, + "ImageExtractionTimeoutMs": { + "type": "integer", + "format": "int32" + }, + "PathSubstitutions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Configuration.PathSubstitution" + } + }, + "UninstalledPlugins": { + "type": "array", + "items": { + "type": "string" + } + }, + "CollapseVideoFolders": { + "type": "boolean" + }, + "EnableOriginalTrackTitles": { + "type": "boolean" + }, + "EnableDebugLevelLogging": { + "type": "boolean" + }, + "EnableAutoUpdate": { + "type": "boolean" + }, + "LogFileRetentionDays": { + "type": "integer", + "format": "int32" + }, + "RunAtStartup": { + "type": "boolean" + }, + "IsStartupWizardCompleted": { + "type": "boolean" + }, + "CachePath": { + "type": "string" + } + } + }, + "Configuration.PathSubstitution": { + "type": "object", + "properties": { + "From": { + "type": "string" + }, + "To": { + "type": "string" + } + } + }, + "WakeOnLanInfo": { + "type": "object", + "properties": { + "MacAddress": { + "type": "string" + }, + "BroadcastAddress": { + "type": "string" + }, + "Port": { + "type": "integer", + "format": "int32" + } + } + }, + "LogFile": { + "type": "object", + "properties": { + "DateCreated": { + "type": "string", + "format": "date-time" + }, + "DateModified": { + "type": "string", + "format": "date-time" + }, + "Size": { + "type": "integer", + "format": "int64" + }, + "Name": { + "type": "string" + } + } + }, + "SystemInfo": { + "type": "object", + "properties": { + "SystemUpdateLevel": { + "enum": [ + "Release", + "Beta", + "Dev" + ], + "type": "string" + }, + "OperatingSystemDisplayName": { + "type": "string" + }, + "PackageName": { + "type": "string" + }, + "HasPendingRestart": { + "type": "boolean" + }, + "IsShuttingDown": { + "type": "boolean" + }, + "SupportsLibraryMonitor": { + "type": "boolean" + }, + "WebSocketPortNumber": { + "type": "integer", + "format": "int32" + }, + "CompletedInstallations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Updates.InstallationInfo" + } + }, + "CanSelfRestart": { + "type": "boolean" + }, + "CanSelfUpdate": { + "type": "boolean" + }, + "CanLaunchWebBrowser": { + "type": "boolean" + }, + "ProgramDataPath": { + "type": "string" + }, + "ItemsByNamePath": { + "type": "string" + }, + "CachePath": { + "type": "string" + }, + "LogPath": { + "type": "string" + }, + "InternalMetadataPath": { + "type": "string" + }, + "TranscodingTempPath": { + "type": "string" + }, + "HttpServerPortNumber": { + "type": "integer", + "format": "int32" + }, + "SupportsHttps": { + "type": "boolean" + }, + "HttpsPortNumber": { + "type": "integer", + "format": "int32" + }, + "HasUpdateAvailable": { + "type": "boolean" + }, + "SupportsAutoRunAtStartup": { + "type": "boolean" + }, + "HardwareAccelerationRequiresPremiere": { + "type": "boolean" + }, + "LocalAddress": { + "type": "string" + }, + "WanAddress": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "Version": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "Id": { + "type": "string" + } + } + }, + "Updates.InstallationInfo": { + "type": "object", + "properties": { + "Id": { + "type": "string", + "format": "guid" + }, + "Name": { + "type": "string" + }, + "AssemblyGuid": { + "type": "string" + }, + "Version": { + "type": "string" + }, + "UpdateClass": { + "enum": [ + "Release", + "Beta", + "Dev" + ], + "type": "string" + }, + "PercentComplete": { + "type": "number", + "format": "double", + "nullable": true + } + } + }, + "Net.EndPointInfo": { + "type": "object", + "properties": { + "IsLocal": { + "type": "boolean" + }, + "IsInNetwork": { + "type": "boolean" + } + } + }, + "AuthenticateUserByName": { + "type": "object", + "properties": { + "Username": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Pw": { + "type": "string" + } + } + }, + "Authentication.AuthenticationResult": { + "type": "object", + "properties": { + "User": { + "$ref": "#/components/schemas/UserDto" + }, + "SessionInfo": { + "$ref": "#/components/schemas/Session.SessionInfo" + }, + "AccessToken": { + "type": "string" + }, + "ServerId": { + "type": "string" + } + } + }, + "CreateUserByName": { + "type": "object", + "properties": { + "Name": { + "type": "string" + } + } + }, + "ForgotPassword": { + "type": "object", + "properties": { + "EnteredUsername": { + "type": "string" + } + } + }, + "Users.ForgotPasswordResult": { + "type": "object", + "properties": { + "Action": { + "enum": [ + "ContactAdmin", + "PinCode", + "InNetworkRequired" + ], + "type": "string" + }, + "PinFile": { + "type": "string" + }, + "PinExpirationDate": { + "type": "string", + "format": "date-time", + "nullable": true + } + } + }, + "playback_reporting.Api.CustomQuery": { + "type": "object", + "properties": { + "CustomQueryString": { + "type": "string" + }, + "ReplaceUserId": { + "type": "boolean" + } + } + }, + "WebDashboard.Api.ConfigurationPageInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "EnableInMainMenu": { + "type": "boolean" + }, + "MenuSection": { + "type": "string" + }, + "MenuIcon": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "ConfigurationPageType": { + "enum": [ + "PluginConfiguration", + "None" + ], + "type": "string" + }, + "PluginId": { + "type": "string" + } + } + }, + "MediaEncoding.Codecs.VideoCodecs.VideoCodecBase": { + "type": "object", + "properties": { + "CodecKind": { + "enum": [ + "Audio", + "Video", + "SubTitles" + ], + "type": "string" + }, + "MediaTypeName": { + "type": "string" + }, + "VideoMediaType": { + "enum": [ + "Unknown", + "copy", + "flv1", + "h263", + "h263p", + "h264", + "hevc", + "mjpeg", + "mpeg1video", + "mpeg2video", + "mpeg4", + "msvideo1", + "theora", + "vc1image", + "vc1", + "vp8", + "vp9", + "wmv1", + "wmv2", + "wmv3", + "_012v", + "_4xm", + "_8bps", + "a64_multi", + "a64_multi5", + "aasc", + "aic", + "alias_pix", + "amv", + "anm", + "ansi", + "apng", + "asv1", + "asv2", + "aura", + "aura2", + "av1", + "avrn", + "avrp", + "avs", + "avui", + "ayuv", + "bethsoftvid", + "bfi", + "binkvideo", + "bintext", + "bitpacked", + "bmp", + "bmv_video", + "brender_pix", + "c93", + "cavs", + "cdgraphics", + "cdxl", + "cfhd", + "cinepak", + "clearvideo", + "cljr", + "cllc", + "cmv", + "cpia", + "cscd", + "cyuv", + "daala", + "dds", + "dfa", + "dirac", + "dnxhd", + "dpx", + "dsicinvideo", + "dvvideo", + "dxa", + "dxtory", + "dxv", + "escape124", + "escape130", + "exr", + "ffv1", + "ffvhuff", + "fic", + "fits", + "flashsv", + "flashsv2", + "flic", + "fmvc", + "fraps", + "frwu", + "g2m", + "gdv", + "gif", + "h261", + "h263i", + "hap", + "hnm4video", + "hq_hqa", + "hqx", + "huffyuv", + "idcin", + "idf", + "iff_ilbm", + "indeo2", + "indeo3", + "indeo4", + "indeo5", + "interplayvideo", + "jpeg2000", + "jpegls", + "jv", + "kgv1", + "kmvc", + "lagarith", + "ljpeg", + "loco", + "m101", + "mad", + "magicyuv", + "mdec", + "mimic", + "mjpegb", + "mmvideo", + "motionpixels", + "msa1", + "mscc", + "msmpeg4v1", + "msmpeg4v2", + "msmpeg4v3", + "msrle", + "mss1", + "mss2", + "mszh", + "mts2", + "mvc1", + "mvc2", + "mxpeg", + "nuv", + "paf_video", + "pam", + "pbm", + "pcx", + "pgm", + "pgmyuv", + "pictor", + "pixlet", + "png", + "ppm", + "prores", + "psd", + "ptx", + "qdraw", + "qpeg", + "qtrle", + "r10k", + "r210", + "rawvideo", + "rl2", + "roq", + "rpza", + "rscc", + "rv10", + "rv20", + "rv30", + "rv40", + "sanm", + "scpr", + "screenpresso", + "sgi", + "sgirle", + "sheervideo", + "smackvideo", + "smc", + "smvjpeg", + "snow", + "sp5x", + "speedhq", + "srgc", + "sunrast", + "svg", + "svq1", + "svq3", + "targa", + "targa_y216", + "tdsc", + "tgq", + "tgv", + "thp", + "tiertexseqvideo", + "tiff", + "tmv", + "tqi", + "truemotion1", + "truemotion2", + "truemotion2rt", + "tscc", + "tscc2", + "txd", + "ulti", + "utvideo", + "v210", + "v210x", + "v308", + "v408", + "v410", + "vb", + "vble", + "vcr1", + "vixl", + "vmdvideo", + "vmnc", + "vp3", + "vp5", + "vp6", + "vp6a", + "vp6f", + "vp7", + "webp", + "wmv3image", + "wnv1", + "wrapped_avframe", + "ws_vqa", + "xan_wc3", + "xan_wc4", + "xbin", + "xbm", + "xface", + "xpm", + "xwd", + "y41p", + "ylc", + "yop", + "yuv4", + "zerocodec", + "zlib", + "zmbv" + ], + "type": "string" + }, + "MinWidth": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MaxWidth": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MinHeight": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MaxHeight": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "WidthAlignment": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "HeightAlignment": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MinFrameRate": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MaxFrameRate": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SupportedColorFormats": { + "type": "array", + "items": { + "enum": [ + "Unknown", + "yuv420p", + "yuyv422", + "rgb24", + "bgr24", + "yuv422p", + "yuv444p", + "yuv410p", + "yuv411p", + "gray", + "monow", + "monob", + "pal8", + "yuvj420p", + "yuvj422p", + "yuvj444p", + "uyvy422", + "uyyvyy411", + "bgr8", + "bgr4", + "bgr4_byte", + "rgb8", + "rgb4", + "rgb4_byte", + "nv12", + "nv21", + "argb", + "rgba", + "abgr", + "bgra", + "gray16", + "yuv440p", + "yuvj440p", + "yuva420p", + "rgb48", + "rgb565", + "rgb555", + "bgr565", + "bgr555", + "vaapi_moco", + "vaapi_idct", + "vaapi_vld", + "yuv420p16", + "yuv422p16", + "yuv444p16", + "dxva2_vld", + "rgb444", + "bgr444", + "ya8", + "bgr48", + "yuv420p9", + "yuv420p10", + "yuv422p10", + "yuv444p9", + "yuv444p10", + "yuv422p9", + "gbrp", + "gbrp9", + "gbrp10", + "gbrp16", + "yuva422p", + "yuva444p", + "yuva420p9", + "yuva422p9", + "yuva444p9", + "yuva420p10", + "yuva422p10", + "yuva444p10", + "yuva420p16", + "yuva422p16", + "yuva444p16", + "vdpau", + "xyz12", + "nv16", + "nv20", + "rgba64", + "bgra64", + "yvyu422", + "ya16", + "gbrap", + "gbrap16", + "qsv", + "mmal", + "d3d11va_vld", + "cuda", + "_0rgb", + "rgb0", + "_0bgr", + "bgr0", + "yuv420p12", + "yuv420p14", + "yuv422p12", + "yuv422p14", + "yuv444p12", + "yuv444p14", + "gbrp12", + "gbrp14", + "yuvj411p", + "bayer_bggr8", + "bayer_rggb8", + "bayer_gbrg8", + "bayer_grbg8", + "bayer_bggr16", + "bayer_rggb16", + "bayer_gbrg16", + "bayer_grbg16", + "xvmc", + "yuv440p10", + "yuv440p12", + "ayuv64", + "videotoolbox_vld", + "p010", + "gbrap12", + "gbrap10", + "mediacodec", + "gray12", + "gray10", + "p016", + "d3d11", + "gray9", + "gbrpf32", + "gbrapf32", + "drm_prime", + "opencl" + ], + "type": "string" + } + }, + "SupportedColorFormatStrings": { + "type": "array", + "items": { + "type": "string" + } + }, + "ProfileAndLevelInformation": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaEncoding.Codecs.Common.Types.ProfileLevelInformation" + } + }, + "Id": { + "type": "string" + }, + "Direction": { + "enum": [ + "Encoder", + "Decoder" + ], + "type": "string" + }, + "Name": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FrameworkCodec": { + "type": "string" + }, + "IsHardwareCodec": { + "type": "boolean" + }, + "SecondaryFramework": { + "enum": [ + "Unknown", + "None", + "AmdAmf", + "MediaCodec", + "NvEncDec", + "OpenMax", + "QuickSync", + "VaApi", + "V4L2", + "DxVa", + "D3d11va", + "VideoToolbox" + ], + "type": "string" + }, + "SecondaryFrameworkCodec": { + "type": "string" + }, + "MaxInstanceCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MinBitRate": { + "$ref": "#/components/schemas/MediaEncoding.Codecs.Common.Types.BitRate" + }, + "MaxBitRate": { + "$ref": "#/components/schemas/MediaEncoding.Codecs.Common.Types.BitRate" + }, + "IsEnabledByDefault": { + "type": "boolean" + }, + "DefaultPriority": { + "type": "integer", + "format": "int32" + } + } + }, + "MediaEncoding.Codecs.Common.Types.ProfileLevelInformation": { + "type": "object", + "properties": { + "Profile": { + "$ref": "#/components/schemas/MediaEncoding.Codecs.Common.Types.ProfileInformation" + }, + "Level": { + "$ref": "#/components/schemas/MediaEncoding.Codecs.Common.Types.LevelInformation" + } + } + }, + "MediaEncoding.Codecs.Common.Types.ProfileInformation": { + "type": "object", + "properties": { + "ShortName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Details": { + "type": "string" + }, + "Id": { + "type": "string" + } + } + }, + "MediaEncoding.Codecs.Common.Types.LevelInformation": { + "type": "object", + "properties": { + "ShortName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Ordinal": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MaxBitRate": { + "$ref": "#/components/schemas/MediaEncoding.Codecs.Common.Types.BitRate" + }, + "MaxBitRateDisplay": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "ResolutionRates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaEncoding.Codecs.Common.Types.ResolutionWithRate" + } + }, + "ResolutionRateStrings": { + "type": "array", + "items": { + "type": "string" + } + }, + "ResolutionRatesDisplay": { + "type": "string" + } + } + }, + "MediaEncoding.Codecs.Common.Types.BitRate": { + "type": "object", + "properties": { + "bps": { + "type": "integer", + "format": "int64" + }, + "kbps": { + "type": "number", + "format": "double" + }, + "Mbps": { + "type": "number", + "format": "double" + } + } + }, + "MediaEncoding.Codecs.Common.Types.ResolutionWithRate": { + "type": "object", + "properties": { + "Width": { + "type": "integer", + "format": "int32" + }, + "Height": { + "type": "integer", + "format": "int32" + }, + "FrameRate": { + "type": "number", + "format": "double" + }, + "Resolution": { + "$ref": "#/components/schemas/MediaEncoding.Codecs.Common.Types.Resolution" + } + } + }, + "MediaEncoding.Codecs.Common.Types.Resolution": { + "type": "object", + "properties": { + "Width": { + "type": "integer", + "format": "int32" + }, + "Height": { + "type": "integer", + "format": "int32" + } + } + }, + "Configuration.CodecConfiguration": { + "type": "object", + "properties": { + "IsEnabled": { + "type": "boolean" + }, + "Priority": { + "type": "integer", + "format": "int32" + }, + "CodecId": { + "type": "string" + } + } + }, + "ExternalIdInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "UrlFormatString": { + "type": "string" + } + } + }, + "Providers.RemoteSearchQuery_Providers.TrailerInfo": { + "type": "object", + "properties": { + "SearchInfo": { + "$ref": "#/components/schemas/Providers.TrailerInfo" + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "SearchProviderName": { + "type": "string" + }, + "IncludeDisabledProviders": { + "type": "boolean" + } + } + }, + "Providers.TrailerInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "MetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Year": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "IsAutomated": { + "type": "boolean" + } + } + }, + "RemoteSearchResult": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "ProductionYear": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumberEnd": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ImageUrl": { + "type": "string" + }, + "SearchProviderName": { + "type": "string" + }, + "GameSystem": { + "type": "string" + }, + "Overview": { + "type": "string" + }, + "AlbumArtist": { + "$ref": "#/components/schemas/RemoteSearchResult" + }, + "Artists": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteSearchResult" + } + } + } + }, + "Providers.RemoteSearchQuery_Providers.BookInfo": { + "type": "object", + "properties": { + "SearchInfo": { + "$ref": "#/components/schemas/Providers.BookInfo" + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "SearchProviderName": { + "type": "string" + }, + "IncludeDisabledProviders": { + "type": "boolean" + } + } + }, + "Providers.BookInfo": { + "type": "object", + "properties": { + "SeriesName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "MetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Year": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "IsAutomated": { + "type": "boolean" + } + } + }, + "Providers.RemoteSearchQuery_Providers.MovieInfo": { + "type": "object", + "properties": { + "SearchInfo": { + "$ref": "#/components/schemas/Providers.MovieInfo" + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "SearchProviderName": { + "type": "string" + }, + "IncludeDisabledProviders": { + "type": "boolean" + } + } + }, + "Providers.MovieInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "MetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Year": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "IsAutomated": { + "type": "boolean" + } + } + }, + "Providers.RemoteSearchQuery_Providers.SeriesInfo": { + "type": "object", + "properties": { + "SearchInfo": { + "$ref": "#/components/schemas/Providers.SeriesInfo" + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "SearchProviderName": { + "type": "string" + }, + "IncludeDisabledProviders": { + "type": "boolean" + } + } + }, + "Providers.SeriesInfo": { + "type": "object", + "properties": { + "EpisodeAirDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "Name": { + "type": "string" + }, + "MetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Year": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "IsAutomated": { + "type": "boolean" + } + } + }, + "Providers.RemoteSearchQuery_Providers.GameInfo": { + "type": "object", + "properties": { + "SearchInfo": { + "$ref": "#/components/schemas/Providers.GameInfo" + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "SearchProviderName": { + "type": "string" + }, + "IncludeDisabledProviders": { + "type": "boolean" + } + } + }, + "Providers.GameInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "MetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Year": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "IsAutomated": { + "type": "boolean" + } + } + }, + "Providers.RemoteSearchQuery_Providers.BoxSetInfo": { + "type": "object", + "properties": { + "SearchInfo": { + "$ref": "#/components/schemas/Providers.BoxSetInfo" + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "SearchProviderName": { + "type": "string" + }, + "IncludeDisabledProviders": { + "type": "boolean" + } + } + }, + "Providers.BoxSetInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "MetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Year": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "IsAutomated": { + "type": "boolean" + } + } + }, + "Providers.RemoteSearchQuery_Providers.MusicVideoInfo": { + "type": "object", + "properties": { + "SearchInfo": { + "$ref": "#/components/schemas/Providers.MusicVideoInfo" + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "SearchProviderName": { + "type": "string" + }, + "IncludeDisabledProviders": { + "type": "boolean" + } + } + }, + "Providers.MusicVideoInfo": { + "type": "object", + "properties": { + "Artists": { + "type": "array", + "items": { + "type": "string" + } + }, + "Name": { + "type": "string" + }, + "MetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Year": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "IsAutomated": { + "type": "boolean" + } + } + }, + "Providers.RemoteSearchQuery_Providers.PersonLookupInfo": { + "type": "object", + "properties": { + "SearchInfo": { + "$ref": "#/components/schemas/Providers.PersonLookupInfo" + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "SearchProviderName": { + "type": "string" + }, + "IncludeDisabledProviders": { + "type": "boolean" + } + } + }, + "Providers.PersonLookupInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "MetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Year": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "IsAutomated": { + "type": "boolean" + } + } + }, + "Providers.RemoteSearchQuery_Providers.AlbumInfo": { + "type": "object", + "properties": { + "SearchInfo": { + "$ref": "#/components/schemas/Providers.AlbumInfo" + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "SearchProviderName": { + "type": "string" + }, + "IncludeDisabledProviders": { + "type": "boolean" + } + } + }, + "Providers.AlbumInfo": { + "type": "object", + "properties": { + "AlbumArtists": { + "type": "array", + "items": { + "type": "string" + } + }, + "SongInfos": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Providers.SongInfo" + } + }, + "Name": { + "type": "string" + }, + "MetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Year": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "IsAutomated": { + "type": "boolean" + } + } + }, + "Providers.SongInfo": { + "type": "object", + "properties": { + "AlbumArtists": { + "type": "array", + "items": { + "type": "string" + } + }, + "Album": { + "type": "string" + }, + "Artists": { + "type": "array", + "items": { + "type": "string" + } + }, + "Name": { + "type": "string" + }, + "MetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Year": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "IsAutomated": { + "type": "boolean" + } + } + }, + "Providers.RemoteSearchQuery_Providers.ArtistInfo": { + "type": "object", + "properties": { + "SearchInfo": { + "$ref": "#/components/schemas/Providers.ArtistInfo" + }, + "ItemId": { + "type": "integer", + "format": "int64" + }, + "SearchProviderName": { + "type": "string" + }, + "IncludeDisabledProviders": { + "type": "boolean" + } + } + }, + "Providers.ArtistInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "MetadataLanguage": { + "type": "string" + }, + "MetadataCountryCode": { + "type": "string" + }, + "ProviderIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Year": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "ParentIndexNumber": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "PremiereDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "IsAutomated": { + "type": "boolean" + } + } + }, + "MetadataEditorInfo": { + "type": "object", + "properties": { + "ParentalRatingOptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ParentalRating" + } + }, + "Countries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Globalization.CountryInfo" + } + }, + "Cultures": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Globalization.CultureDto" + } + }, + "ExternalIdInfos": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExternalIdInfo" + } + } + } + }, + "Library.DeleteInfo": { + "type": "object", + "properties": { + "Paths": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AllThemeMediaResult": { + "type": "object", + "properties": { + "ThemeVideosResult": { + "$ref": "#/components/schemas/ThemeMediaResult" + }, + "ThemeSongsResult": { + "$ref": "#/components/schemas/ThemeMediaResult" + }, + "SoundtrackSongsResult": { + "$ref": "#/components/schemas/ThemeMediaResult" + } + } + }, + "ThemeMediaResult": { + "type": "object", + "properties": { + "OwnerId": { + "type": "integer", + "format": "int64" + }, + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseItemDto" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "ImageInfo": { + "type": "object", + "properties": { + "ImageType": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + }, + "ImageIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Path": { + "type": "string" + }, + "Height": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Width": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Size": { + "type": "integer", + "format": "int64" + } + } + }, + "RemoteImageResult": { + "type": "object", + "properties": { + "Images": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RemoteImageInfo" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + }, + "Providers": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RemoteImageInfo": { + "type": "object", + "properties": { + "ProviderName": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "ThumbnailUrl": { + "type": "string" + }, + "Height": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Width": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "CommunityRating": { + "type": "number", + "format": "double", + "nullable": true + }, + "VoteCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Language": { + "type": "string" + }, + "Type": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + }, + "RatingType": { + "enum": [ + "Score", + "Likes" + ], + "type": "string" + } + } + }, + "RokuMetadata.Api.ThumbnailSetInfo": { + "type": "object", + "properties": { + "AspectRatio": { + "type": "number", + "format": "double", + "nullable": true + }, + "Thumbnails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RokuMetadata.Api.ThumbnailInfo" + } + } + } + }, + "RokuMetadata.Api.ThumbnailInfo": { + "type": "object", + "properties": { + "PositionTicks": { + "type": "integer", + "format": "int64" + }, + "ImageTag": { + "type": "string" + } + } + }, + "MediaInfo.PlaybackInfoResponse": { + "type": "object", + "properties": { + "MediaSources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MediaSourceInfo" + } + }, + "PlaySessionId": { + "type": "string" + }, + "ErrorCode": { + "enum": [ + "NotAllowed", + "NoCompatibleStream", + "RateLimitExceeded" + ], + "type": "string" + } + } + }, + "MediaInfo.PlaybackInfoRequest": { + "type": "object", + "properties": { + "Id": { + "type": "string" + }, + "UserId": { + "type": "string" + }, + "MaxStreamingBitrate": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "StartTimeTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "AudioStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SubtitleStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MaxAudioChannels": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MediaSourceId": { + "type": "string" + }, + "LiveStreamId": { + "type": "string" + }, + "DeviceProfile": { + "$ref": "#/components/schemas/Dlna.DeviceProfile" + }, + "EnableDirectPlay": { + "type": "boolean" + }, + "EnableDirectStream": { + "type": "boolean" + }, + "EnableTranscoding": { + "type": "boolean" + }, + "AllowVideoStreamCopy": { + "type": "boolean" + }, + "AllowAudioStreamCopy": { + "type": "boolean" + }, + "IsPlayback": { + "type": "boolean" + }, + "AutoOpenLiveStream": { + "type": "boolean" + }, + "DirectPlayProtocols": { + "type": "array", + "items": { + "enum": [ + "File", + "Http", + "Rtmp", + "Rtsp", + "Udp", + "Rtp", + "Ftp", + "Mms" + ], + "type": "string" + } + } + } + }, + "Library.PostUpdatedMedia": { + "type": "object", + "properties": { + "Updates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Library.MediaUpdateInfo" + } + } + } + }, + "Library.MediaUpdateInfo": { + "type": "object", + "properties": { + "Path": { + "type": "string" + }, + "UpdateType": { + "type": "string" + } + } + }, + "Library.UpdateLibraryOptions": { + "type": "object", + "properties": { + "Id": { + "type": "string" + }, + "LibraryOptions": { + "$ref": "#/components/schemas/Configuration.LibraryOptions" + } + } + }, + "Library.RenameVirtualFolder": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "NewName": { + "type": "string" + }, + "RefreshLibrary": { + "type": "boolean" + } + } + }, + "Library.AddMediaPath": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PathInfo": { + "$ref": "#/components/schemas/Configuration.MediaPathInfo" + }, + "RefreshLibrary": { + "type": "boolean" + } + } + }, + "LiveTv.ListingProviderTypeInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SetupUrl": { + "type": "string" + } + } + }, + "Emby.Notifications.Api.NotificationsSummary": { + "type": "object", + "properties": { + "UnreadCount": { + "type": "integer", + "format": "int32" + }, + "MaxUnreadNotificationLevel": { + "enum": [ + "Normal", + "Warning", + "Error" + ], + "type": "string" + } + } + }, + "PlayRequest": { + "type": "object", + "properties": { + "ControllingUserId": { + "type": "string" + }, + "SubtitleStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "AudioStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "MediaSourceId": { + "type": "string" + }, + "StartIndex": { + "type": "integer", + "format": "int32", + "nullable": true + } + } + }, + "GeneralCommand": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "ControllingUserId": { + "type": "string" + }, + "Arguments": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PlaybackProgressInfo": { + "type": "object", + "properties": { + "CanSeek": { + "type": "boolean" + }, + "Item": { + "$ref": "#/components/schemas/BaseItemDto" + }, + "NowPlayingQueue": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueItem" + } + }, + "PlaylistItemId": { + "type": "string" + }, + "ItemId": { + "type": "string" + }, + "SessionId": { + "type": "string" + }, + "MediaSourceId": { + "type": "string" + }, + "AudioStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "SubtitleStreamIndex": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IsPaused": { + "type": "boolean" + }, + "IsMuted": { + "type": "boolean" + }, + "PositionTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "RunTimeTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "PlaybackStartTimeTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "VolumeLevel": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "Brightness": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "AspectRatio": { + "type": "string" + }, + "PlayMethod": { + "enum": [ + "Transcode", + "DirectStream", + "DirectPlay" + ], + "type": "string" + }, + "LiveStreamId": { + "type": "string" + }, + "PlaySessionId": { + "type": "string" + }, + "RepeatMode": { + "enum": [ + "RepeatNone", + "RepeatAll", + "RepeatOne" + ], + "type": "string" + } + } + }, + "PlaybackStopInfo": { + "type": "object", + "properties": { + "NowPlayingQueue": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueItem" + } + }, + "PlaylistItemId": { + "type": "string" + }, + "Item": { + "$ref": "#/components/schemas/BaseItemDto" + }, + "ItemId": { + "type": "string" + }, + "SessionId": { + "type": "string" + }, + "MediaSourceId": { + "type": "string" + }, + "PositionTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "LiveStreamId": { + "type": "string" + }, + "PlaySessionId": { + "type": "string" + }, + "Failed": { + "type": "boolean" + }, + "NextMediaType": { + "type": "string" + } + } + }, + "Sync.Model.SyncedItemProgress": { + "type": "object", + "properties": { + "Progress": { + "type": "number", + "format": "double", + "nullable": true + }, + "Status": { + "enum": [ + "Queued", + "Converting", + "ReadyToTransfer", + "Transferring", + "Synced", + "Failed" + ], + "type": "string" + } + } + }, + "Sync.Model.SyncedItem": { + "type": "object", + "properties": { + "ServerId": { + "type": "string" + }, + "SyncJobId": { + "type": "integer", + "format": "int64" + }, + "SyncJobName": { + "type": "string" + }, + "SyncJobDateCreated": { + "type": "string", + "format": "date-time" + }, + "SyncJobItemId": { + "type": "integer", + "format": "int64" + }, + "OriginalFileName": { + "type": "string" + }, + "Item": { + "$ref": "#/components/schemas/BaseItemDto" + }, + "UserId": { + "type": "string" + }, + "AdditionalFiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sync.Model.ItemFileInfo" + } + } + } + }, + "QueryResult_ActivityLogEntry": { + "type": "object", + "properties": { + "Items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ActivityLogEntry" + } + }, + "TotalRecordCount": { + "type": "integer", + "format": "int32" + } + } + }, + "ActivityLogEntry": { + "type": "object", + "properties": { + "Id": { + "type": "integer", + "format": "int64" + }, + "Name": { + "type": "string" + }, + "Overview": { + "type": "string" + }, + "ShortOverview": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "ItemId": { + "type": "string" + }, + "Date": { + "type": "string", + "format": "date-time" + }, + "UserId": { + "type": "string" + }, + "UserPrimaryImageTag": { + "type": "string" + }, + "Severity": { + "enum": [ + "Info", + "Debug", + "Warn", + "Error", + "Fatal" + ], + "type": "string" + } + } + }, + "PublicSystemInfo": { + "type": "object", + "properties": { + "LocalAddress": { + "type": "string" + }, + "WanAddress": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "Version": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "Id": { + "type": "string" + } + } + }, + "AuthenticateUser": { + "type": "object", + "properties": { + "Pw": { + "type": "string" + }, + "Password": { + "type": "string" + } + } + }, + "UpdateUserPassword": { + "type": "object", + "properties": { + "Id": { + "type": "string" + }, + "CurrentPw": { + "type": "string" + }, + "NewPw": { + "type": "string" + }, + "ResetPassword": { + "type": "boolean" + } + } + }, + "UpdateUserEasyPassword": { + "type": "object", + "properties": { + "Id": { + "type": "string" + }, + "NewPw": { + "type": "string" + }, + "ResetPassword": { + "type": "boolean" + } + } + }, + "ForgotPasswordPin": { + "type": "object", + "properties": { + "Pin": { + "type": "string" + } + } + }, + "Users.PinRedeemResult": { + "type": "object", + "properties": { + "Success": { + "type": "boolean" + }, + "UsersReset": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ImageProviderInfo": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "SupportedImages": { + "type": "array", + "items": { + "enum": [ + "Primary", + "Art", + "Backdrop", + "Banner", + "Logo", + "Thumb", + "Disc", + "Box", + "Screenshot", + "Menu", + "Chapter", + "BoxRear", + "Thumbnail" + ], + "type": "string" + } + } + } + }, + "Library.UpdateMediaPath": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "PathInfo": { + "$ref": "#/components/schemas/Configuration.MediaPathInfo" + } + } + }, + "PlaystateRequest": { + "type": "object", + "properties": { + "Command": { + "enum": [ + "Stop", + "Pause", + "Unpause", + "NextTrack", + "PreviousTrack", + "Seek", + "Rewind", + "FastForward", + "PlayPause" + ], + "type": "string" + }, + "SeekPositionTicks": { + "type": "integer", + "format": "int64", + "nullable": true + }, + "ControllingUserId": { + "type": "string" + } + } + }, + "Connect.UserLinkResult": { + "type": "object", + "properties": { + "IsPending": { + "type": "boolean" + }, + "IsNewUserInvitation": { + "type": "boolean" + }, + "GuestDisplayName": { + "type": "string" + } + } + }, + "RemoteSubtitleInfo": { + "type": "object", + "properties": { + "ThreeLetterISOLanguageName": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Author": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "CommunityRating": { + "type": "number", + "format": "float", + "nullable": true + }, + "DownloadCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "IsHashMatch": { + "type": "boolean", + "nullable": true + }, + "IsForced": { + "type": "boolean", + "nullable": true + } + } + } + }, + "responses": { + "400": { + "description": "Bad Request. Server cannot process request." + }, + "401": { + "description": "Unauthorized. Client needs to authenticate." + }, + "403": { + "description": "Forbidden. No permission for the reqested operation." + }, + "404": { + "description": "Resource not found or unavailable." + }, + "5XX": { + "description": "Server error." + } + }, + "securitySchemes": { + "apikeyauth": { + "type": "apiKey", + "description": "**ApiKey Authentication** \nAPI keys are static access tokens providing access to the Emby API for external applications. \n \nKeys can be created from the Server Dashboard under **Advanced > Security** \nThe api key can alternatively be specified in an http header named _X-Emby-Token_ \nFor details please see the [API Documentation: ApiKey Authentication](https://github.com/MediaBrowser/Emby/wiki/ApiKeyAuthentication)", + "name": "api_key", + "in": "query" + }, + "embyauth": { + "type": "http", + "description": "**Emby User Authentication** \nAn access token must be acquired via _/Users/AuthenticateByName_ and then sent in an http header with every reuest. \nFor details please see the [API Documentation: Authentication](https://github.com/MediaBrowser/Emby/wiki/User-Authentication) \n**(not available for interative tryout)**", + "scheme": "bearer", + "bearerFormat": "Emby UserId=\"(guid)\", Client=\"(string)\", Device=\"(string)\", DeviceId=\"(string)\", Version=\"string\", Token=\"(string)\"" + } + } + }, + "tags": [ + { + "name": "ArtistsService" + }, + { + "name": "TagService" + }, + { + "name": "ChannelService" + }, + { + "name": "CollectionService" + }, + { + "name": "DeviceService" + }, + { + "name": "GameGenresService" + }, + { + "name": "GenresService" + }, + { + "name": "ItemsService", + "externalDocs": { + "description": "API Documentation: Item Information", + "url": "https://github.com/MediaBrowser/Emby/wiki/Item-Information" + } + }, + { + "name": "LibraryService", + "externalDocs": { + "description": "API Documentation: Browsing the Library", + "url": "https://github.com/MediaBrowser/Emby/wiki/Browsing-the-Library" + } + }, + { + "name": "MusicGenresService" + }, + { + "name": "OfficialRatingService" + }, + { + "name": "OpenApiService" + }, + { + "name": "PackageService" + }, + { + "name": "PersonsService" + }, + { + "name": "PlaylistService", + "externalDocs": { + "description": "API Documentation: Playlists", + "url": "https://github.com/MediaBrowser/Emby/wiki/Playlists" + } + }, + { + "name": "PluginService" + }, + { + "name": "ScheduledTaskService" + }, + { + "name": "SessionsService", + "externalDocs": { + "description": "API Documentation: Remote control", + "url": "https://github.com/MediaBrowser/Emby/wiki/Remote-control" + } + }, + { + "name": "StudiosService" + }, + { + "name": "TrailersService" + }, + { + "name": "UserService" + }, + { + "name": "ImageService", + "externalDocs": { + "description": "API Documentation: Images", + "url": "https://github.com/MediaBrowser/Emby/wiki/Images" + } + }, + { + "name": "InstantMixService" + }, + { + "name": "BrandingService" + }, + { + "name": "ConnectService" + }, + { + "name": "DisplayPreferencesService" + }, + { + "name": "DlnaService" + }, + { + "name": "EnvironmentService" + }, + { + "name": "GamesService" + }, + { + "name": "ImageByNameService" + }, + { + "name": "RemoteImageService" + }, + { + "name": "FilterService" + }, + { + "name": "ItemUpdateService" + }, + { + "name": "VideoService", + "externalDocs": { + "description": "API Documentation: Video streaming", + "url": "https://github.com/MediaBrowser/Emby/wiki/Video-Streaming" + } + }, + { + "name": "LibraryStructureService" + }, + { + "name": "MediaInfoService" + }, + { + "name": "LiveTvService", + "externalDocs": { + "description": "API Documentation: Live TV", + "url": "https://github.com/MediaBrowser/Emby/wiki/Live-TV" + } + }, + { + "name": "LocalizationService" + }, + { + "name": "MoviesService" + }, + { + "name": "NewsService" + }, + { + "name": "NotificationsService" + }, + { + "name": "ReportsService" + }, + { + "name": "SearchService" + }, + { + "name": "PlaystateService" + }, + { + "name": "TvShowsService" + }, + { + "name": "SyncService", + "externalDocs": { + "description": "API Documentation: Sync", + "url": "https://github.com/MediaBrowser/Emby/wiki/Sync" + } + }, + { + "name": "ConfigurationService" + }, + { + "name": "SystemService" + }, + { + "name": "UserActivityAPI" + }, + { + "name": "VideosService" + }, + { + "name": "HlsSegmentService" + }, + { + "name": "DashboardService" + }, + { + "name": "UniversalAudioService", + "externalDocs": { + "description": "API Documentation: Audio streaming", + "url": "https://github.com/MediaBrowser/Emby/wiki/Audio-Streaming" + } + }, + { + "name": "AudioService", + "externalDocs": { + "description": "API Documentation: Audio streaming", + "url": "https://github.com/MediaBrowser/Emby/wiki/Audio-Streaming" + } + }, + { + "name": "DynamicHlsService", + "externalDocs": { + "description": "API Documentation: Http Live Streaming", + "url": "https://github.com/MediaBrowser/Emby/wiki/Http-Live-Streaming" + } + }, + { + "name": "DlnaServerService" + }, + { + "name": "EncodingInfoService" + }, + { + "name": "ItemLookupService" + }, + { + "name": "ItemRefreshService" + }, + { + "name": "BifService" + }, + { + "name": "UserLibraryService", + "externalDocs": { + "description": "API Documentation: Browsing the Library", + "url": "https://github.com/MediaBrowser/Emby/wiki/Browsing-the-Library" + } + }, + { + "name": "ActivityLogService" + }, + { + "name": "SuggestionsService" + }, + { + "name": "UserViewsService", + "externalDocs": { + "description": "API Documentation: Browsing the Library", + "url": "https://github.com/MediaBrowser/Emby/wiki/Browsing-the-Library" + } + }, + { + "name": "VideoHlsService" + }, + { + "name": "ServerApiEndpoints" + }, + { + "name": "SubtitleService" + } + ], + "externalDocs": { + "description": "API Documentation Wiki", + "url": "https://github.com/MediaBrowser/Emby/wiki" + } +} diff --git a/internal/handler/emby_views_handlers.go b/internal/handler/emby_views_handlers.go index 8553dfa..58c867c 100644 --- a/internal/handler/emby_views_handlers.go +++ b/internal/handler/emby_views_handlers.go @@ -47,6 +47,13 @@ func embyVirtualFoldersHandler(svc *service.Container) gin.HandlerFunc { case "music": collectionType = "music" } + // 库封面广告:能解析出封面时才填 ImageTags.Primary,让客户端去请求 + // /Items/{libID}/Images/Primary(MediaFolders 是老式端点,客户端主要 + // 靠 ImageTags 判断有无主图)。 + imageTags := map[string]string{} + if svc.Emby.LibraryHasCover(c.Request.Context(), lib.ID) { + imageTags["Primary"] = lib.ID + } out = append(out, gin.H{ "Name": lib.Name, "Locations": []string{lib.Path}, @@ -54,6 +61,7 @@ func embyVirtualFoldersHandler(svc *service.Container) gin.HandlerFunc { "ItemId": lib.ID, "Id": lib.ID, "PrimaryImageItemId": lib.ID, + "ImageTags": imageTags, "RefreshStatus": "Idle", "LibraryOptions": gin.H{}, }) diff --git a/internal/service/emby_artwork.go b/internal/service/emby_artwork.go index 997d380..0dca6d3 100644 --- a/internal/service/emby_artwork.go +++ b/internal/service/emby_artwork.go @@ -3,8 +3,10 @@ package service import ( "context" "strings" + "time" "github.com/ShukeBta/MediaStationGo/internal/model" + "github.com/ShukeBta/MediaStationGo/internal/repository" ) // ImageURL returns artwork for a media/series/season item id. @@ -51,9 +53,97 @@ func (e *EmbyService) ImageURL(ctx context.Context, id, imageType string) (strin } else if ok { return pick(series.PosterURL, series.BackdropURL), nil } + // id 既不是媒体也不是剧集组时,还可能是一个媒体库(Emby 客户端通过 + // /Items/{libraryID}/Images/Primary 请求库封面)。复用网页的封面来源: + // cover_url 优先,否则挑库内评分最高的一张成员海报。 + if raw := e.libraryCoverArtwork(ctx, id); raw != "" { + return raw, nil + } return "", nil } +// cachedLibraryCover returns a previously resolved library cover URL within TTL. +func (e *EmbyService) cachedLibraryCover(id string) (string, bool) { + if e == nil || strings.TrimSpace(id) == "" { + return "", false + } + now := time.Now() + e.libraryCoverMu.Lock() + defer e.libraryCoverMu.Unlock() + entry, ok := e.libraryCoverCache[id] + if !ok || now.After(entry.expiresAt) { + if ok { + delete(e.libraryCoverCache, id) + } + return "", false + } + return entry.primary, true +} + +func (e *EmbyService) rememberLibraryCover(id, cover string) { + if e == nil || strings.TrimSpace(id) == "" || strings.TrimSpace(cover) == "" { + return + } + e.libraryCoverMu.Lock() + defer e.libraryCoverMu.Unlock() + if e.libraryCoverCache == nil { + e.libraryCoverCache = make(map[string]embyArtworkCacheEntry) + } + if len(e.libraryCoverCache) > 4000 { + e.libraryCoverCache = make(map[string]embyArtworkCacheEntry) + } + e.libraryCoverCache[id] = embyArtworkCacheEntry{ + primary: cover, + expiresAt: time.Now().Add(embyVirtualCacheTTL), + } +} + +// libraryCoverArtwork 解析媒体库封面,与网页媒体库封面逻辑一致: +// 1. 用户手动设置的 cover_url 优先; +// 2. 否则取库内最近的一批成员,按 seriesArtworkScore(同网页 artworkScore) +// 挑出评分最高的那张海报作为封面。 +// +// Emby 主图只能显示单张,因此返回的正是网页拼图里最靠前的那张。 +func (e *EmbyService) libraryCoverArtwork(ctx context.Context, id string) string { + if cached, ok := e.cachedLibraryCover(id); ok { + return cached + } + lib, err := e.repo.Library.FindByID(ctx, id) + if err != nil || lib == nil { + return "" + } + if strings.TrimSpace(lib.CoverURL) != "" { + cover := lib.CoverURL + e.rememberLibraryCover(id, cover) + return cover + } + var cover string + if rows, _, err := e.repo.Media.ListByLibraryFiltered(ctx, id, 0, 12, repository.MediaQueryFilter{IncludeNSFW: true}); err == nil { + var bestScore = -1 + for i := range rows { + score := seriesArtworkScore(rows[i]) + if score <= bestScore { + continue + } + bestScore = score + cover = rows[i].PosterURL + if cover == "" { + cover = rows[i].BackdropURL + } + } + } + if cover != "" { + e.rememberLibraryCover(id, cover) + } + return cover +} + +// LibraryHasCover reports whether a library has an Emby-servable cover, so the +// Views / virtual-folders payloads can advertise ImageTags.Primary to clients. +func (e *EmbyService) LibraryHasCover(ctx context.Context, id string) bool { + return e.libraryCoverArtwork(ctx, id) != "" +} + func (e *EmbyService) mediaPrimaryArtwork(ctx context.Context, m *model.Media) string { if m == nil { return "" diff --git a/internal/service/emby_artwork_test.go b/internal/service/emby_artwork_test.go new file mode 100644 index 0000000..3b34c91 --- /dev/null +++ b/internal/service/emby_artwork_test.go @@ -0,0 +1,108 @@ +package service + +import ( + "testing" + + "github.com/ShukeBta/MediaStationGo/internal/model" +) + +func TestImageURLFallsBackToLibraryCoverURL(t *testing.T) { + svc := newTestEmbyService(t) + lib := model.Library{Name: "电影", Path: "/media/movies", Type: "movie", Enabled: true, CoverURL: "https://example.com/lib-cover.jpg"} + if err := svc.repo.Library.Create(t.Context(), &lib); err != nil { + t.Fatalf("create library: %v", err) + } + + raw, err := svc.ImageURL(t.Context(), lib.ID, "Primary") + if err != nil { + t.Fatalf("ImageURL: %v", err) + } + if raw != lib.CoverURL { + t.Fatalf("ImageURL for library = %q, want cover_url %q", raw, lib.CoverURL) + } +} + +func TestImageURLFallsBackToBestMemberPoster(t *testing.T) { + svc := newTestEmbyService(t) + lib := model.Library{Name: "电影", Path: "/media/movies", Type: "movie", Enabled: true} // no cover_url + if err := svc.repo.Library.Create(t.Context(), &lib); err != nil { + t.Fatalf("create library: %v", err) + } + members := []model.Media{ + {LibraryID: lib.ID, Title: "A", Path: "/media/movies/a.mkv", PosterURL: "https://example.com/a/backdrop.jpg"}, + {LibraryID: lib.ID, Title: "B", Path: "/media/movies/b.mkv", PosterURL: "https://example.com/b/poster.jpg"}, + {LibraryID: lib.ID, Title: "C", Path: "/media/movies/c.mkv", PosterURL: "https://example.com/c/actor.jpg"}, + } + for i := range members { + if err := svc.repo.DB.Create(&members[i]).Error; err != nil { + t.Fatalf("create media: %v", err) + } + } + + raw, err := svc.ImageURL(t.Context(), lib.ID, "Primary") + if err != nil { + t.Fatalf("ImageURL: %v", err) + } + // 最高分是 poster.jpg(score 40),其次是默认海报(30),actor(10)。 + if raw != "https://example.com/b/poster.jpg" { + t.Fatalf("ImageURL for library = %q, want best member poster", raw) + } +} + +func TestImageURLReturnsEmptyForUnknownID(t *testing.T) { + svc := newTestEmbyService(t) + raw, err := svc.ImageURL(t.Context(), "not-a-library-or-media", "Primary") + if err != nil { + t.Fatalf("ImageURL: %v", err) + } + if raw != "" { + t.Fatalf("ImageURL for unknown id = %q, want empty", raw) + } +} + +func TestViewsAdvertisesPrimaryImageWhenLibraryHasCover(t *testing.T) { + svc := newTestEmbyService(t) + withCover := model.Library{Name: "封库", Path: "/media/set", Type: "movie", Enabled: true} + if err := svc.repo.Library.Create(t.Context(), &withCover); err != nil { + t.Fatalf("create library: %v", err) + } + if err := svc.repo.DB.Create(&model.Media{ + Base: model.Base{ID: "m1"}, + LibraryID: withCover.ID, + Title: "M1", + Path: "/media/set/m1.mkv", + PosterURL: "https://example.com/m1/poster.jpg", + }).Error; err != nil { + t.Fatalf("create media: %v", err) + } + noCover := model.Library{Name: "空库", Path: "/media/empty", Type: "movie", Enabled: true} + if err := svc.repo.Library.Create(t.Context(), &noCover); err != nil { + t.Fatalf("create library: %v", err) + } + + views, err := svc.Views(t.Context(), "user-1") + if err != nil { + t.Fatalf("Views: %v", err) + } + items := views["Items"].([]map[string]any) + found := map[string]map[string]any{} + for _, it := range items { + found[it["Id"].(string)] = it + } + + withImageTags, ok := found[withCover.ID]["ImageTags"].(map[string]string) + if !ok { + t.Fatalf("library with cover should have ImageTags, got %#v", found[withCover.ID]["ImageTags"]) + } + if withImageTags["Primary"] != withCover.ID { + t.Fatalf("library with cover should advertise ImageTags.Primary, got %#v", withImageTags) + } + + emptyTags, ok := found[noCover.ID]["ImageTags"].(map[string]string) + if !ok { + t.Fatalf("library without cover should have empty ImageTags, got %#v", found[noCover.ID]["ImageTags"]) + } + if _, has := emptyTags["Primary"]; has { + t.Fatalf("library without cover should NOT advertise Primary, got %#v", emptyTags) + } +} diff --git a/internal/service/emby_compat.go b/internal/service/emby_compat.go index 5d7d6fa..fcf395d 100644 --- a/internal/service/emby_compat.go +++ b/internal/service/emby_compat.go @@ -62,6 +62,9 @@ type EmbyService struct { cloudProbeMu sync.Mutex cloudProbeInFlight map[string]struct{} + + libraryCoverMu sync.Mutex + libraryCoverCache map[string]embyArtworkCacheEntry } type cloudPlaybackResolver interface { diff --git a/internal/service/emby_items_detail.go b/internal/service/emby_items_detail.go index ff4e255..8f67931 100644 --- a/internal/service/emby_items_detail.go +++ b/internal/service/emby_items_detail.go @@ -22,7 +22,7 @@ func (e *EmbyService) Item(ctx context.Context, mediaID, userID string) (map[str if !e.libraryVisibleFromCachedVisibility(libs[0], visibility) { return nil, nil } - return e.libraryAsView(&libs[0]), nil + return e.libraryAsView(ctx, &libs[0]), nil } if strings.HasPrefix(mediaID, embyVirtualSeasonPrefix) { if season, ok, err := e.findSeasonGroup(ctx, mediaID, userID); err != nil { diff --git a/internal/service/emby_system.go b/internal/service/emby_system.go index e3c6336..c408821 100644 --- a/internal/service/emby_system.go +++ b/internal/service/emby_system.go @@ -137,12 +137,12 @@ func (e *EmbyService) Views(ctx context.Context, userID string) (map[string]any, if !e.libraryVisibleFromCachedVisibility(l, visibility) { continue } - items = append(items, e.libraryAsView(&l)) + items = append(items, e.libraryAsView(ctx, &l)) } return map[string]any{"Items": items, "TotalRecordCount": len(items), "StartIndex": 0}, nil } -func (e *EmbyService) libraryAsView(l *model.Library) map[string]any { +func (e *EmbyService) libraryAsView(ctx context.Context, l *model.Library) map[string]any { collectionType := "movies" switch l.Type { case "tv": @@ -154,6 +154,12 @@ func (e *EmbyService) libraryAsView(l *model.Library) map[string]any { case "music": collectionType = "music" } + // 库封面:与剧集/电影一样,只有在能解析出封面时才广告 ImageTags.Primary, + // 否则客户端会认为该库无主图而不去请求 /Images/Primary。 + imageTags := map[string]string{} + if e.LibraryHasCover(ctx, l.ID) { + imageTags["Primary"] = l.ID + } return map[string]any{ "Id": l.ID, "Name": l.Name, @@ -178,7 +184,7 @@ func (e *EmbyService) libraryAsView(l *model.Library) map[string]any { "ProviderIds": map[string]string{}, "Genres": []string{}, "Tags": []string{}, - "ImageTags": map[string]string{}, + "ImageTags": imageTags, "BackdropImageTags": []string{}, "UserData": map[string]any{ "PlaybackPositionTicks": 0,