diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 841c497..c18e922 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9 management: - docChecksum: 7dec92ab9151a1b5a35df5faa81811ba + docChecksum: 5d44282cd3351c75bd6c9a894dbe1ec9 docVersion: 0.0.3 - speakeasyVersion: 1.484.1 - generationVersion: 2.503.2 - releaseVersion: 0.13.5 - configChecksum: cc3898066032221fc1785594193e0056 + speakeasyVersion: 1.487.0 + generationVersion: 2.506.0 + releaseVersion: 0.13.6 + configChecksum: a06266b1c814ba29493ed92404ca4d2b repoURL: https://github.com/LukeHagar/plexcsharp.git repoSubDirectory: . published: true @@ -81,6 +81,10 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Errors/EnablePaperTrailLogErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/EnablePaperTrailUnauthorized.cs - LukeHagar/PlexAPI/SDK/Models/Errors/Errors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryBadRequest.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryLibraryErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryUnauthorized.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetAllLibrariesBadRequest.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetAllLibrariesErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetAllLibrariesLibraryErrors.cs @@ -145,14 +149,14 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Errors/GetLibraryItemsErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetLibraryItemsLibraryErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetLibraryItemsUnauthorized.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataBadRequest.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataLibraryErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataUnauthorized.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaProvidersBadRequest.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaProvidersErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaProvidersServerErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaProvidersUnauthorized.cs - - LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyBadRequest.cs - - LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyErrors.cs - - LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.cs - - LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyUnauthorized.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetMetadataChildrenBadRequest.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetMetadataChildrenErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetMetadataChildrenLibraryErrors.cs @@ -412,6 +416,12 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/Friend.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Genre.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GeoData.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryDirectory.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryMediaContainer.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryQueryParamType.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryRequest.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryResponse.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesDirectory.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesLocation.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesMediaContainer.cs @@ -433,6 +443,7 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetCompanionsDataResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryDirectory.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryMediaContainer.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryQueryParamType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryRequest.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryResponseBody.cs @@ -443,6 +454,7 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetFileHashResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryDirectory.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryMediaContainer.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryQueryParamType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryRequest.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryResponseBody.cs @@ -525,24 +537,27 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsUltraBlurColors.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsWriter.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataCountry.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataDirector.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataGenre.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataImage.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataLocation.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMedia.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMediaContainer.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMetadata.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataPart.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataRequest.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataResponse.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataResponseBody.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataRole.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataStream.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataUltraBlurColors.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataWriter.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaProvidersDirectory.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaProvidersMediaContainer.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaProvidersRequest.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaProvidersResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaProvidersResponseBody.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyCountry.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyDirector.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyGenre.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMedia.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMediaContainer.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMetadata.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyPart.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyRequest.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyResponse.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyResponseBody.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyRole.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyStream.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyWriter.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetadataChildrenDirectory.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetadataChildrenMediaContainer.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetadataChildrenMetadata.cs @@ -829,7 +844,7 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamOnlyTransient.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamSmart.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamType.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/Ratings.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/Rating.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Release.cs - LukeHagar/PlexAPI/SDK/Models/Requests/ResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Restricted.cs @@ -844,6 +859,7 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/SharedServers.cs - LukeHagar/PlexAPI/SDK/Models/Requests/SharedSources.cs - LukeHagar/PlexAPI/SDK/Models/Requests/ShowOrdering.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/Similar.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Skip.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Smart.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Sort.cs @@ -950,6 +966,10 @@ generatedFiles: - docs/Models/Errors/EnablePaperTrailLogErrors.md - docs/Models/Errors/EnablePaperTrailUnauthorized.md - docs/Models/Errors/Errors.md + - docs/Models/Errors/GetActorsLibraryBadRequest.md + - docs/Models/Errors/GetActorsLibraryErrors.md + - docs/Models/Errors/GetActorsLibraryLibraryErrors.md + - docs/Models/Errors/GetActorsLibraryUnauthorized.md - docs/Models/Errors/GetAllLibrariesBadRequest.md - docs/Models/Errors/GetAllLibrariesErrors.md - docs/Models/Errors/GetAllLibrariesLibraryErrors.md @@ -1014,14 +1034,14 @@ generatedFiles: - docs/Models/Errors/GetLibraryItemsErrors.md - docs/Models/Errors/GetLibraryItemsLibraryErrors.md - docs/Models/Errors/GetLibraryItemsUnauthorized.md + - docs/Models/Errors/GetMediaMetaDataBadRequest.md + - docs/Models/Errors/GetMediaMetaDataErrors.md + - docs/Models/Errors/GetMediaMetaDataLibraryErrors.md + - docs/Models/Errors/GetMediaMetaDataUnauthorized.md - docs/Models/Errors/GetMediaProvidersBadRequest.md - docs/Models/Errors/GetMediaProvidersErrors.md - docs/Models/Errors/GetMediaProvidersServerErrors.md - docs/Models/Errors/GetMediaProvidersUnauthorized.md - - docs/Models/Errors/GetMetaDataByRatingKeyBadRequest.md - - docs/Models/Errors/GetMetaDataByRatingKeyErrors.md - - docs/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.md - - docs/Models/Errors/GetMetaDataByRatingKeyUnauthorized.md - docs/Models/Errors/GetMetadataChildrenBadRequest.md - docs/Models/Errors/GetMetadataChildrenErrors.md - docs/Models/Errors/GetMetadataChildrenLibraryErrors.md @@ -1280,6 +1300,12 @@ generatedFiles: - docs/Models/Requests/Friend.md - docs/Models/Requests/Genre.md - docs/Models/Requests/GeoData.md + - docs/Models/Requests/GetActorsLibraryDirectory.md + - docs/Models/Requests/GetActorsLibraryMediaContainer.md + - docs/Models/Requests/GetActorsLibraryQueryParamType.md + - docs/Models/Requests/GetActorsLibraryRequest.md + - docs/Models/Requests/GetActorsLibraryResponse.md + - docs/Models/Requests/GetActorsLibraryResponseBody.md - docs/Models/Requests/GetAllLibrariesDirectory.md - docs/Models/Requests/GetAllLibrariesLocation.md - docs/Models/Requests/GetAllLibrariesMediaContainer.md @@ -1301,6 +1327,7 @@ generatedFiles: - docs/Models/Requests/GetCompanionsDataResponse.md - docs/Models/Requests/GetCountriesLibraryDirectory.md - docs/Models/Requests/GetCountriesLibraryMediaContainer.md + - docs/Models/Requests/GetCountriesLibraryQueryParamType.md - docs/Models/Requests/GetCountriesLibraryRequest.md - docs/Models/Requests/GetCountriesLibraryResponse.md - docs/Models/Requests/GetCountriesLibraryResponseBody.md @@ -1311,6 +1338,7 @@ generatedFiles: - docs/Models/Requests/GetFileHashResponse.md - docs/Models/Requests/GetGenresLibraryDirectory.md - docs/Models/Requests/GetGenresLibraryMediaContainer.md + - docs/Models/Requests/GetGenresLibraryQueryParamType.md - docs/Models/Requests/GetGenresLibraryRequest.md - docs/Models/Requests/GetGenresLibraryResponse.md - docs/Models/Requests/GetGenresLibraryResponseBody.md @@ -1393,24 +1421,27 @@ generatedFiles: - docs/Models/Requests/GetLibraryItemsType.md - docs/Models/Requests/GetLibraryItemsUltraBlurColors.md - docs/Models/Requests/GetLibraryItemsWriter.md + - docs/Models/Requests/GetMediaMetaDataCountry.md + - docs/Models/Requests/GetMediaMetaDataDirector.md + - docs/Models/Requests/GetMediaMetaDataGenre.md + - docs/Models/Requests/GetMediaMetaDataImage.md + - docs/Models/Requests/GetMediaMetaDataLocation.md + - docs/Models/Requests/GetMediaMetaDataMedia.md + - docs/Models/Requests/GetMediaMetaDataMediaContainer.md + - docs/Models/Requests/GetMediaMetaDataMetadata.md + - docs/Models/Requests/GetMediaMetaDataPart.md + - docs/Models/Requests/GetMediaMetaDataRequest.md + - docs/Models/Requests/GetMediaMetaDataResponse.md + - docs/Models/Requests/GetMediaMetaDataResponseBody.md + - docs/Models/Requests/GetMediaMetaDataRole.md + - docs/Models/Requests/GetMediaMetaDataStream.md + - docs/Models/Requests/GetMediaMetaDataUltraBlurColors.md + - docs/Models/Requests/GetMediaMetaDataWriter.md - docs/Models/Requests/GetMediaProvidersDirectory.md - docs/Models/Requests/GetMediaProvidersMediaContainer.md - docs/Models/Requests/GetMediaProvidersRequest.md - docs/Models/Requests/GetMediaProvidersResponse.md - docs/Models/Requests/GetMediaProvidersResponseBody.md - - docs/Models/Requests/GetMetaDataByRatingKeyCountry.md - - docs/Models/Requests/GetMetaDataByRatingKeyDirector.md - - docs/Models/Requests/GetMetaDataByRatingKeyGenre.md - - docs/Models/Requests/GetMetaDataByRatingKeyMedia.md - - docs/Models/Requests/GetMetaDataByRatingKeyMediaContainer.md - - docs/Models/Requests/GetMetaDataByRatingKeyMetadata.md - - docs/Models/Requests/GetMetaDataByRatingKeyPart.md - - docs/Models/Requests/GetMetaDataByRatingKeyRequest.md - - docs/Models/Requests/GetMetaDataByRatingKeyResponse.md - - docs/Models/Requests/GetMetaDataByRatingKeyResponseBody.md - - docs/Models/Requests/GetMetaDataByRatingKeyRole.md - - docs/Models/Requests/GetMetaDataByRatingKeyStream.md - - docs/Models/Requests/GetMetaDataByRatingKeyWriter.md - docs/Models/Requests/GetMetadataChildrenDirectory.md - docs/Models/Requests/GetMetadataChildrenMediaContainer.md - docs/Models/Requests/GetMetadataChildrenMetadata.md @@ -1697,7 +1728,7 @@ generatedFiles: - docs/Models/Requests/QueryParamOnlyTransient.md - docs/Models/Requests/QueryParamSmart.md - docs/Models/Requests/QueryParamType.md - - docs/Models/Requests/Ratings.md + - docs/Models/Requests/Rating.md - docs/Models/Requests/Release.md - docs/Models/Requests/ResponseBody.md - docs/Models/Requests/Restricted.md @@ -1712,6 +1743,7 @@ generatedFiles: - docs/Models/Requests/SharedServers.md - docs/Models/Requests/SharedSources.md - docs/Models/Requests/ShowOrdering.md + - docs/Models/Requests/Similar.md - docs/Models/Requests/Skip.md - docs/Models/Requests/Smart.md - docs/Models/Requests/Sort.md @@ -2760,6 +2792,8 @@ examples: parameters: path: sectionKey: 9518 + query: + type: 2 responses: "200": application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Shows (Reality)", "title2": "By Genre", "viewGroup": "secondary", "Directory": [{"fastKey": "/library/sections/10/all?genre=89", "key": "89", "title": "Action", "type": "genre"}]}} @@ -2772,6 +2806,8 @@ examples: parameters: path: sectionKey: 9518 + query: + type: 2 responses: "200": application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Series", "title2": "By Country", "viewGroup": "secondary", "Directory": [{"fastKey": "/library/sections/2/all?country=15491", "key": "15491", "title": "Japan"}]}} @@ -2803,5 +2839,45 @@ examples: application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-actors-library: + speakeasy-default-get-actors-library: + parameters: + path: + sectionKey: 9518 + query: + type: 2 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "identifier": "com.plexapp.plugins.library", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "viewMode": "131131", "Directory": [{"fastKey": "/library/sections/2/all?actor=134671", "thumb": "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", "key": "134671", "title": "Aaron Paul"}, {"fastKey": "/library/sections/2/all?actor=134671", "thumb": "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", "key": "134671", "title": "Aaron Paul"}]}} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-media-meta-data: + speakeasy-default-get-media-meta-data: + parameters: + path: + ratingKey: 9518 + query: + includeConcerts: true + includeExtras: true + includeOnDeck: true + includePopularLeaves: true + includePreferences: true + includeReviews: true + includeChapters: true + includeStations: true + includeExternalMedia: true + asyncAugmentMetadata: true + asyncCheckFiles: true + asyncRefreshAnalysis: true + asyncRefreshLocalMediaAgent: true + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "Metadata": [{"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1625505101, "updatedAt": 1736487993, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": []}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": []}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}, {"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1625505101, "updatedAt": 1736487993, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": []}], "Image": [], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}, {"id": "imdb://tt3032476"}], "Rating": [], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}, {"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1625505101, "updatedAt": 1736487993, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": []}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}, {"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}]}]}} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} examplesVersion: 1.0.0 generatedTests: {} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 3b0e947..1d0f028 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -13,7 +13,7 @@ generation: oAuth2ClientCredentialsEnabled: true oAuth2PasswordEnabled: false csharp: - version: 0.13.5 + version: 0.13.6 additionalDependencies: [] author: LukeHagar clientServerStatusCodesAsErrors: true diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 56af908..23cc388 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.484.1 +speakeasyVersion: 1.487.0 sources: my-source: sourceNamespace: my-source @@ -16,19 +16,19 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:e6ab335dd91a4165f4510e4a3af8a55819c6310b7e66251266d2384376f3ccae - sourceBlobDigest: sha256:89d1b1133e400c89f0d06efe5e5168f5ba25a413e1ab8380d442d6b233e2e5a9 + sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64 + sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8 tags: - latest - - speakeasy-sdk-regen-1738801293 + - speakeasy-sdk-regen-1738887697 targets: plexcsharp: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:e6ab335dd91a4165f4510e4a3af8a55819c6310b7e66251266d2384376f3ccae - sourceBlobDigest: sha256:89d1b1133e400c89f0d06efe5e5168f5ba25a413e1ab8380d442d6b233e2e5a9 + sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64 + sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8 codeSamplesNamespace: code-samples-csharp-plexcsharp - codeSamplesRevisionDigest: sha256:1232a558efe5dbd1afae513f9cefdd61a9facee2c6072e50f7658c20b57bc303 + codeSamplesRevisionDigest: sha256:1ae1692b51b662e5da48795a9118d7f40874d39ecad5ef299754f2eade9f681f workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/LukeHagar/PlexAPI/SDK/Activities.cs b/LukeHagar/PlexAPI/SDK/Activities.cs index 3688649..7a82efc 100644 --- a/LukeHagar/PlexAPI/SDK/Activities.cs +++ b/LukeHagar/PlexAPI/SDK/Activities.cs @@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Authentication.cs b/LukeHagar/PlexAPI/SDK/Authentication.cs index 6350feb..422f8e2 100644 --- a/LukeHagar/PlexAPI/SDK/Authentication.cs +++ b/LukeHagar/PlexAPI/SDK/Authentication.cs @@ -95,10 +95,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Butler.cs b/LukeHagar/PlexAPI/SDK/Butler.cs index ffde2b0..b9eca70 100644 --- a/LukeHagar/PlexAPI/SDK/Butler.cs +++ b/LukeHagar/PlexAPI/SDK/Butler.cs @@ -101,10 +101,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Hubs.cs b/LukeHagar/PlexAPI/SDK/Hubs.cs index 7fccd62..9fc2689 100644 --- a/LukeHagar/PlexAPI/SDK/Hubs.cs +++ b/LukeHagar/PlexAPI/SDK/Hubs.cs @@ -73,10 +73,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Library.cs b/LukeHagar/PlexAPI/SDK/Library.cs index 9156101..60968a7 100644 --- a/LukeHagar/PlexAPI/SDK/Library.cs +++ b/LukeHagar/PlexAPI/SDK/Library.cs @@ -198,7 +198,7 @@ namespace LukeHagar.PlexAPI.SDK /// /// /// - Task GetGenresLibraryAsync(int sectionKey); + Task GetGenresLibraryAsync(int sectionKey, GetGenresLibraryQueryParamType type); /// /// Get Countries of library media @@ -208,7 +208,17 @@ namespace LukeHagar.PlexAPI.SDK /// /// /// - Task GetCountriesLibraryAsync(int sectionKey); + Task GetCountriesLibraryAsync(int sectionKey, GetCountriesLibraryQueryParamType type); + + /// + /// Get Actors of library media + /// + /// + /// Retrieves a list of all the actors that are found for the media in this library.
+ /// + ///
+ ///
+ Task GetActorsLibraryAsync(int sectionKey, GetActorsLibraryQueryParamType type); /// /// Search All Libraries @@ -221,14 +231,14 @@ namespace LukeHagar.PlexAPI.SDK Task GetSearchAllLibrariesAsync(GetSearchAllLibrariesRequest request); /// - /// Get Metadata by RatingKey + /// Get Media Metadata /// /// - /// This endpoint will return the metadata of a library item specified with the ratingKey.
+ /// This endpoint will return all the (meta)data of a library item specified with by the ratingKey.
/// ///
///
- Task GetMetaDataByRatingKeyAsync(long ratingKey); + Task GetMediaMetaDataAsync(GetMediaMetaDataRequest request); /// /// Get Items Children @@ -272,10 +282,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -1089,11 +1099,12 @@ namespace LukeHagar.PlexAPI.SDK throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } - public async Task GetGenresLibraryAsync(int sectionKey) + public async Task GetGenresLibraryAsync(int sectionKey, GetGenresLibraryQueryParamType type) { var request = new GetGenresLibraryRequest() { SectionKey = sectionKey, + Type = type, }; string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionKey}/genre", request); @@ -1193,11 +1204,12 @@ namespace LukeHagar.PlexAPI.SDK throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } - public async Task GetCountriesLibraryAsync(int sectionKey) + public async Task GetCountriesLibraryAsync(int sectionKey, GetCountriesLibraryQueryParamType type) { var request = new GetCountriesLibraryRequest() { SectionKey = sectionKey, + Type = type, }; string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionKey}/country", request); @@ -1297,6 +1309,111 @@ namespace LukeHagar.PlexAPI.SDK throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } + public async Task GetActorsLibraryAsync(int sectionKey, GetActorsLibraryQueryParamType type) + { + var request = new GetActorsLibraryRequest() + { + SectionKey = sectionKey, + Type = type, + }; + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionKey}/actor", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("get-actors-library", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await _client.SendAsync(httpRequest); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new GetActorsLibraryResponse() + { + StatusCode = responseStatusCode, + ContentType = contentType, + RawResponse = httpResponse + }; + response.Object = obj; + return response; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + obj!.RawResponse = httpResponse; + throw obj!; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + obj!.RawResponse = httpResponse; + throw obj!; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 404 || responseStatusCode >= 400 && responseStatusCode < 500) + { + throw new Models.Errors.SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + + throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + public async Task GetSearchAllLibrariesAsync(GetSearchAllLibrariesRequest request) { string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); @@ -1398,12 +1515,8 @@ namespace LukeHagar.PlexAPI.SDK throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } - public async Task GetMetaDataByRatingKeyAsync(long ratingKey) + public async Task GetMediaMetaDataAsync(GetMediaMetaDataRequest request) { - var request = new GetMetaDataByRatingKeyRequest() - { - RatingKey = ratingKey, - }; string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); var urlString = URLBuilder.Build(baseUrl, "/library/metadata/{ratingKey}", request); @@ -1415,7 +1528,7 @@ namespace LukeHagar.PlexAPI.SDK httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); } - var hookCtx = new HookContext("get-meta-data-by-rating-key", null, _securitySource); + var hookCtx = new HookContext("get-media-meta-data", null, _securitySource); httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); @@ -1425,7 +1538,7 @@ namespace LukeHagar.PlexAPI.SDK httpResponse = await _client.SendAsync(httpRequest); int _statusCode = (int)httpResponse.StatusCode; - if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) { var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); if (_httpResponse != null) @@ -1455,8 +1568,8 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); - var response = new GetMetaDataByRatingKeyResponse() + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new GetMediaMetaDataResponse() { StatusCode = responseStatusCode, ContentType = contentType, @@ -1472,7 +1585,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); obj!.RawResponse = httpResponse; throw obj!; } @@ -1483,14 +1596,14 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); obj!.RawResponse = httpResponse; throw obj!; } throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } - else if(responseStatusCode >= 400 && responseStatusCode < 500) + else if(responseStatusCode == 404 || responseStatusCode >= 400 && responseStatusCode < 500) { throw new Models.Errors.SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } diff --git a/LukeHagar/PlexAPI/SDK/Log.cs b/LukeHagar/PlexAPI/SDK/Log.cs index 26d9dc3..44db8f1 100644 --- a/LukeHagar/PlexAPI/SDK/Log.cs +++ b/LukeHagar/PlexAPI/SDK/Log.cs @@ -94,10 +94,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj b/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj index aa7804e..a450cd2 100644 --- a/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj +++ b/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj @@ -3,7 +3,7 @@ true LukeHagar.PlexAPI.SDK - 0.13.5 + 0.13.6 net8.0 LukeHagar Copyright (c) LukeHagar 2025 diff --git a/LukeHagar/PlexAPI/SDK/Media.cs b/LukeHagar/PlexAPI/SDK/Media.cs index cd68865..c5903a1 100644 --- a/LukeHagar/PlexAPI/SDK/Media.cs +++ b/LukeHagar/PlexAPI/SDK/Media.cs @@ -90,10 +90,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyBadRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryBadRequest.cs similarity index 88% rename from LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyBadRequest.cs rename to LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryBadRequest.cs index bf94eb9..7800096 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyBadRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryBadRequest.cs @@ -19,11 +19,11 @@ namespace LukeHagar.PlexAPI.SDK.Models.Errors /// /// Bad Request - A parameter was not specified, or was specified incorrectly. /// - public class GetMetaDataByRatingKeyBadRequest : Exception + public class GetActorsLibraryBadRequest : Exception { [JsonProperty("errors")] - public List? Errors { get; set; } + public List? Errors { get; set; } /// /// Raw HTTP response; suitable for custom response parsing diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyErrors.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryErrors.cs similarity index 94% rename from LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyErrors.cs rename to LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryErrors.cs index 1b9a2e2..24e3244 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyErrors.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryErrors.cs @@ -12,7 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Errors using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; - public class GetMetaDataByRatingKeyErrors + public class GetActorsLibraryErrors { [JsonProperty("code")] diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryLibraryErrors.cs similarity index 93% rename from LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.cs rename to LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryLibraryErrors.cs index 78749de..b038b60 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryLibraryErrors.cs @@ -12,7 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Errors using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; - public class GetMetaDataByRatingKeyLibraryErrors + public class GetActorsLibraryLibraryErrors { [JsonProperty("code")] diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyUnauthorized.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryUnauthorized.cs similarity index 87% rename from LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyUnauthorized.cs rename to LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryUnauthorized.cs index a430e27..2d133c6 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Errors/GetMetaDataByRatingKeyUnauthorized.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetActorsLibraryUnauthorized.cs @@ -19,11 +19,11 @@ namespace LukeHagar.PlexAPI.SDK.Models.Errors /// /// Unauthorized - Returned if the X-Plex-Token is missing from the header or query. /// - public class GetMetaDataByRatingKeyUnauthorized : Exception + public class GetActorsLibraryUnauthorized : Exception { [JsonProperty("errors")] - public List? Errors { get; set; } + public List? Errors { get; set; } /// /// Raw HTTP response; suitable for custom response parsing diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataBadRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataBadRequest.cs new file mode 100644 index 0000000..91e7a69 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataBadRequest.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Models.Errors; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + using System.Collections.Generic; + using System.Net.Http; + + /// + /// Bad Request - A parameter was not specified, or was specified incorrectly. + /// + public class GetMediaMetaDataBadRequest : Exception + { + + [JsonProperty("errors")] + public List? Errors { get; set; } + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + [JsonProperty("-")] + public HttpResponseMessage? RawResponse { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyCountry.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataErrors.cs similarity index 61% rename from LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyCountry.cs rename to LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataErrors.cs index c2ee037..d1b10f8 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyCountry.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataErrors.cs @@ -7,21 +7,21 @@ // //------------------------------------------------------------------------------ #nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests +namespace LukeHagar.PlexAPI.SDK.Models.Errors { using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; - public class GetMetaDataByRatingKeyCountry + public class GetMediaMetaDataErrors { - [JsonProperty("id")] - public int? Id { get; set; } + [JsonProperty("code")] + public int? Code { get; set; } - [JsonProperty("filter")] - public string? Filter { get; set; } + [JsonProperty("message")] + public string? Message { get; set; } - [JsonProperty("tag")] - public string? Tag { get; set; } + [JsonProperty("status")] + public int? Status { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataLibraryErrors.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataLibraryErrors.cs new file mode 100644 index 0000000..ff2499d --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataLibraryErrors.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetMediaMetaDataLibraryErrors + { + + [JsonProperty("code")] + public int? Code { get; set; } + + [JsonProperty("message")] + public string? Message { get; set; } + + [JsonProperty("status")] + public int? Status { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataUnauthorized.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataUnauthorized.cs new file mode 100644 index 0000000..b38b9cd --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetMediaMetaDataUnauthorized.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Models.Errors; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + using System.Collections.Generic; + using System.Net.Http; + + /// + /// Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + /// + public class GetMediaMetaDataUnauthorized : Exception + { + + [JsonProperty("errors")] + public List? Errors { get; set; } + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + [JsonProperty("-")] + public HttpResponseMessage? RawResponse { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryDirectory.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryDirectory.cs new file mode 100644 index 0000000..19b5700 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryDirectory.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetActorsLibraryDirectory + { + + /// + /// A fast lookup key for the actor relative url. + /// + [JsonProperty("fastKey")] + public string FastKey { get; set; } = default!; + + /// + /// URL for the thumbnail image of the actor. + /// + [JsonProperty("thumb")] + public string Thumb { get; set; } = default!; + + /// + /// A unique key representing the actor. + /// + [JsonProperty("key")] + public string Key { get; set; } = default!; + + /// + /// The name of the actor. + /// + [JsonProperty("title")] + public string Title { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryMediaContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryMediaContainer.cs new file mode 100644 index 0000000..54b9926 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryMediaContainer.cs @@ -0,0 +1,95 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetActorsLibraryMediaContainer + { + + [JsonProperty("size")] + public double Size { get; set; } = default!; + + /// + /// Indicates whether syncing is allowed. + /// + [JsonProperty("allowSync")] + public bool AllowSync { get; set; } = default!; + + /// + /// URL for the background artwork of the media container. + /// + [JsonProperty("art")] + public string Art { get; set; } = default!; + + /// + /// An plugin identifier for the media container. + /// + [JsonProperty("identifier")] + public string Identifier { get; set; } = default!; + + /// + /// The prefix used for media tag resource paths. + /// + [JsonProperty("mediaTagPrefix")] + public string MediaTagPrefix { get; set; } = default!; + + /// + /// The version number for media tags. + /// + [JsonProperty("mediaTagVersion")] + public long MediaTagVersion { get; set; } = default!; + + /// + /// Specifies whether caching is disabled. + /// + [JsonProperty("nocache")] + public bool Nocache { get; set; } = default!; + + /// + /// URL for the thumbnail image of the media container. + /// + [JsonProperty("thumb")] + public string Thumb { get; set; } = default!; + + /// + /// The primary title of the media container. + /// + [JsonProperty("title1")] + public string Title1 { get; set; } = default!; + + /// + /// The secondary title of the media container. + /// + [JsonProperty("title2")] + public string Title2 { get; set; } = default!; + + /// + /// Identifier for the view group layout. + /// + [JsonProperty("viewGroup")] + public string ViewGroup { get; set; } = default!; + + /// + /// Identifier for the view mode. + /// + [JsonProperty("viewMode")] + public string ViewMode { get; set; } = default!; + + /// + /// An array of actor entries for media items. + /// + [JsonProperty("Directory")] + public List? Directory { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryQueryParamType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryQueryParamType.cs new file mode 100644 index 0000000..7ab6f74 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryQueryParamType.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + /// + /// The type of media to retrieve or filter by.
+ /// + /// + /// 1 = movie
+ /// 2 = show
+ /// 3 = season
+ /// 4 = episode
+ /// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
+ /// + ///
+ ///
+ public enum GetActorsLibraryQueryParamType + { + Movie = 1, + TvShow = 2, + Season = 3, + Episode = 4, + Audio = 8, + Album = 9, + Track = 10, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryRequest.cs new file mode 100644 index 0000000..b0097b2 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryRequest.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + + public class GetActorsLibraryRequest + { + + /// + /// The unique key of the Plex library.
+ /// + /// + /// Note: This is unique in the context of the Plex server.
+ /// + ///
+ ///
+ [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")] + public int SectionKey { get; set; } = default!; + + /// + /// The type of media to retrieve or filter by.
+ /// + /// + /// 1 = movie
+ /// 2 = show
+ /// 3 = season
+ /// 4 = episode
+ /// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
+ /// + ///
+ ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] + public GetActorsLibraryQueryParamType Type { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryResponse.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryResponse.cs new file mode 100644 index 0000000..b82c091 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryResponse.cs @@ -0,0 +1,40 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using System; + using System.Net.Http; + + public class GetActorsLibraryResponse + { + + /// + /// HTTP response content type for this operation + /// + public string? ContentType { get; set; } = default!; + + /// + /// HTTP response status code for this operation + /// + public int StatusCode { get; set; } = default!; + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + public HttpResponseMessage RawResponse { get; set; } = default!; + + /// + /// Successful response containing media container data. + /// + public GetActorsLibraryResponseBody? Object { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyGenre.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryResponseBody.cs similarity index 63% rename from LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyGenre.cs rename to LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryResponseBody.cs index 7ee0509..afe2845 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyGenre.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetActorsLibraryResponseBody.cs @@ -9,19 +9,17 @@ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { + using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; - public class GetMetaDataByRatingKeyGenre + /// + /// Successful response containing media container data. + /// + public class GetActorsLibraryResponseBody { - [JsonProperty("id")] - public int? Id { get; set; } - - [JsonProperty("filter")] - public string? Filter { get; set; } - - [JsonProperty("tag")] - public string? Tag { get; set; } + [JsonProperty("MediaContainer")] + public GetActorsLibraryMediaContainer? MediaContainer { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryQueryParamType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryQueryParamType.cs new file mode 100644 index 0000000..dc7c91f --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryQueryParamType.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + /// + /// The type of media to retrieve or filter by.
+ /// + /// + /// 1 = movie
+ /// 2 = show
+ /// 3 = season
+ /// 4 = episode
+ /// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
+ /// + ///
+ ///
+ public enum GetCountriesLibraryQueryParamType + { + Movie = 1, + TvShow = 2, + Season = 3, + Episode = 4, + Audio = 8, + Album = 9, + Track = 10, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryRequest.cs index ab20b31..c1433c0 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryRequest.cs @@ -9,6 +9,7 @@ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { + using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; public class GetCountriesLibraryRequest @@ -24,5 +25,20 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests ///
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")] public int SectionKey { get; set; } = default!; + + /// + /// The type of media to retrieve or filter by.
+ /// + /// + /// 1 = movie
+ /// 2 = show
+ /// 3 = season
+ /// 4 = episode
+ /// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
+ /// + ///
+ ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] + public GetCountriesLibraryQueryParamType Type { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryQueryParamType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryQueryParamType.cs new file mode 100644 index 0000000..d7872af --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryQueryParamType.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + /// + /// The type of media to retrieve or filter by.
+ /// + /// + /// 1 = movie
+ /// 2 = show
+ /// 3 = season
+ /// 4 = episode
+ /// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
+ /// + ///
+ ///
+ public enum GetGenresLibraryQueryParamType + { + Movie = 1, + TvShow = 2, + Season = 3, + Episode = 4, + Audio = 8, + Album = 9, + Track = 10, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryRequest.cs index 5bd0b1b..7c41bba 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryRequest.cs @@ -9,6 +9,7 @@ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { + using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; public class GetGenresLibraryRequest @@ -24,5 +25,20 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests ///
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")] public int SectionKey { get; set; } = default!; + + /// + /// The type of media to retrieve or filter by.
+ /// + /// + /// 1 = movie
+ /// 2 = show
+ /// 3 = season
+ /// 4 = episode
+ /// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
+ /// + ///
+ ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] + public GetGenresLibraryQueryParamType Type { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamType.cs index f080eaf..431927d 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamType.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamType.cs @@ -12,7 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using LukeHagar.PlexAPI.SDK.Utils; /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRequest.cs index 7f504b0..6816db1 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRequest.cs @@ -32,7 +32,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public IncludeGuids? IncludeGuids { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeGuids.Disable; /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
@@ -44,7 +44,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests ///
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] - public GetLibraryItemsQueryParamType? Type { get; set; } + public GetLibraryItemsQueryParamType Type { get; set; } = default!; /// /// The unique key of the Plex library.
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyDirector.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataCountry.cs similarity index 58% rename from LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyDirector.cs rename to LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataCountry.cs index fe1b586..b08e7e6 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyDirector.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataCountry.cs @@ -12,22 +12,25 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; - public class GetMetaDataByRatingKeyDirector + public class GetMediaMetaDataCountry { + /// + /// The unique country identifier. + /// [JsonProperty("id")] - public int? Id { get; set; } + public long Id { get; set; } = default!; + /// + /// The filter string for the country. + /// [JsonProperty("filter")] - public string? Filter { get; set; } + public string Filter { get; set; } = default!; + /// + /// The country name. + /// [JsonProperty("tag")] - public string? Tag { get; set; } - - [JsonProperty("tagKey")] - public string? TagKey { get; set; } - - [JsonProperty("thumb")] - public string? Thumb { get; set; } + public string Tag { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataDirector.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataDirector.cs new file mode 100644 index 0000000..f9a6637 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataDirector.cs @@ -0,0 +1,54 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetMediaMetaDataDirector + { + + /// + /// The unique role identifier. + /// + [JsonProperty("id")] + public long Id { get; set; } = default!; + + /// + /// The filter string for the role. + /// + [JsonProperty("filter")] + public string Filter { get; set; } = default!; + + /// + /// The actor's name. + /// + [JsonProperty("tag")] + public string Tag { get; set; } = default!; + + /// + /// A key associated with the actor tag. + /// + [JsonProperty("tagKey")] + public string TagKey { get; set; } = default!; + + /// + /// The character name or role. + /// + [JsonProperty("role")] + public string? Role { get; set; } + + /// + /// URL for the role thumbnail image. + /// + [JsonProperty("thumb")] + public string? Thumb { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyRole.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataGenre.cs similarity index 58% rename from LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyRole.cs rename to LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataGenre.cs index 3841ad2..f6b37b8 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyRole.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataGenre.cs @@ -12,25 +12,25 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; - public class GetMetaDataByRatingKeyRole + public class GetMediaMetaDataGenre { + /// + /// The unique genre identifier. + /// [JsonProperty("id")] - public int? Id { get; set; } + public long Id { get; set; } = default!; + /// + /// The filter string for the genre. + /// [JsonProperty("filter")] - public string? Filter { get; set; } + public string Filter { get; set; } = default!; + /// + /// The genre name. + /// [JsonProperty("tag")] - public string? Tag { get; set; } - - [JsonProperty("tagKey")] - public string? TagKey { get; set; } - - [JsonProperty("role")] - public string? Role { get; set; } - - [JsonProperty("thumb")] - public string? Thumb { get; set; } + public string Tag { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataImage.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataImage.cs new file mode 100644 index 0000000..0bffefd --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataImage.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetMediaMetaDataImage + { + + /// + /// Alternate text for the image. + /// + [JsonProperty("alt")] + public string Alt { get; set; } = default!; + + /// + /// The type of image (e.g., coverPoster, background, clearLogo). + /// + [JsonProperty("type")] + public string Type { get; set; } = default!; + + /// + /// The URL of the image. + /// + [JsonProperty("url")] + public string Url { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataLocation.cs similarity index 68% rename from LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyRequest.cs rename to LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataLocation.cs index f78eaf7..975936b 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataLocation.cs @@ -10,14 +10,15 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests { using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; - public class GetMetaDataByRatingKeyRequest + public class GetMediaMetaDataLocation { /// - /// the id of the library item to return the children of. + /// The file path for the location. /// - [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ratingKey")] - public long RatingKey { get; set; } = default!; + [JsonProperty("path")] + public string Path { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMedia.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMedia.cs new file mode 100644 index 0000000..742fb6f --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMedia.cs @@ -0,0 +1,110 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetMediaMetaDataMedia + { + + /// + /// Unique media identifier. + /// + [JsonProperty("id")] + public long Id { get; set; } = default!; + + /// + /// Duration of the media in milliseconds. + /// + [JsonProperty("duration")] + public long Duration { get; set; } = default!; + + /// + /// Bitrate in bits per second. + /// + [JsonProperty("bitrate")] + public long Bitrate { get; set; } = default!; + + /// + /// Video width in pixels. + /// + [JsonProperty("width")] + public long Width { get; set; } = default!; + + /// + /// Video height in pixels. + /// + [JsonProperty("height")] + public long Height { get; set; } = default!; + + /// + /// Aspect ratio of the video. + /// + [JsonProperty("aspectRatio")] + public float AspectRatio { get; set; } = default!; + + /// + /// Number of audio channels. + /// + [JsonProperty("audioChannels")] + public long AudioChannels { get; set; } = default!; + + /// + /// Audio codec used. + /// + [JsonProperty("audioCodec")] + public string AudioCodec { get; set; } = default!; + + /// + /// Video codec used. + /// + [JsonProperty("videoCodec")] + public string VideoCodec { get; set; } = default!; + + /// + /// Video resolution (e.g., 4k). + /// + [JsonProperty("videoResolution")] + public string VideoResolution { get; set; } = default!; + + /// + /// File container type. + /// + [JsonProperty("container")] + public string Container { get; set; } = default!; + + /// + /// Frame rate of the video (e.g., 24p). + /// + [JsonProperty("videoFrameRate")] + public string VideoFrameRate { get; set; } = default!; + + /// + /// Video profile (e.g., main 10). + /// + [JsonProperty("videoProfile")] + public string VideoProfile { get; set; } = default!; + + /// + /// Indicates whether voice activity is detected. + /// + [JsonProperty("hasVoiceActivity")] + public bool HasVoiceActivity { get; set; } = default!; + + /// + /// An array of parts for this media item. + /// + [JsonProperty("Part")] + public List Part { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMediaContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMediaContainer.cs new file mode 100644 index 0000000..c81d5db --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMediaContainer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetMediaMetaDataMediaContainer + { + + [JsonProperty("size")] + public double Size { get; set; } = default!; + + /// + /// Indicates whether syncing is allowed. + /// + [JsonProperty("allowSync")] + public bool AllowSync { get; set; } = default!; + + /// + /// An plugin identifier for the media container. + /// + [JsonProperty("identifier")] + public string Identifier { get; set; } = default!; + + /// + /// The unique identifier for the library section. + /// + [JsonProperty("librarySectionID")] + public long LibrarySectionID { get; set; } = default!; + + /// + /// The title of the library section. + /// + [JsonProperty("librarySectionTitle")] + public string LibrarySectionTitle { get; set; } = default!; + + /// + /// The universally unique identifier for the library section. + /// + [JsonProperty("librarySectionUUID")] + public string? LibrarySectionUUID { get; set; } + + /// + /// The prefix used for media tag resource paths. + /// + [JsonProperty("mediaTagPrefix")] + public string MediaTagPrefix { get; set; } = default!; + + /// + /// The version number for media tags. + /// + [JsonProperty("mediaTagVersion")] + public long MediaTagVersion { get; set; } = default!; + + /// + /// An array of metadata items. + /// + [JsonProperty("Metadata")] + public List Metadata { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMetadata.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMetadata.cs new file mode 100644 index 0000000..7063ae3 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataMetadata.cs @@ -0,0 +1,363 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + + public class GetMediaMetaDataMetadata + { + + /// + /// The rating key of the metadata item. + /// + [JsonProperty("ratingKey")] + public string RatingKey { get; set; } = default!; + + /// + /// The rating key of the parent of this metadata item. + /// + [JsonProperty("parentRatingKey")] + public string? ParentRatingKey { get; set; } + + /// + /// The rating key of the grandparent of this metadata item. + /// + [JsonProperty("grandparentRatingKey")] + public string? GrandparentRatingKey { get; set; } + + /// + /// A GUID identifying the parent entity (e.g., season) for the item. + /// + [JsonProperty("parentGuid")] + public string? ParentGuid { get; set; } + + /// + /// A GUID identifying the grandparent entity (e.g., show). + /// + [JsonProperty("grandparentGuid")] + public string? GrandparentGuid { get; set; } + + /// + /// A URL-friendly identifier (slug) for the grandparent entity. + /// + [JsonProperty("grandparentSlug")] + public string? GrandparentSlug { get; set; } + + /// + /// A key identifying the grandparent metadata in the library. + /// + [JsonProperty("grandparentKey")] + public string? GrandparentKey { get; set; } + + /// + /// A key identifying the parent metadata in the library. + /// + [JsonProperty("parentKey")] + public string? ParentKey { get; set; } + + /// + /// The API key to access metadata details. + /// + [JsonProperty("key")] + public string Key { get; set; } = default!; + + /// + /// The globally unique identifier for the item. + /// + [JsonProperty("guid")] + public string Guid { get; set; } = default!; + + /// + /// A URL-friendly identifier for the item. + /// + [JsonProperty("slug")] + public string? Slug { get; set; } + + /// + /// The studio that produced the content. + /// + [JsonProperty("studio")] + public string? Studio { get; set; } + + /// + /// The type of content (e.g., show, movie). + /// + [JsonProperty("type")] + public string Type { get; set; } = default!; + + /// + /// The title of the content. + /// + [JsonProperty("title")] + public string Title { get; set; } = default!; + + /// + /// The original title of the content. + /// + [JsonProperty("originalTitle")] + public string? OriginalTitle { get; set; } + + /// + /// The title of the library section. + /// + [JsonProperty("librarySectionTitle")] + public string LibrarySectionTitle { get; set; } = default!; + + /// + /// The ID of the library section. + /// + [JsonProperty("librarySectionID")] + public long LibrarySectionID { get; set; } = default!; + + /// + /// The key of the library section. + /// + [JsonProperty("librarySectionKey")] + public string LibrarySectionKey { get; set; } = default!; + + /// + /// The content rating (e.g., TV-MA). + /// + [JsonProperty("contentRating")] + public string ContentRating { get; set; } = default!; + + /// + /// A summary of the content. + /// + [JsonProperty("summary")] + public string Summary { get; set; } = default!; + + /// + /// The index or order of the item. + /// + [JsonProperty("index")] + public long? Index { get; set; } + + /// + /// The title of the grandparent entity (typically the show's title). + /// + [JsonProperty("grandparentTitle")] + public string? GrandparentTitle { get; set; } + + /// + /// The title of the parent entity (typically the season's title). + /// + [JsonProperty("parentTitle")] + public string? ParentTitle { get; set; } + + /// + /// The audience rating for the content. + /// + [JsonProperty("audienceRating")] + public float AudienceRating { get; set; } = default!; + + /// + /// The number of times the item has been viewed. + /// + [JsonProperty("viewCount")] + public long? ViewCount { get; set; } + + /// + /// The number of times the item has been skipped. + /// + [JsonProperty("skipCount")] + public long? SkipCount { get; set; } + + /// + /// Unix timestamp of when the item was last viewed. + /// + [JsonProperty("lastViewedAt")] + public long? LastViewedAt { get; set; } + + /// + /// The release year. + /// + [JsonProperty("year")] + public long Year { get; set; } = default!; + + /// + /// The tagline of the content. + /// + [JsonProperty("tagline")] + public string? Tagline { get; set; } + + [JsonProperty("chapterSource")] + public string? ChapterSource { get; set; } + + [JsonProperty("primaryExtraKey")] + public string? PrimaryExtraKey { get; set; } + + /// + /// URL of the thumbnail image. + /// + [JsonProperty("thumb")] + public string Thumb { get; set; } = default!; + + /// + /// URL of the art image. + /// + [JsonProperty("art")] + public string Art { get; set; } = default!; + + /// + /// URL of the theme image. + /// + [JsonProperty("theme")] + public string? Theme { get; set; } + + /// + /// Duration of the content in milliseconds. + /// + [JsonProperty("duration")] + public long Duration { get; set; } = default!; + + /// + /// The original release date. + /// + [JsonProperty("originallyAvailableAt")] + public LocalDate OriginallyAvailableAt { get; set; } = default!; + + /// + /// The total number of episodes (or leaves). + /// + [JsonProperty("leafCount")] + public long? LeafCount { get; set; } + + /// + /// The number of episodes that have been viewed. + /// + [JsonProperty("viewedLeafCount")] + public long? ViewedLeafCount { get; set; } + + /// + /// The number of child items. + /// + [JsonProperty("childCount")] + public long? ChildCount { get; set; } + + /// + /// Unix timestamp when the item was added. + /// + [JsonProperty("addedAt")] + public long AddedAt { get; set; } = default!; + + /// + /// Unix timestamp when the item was last updated. + /// + [JsonProperty("updatedAt")] + public long UpdatedAt { get; set; } = default!; + + /// + /// The URL for the audience rating image. + /// + [JsonProperty("audienceRatingImage")] + public string AudienceRatingImage { get; set; } = default!; + + /// + /// The index number of the parent entity, which could indicate its order or position. + /// + [JsonProperty("parentIndex")] + public long? ParentIndex { get; set; } + + /// + /// The URL of the parent's thumbnail image. + /// + [JsonProperty("parentThumb")] + public string? ParentThumb { get; set; } + + /// + /// The URL of the grandparent's thumbnail image. + /// + [JsonProperty("grandparentThumb")] + public string? GrandparentThumb { get; set; } + + /// + /// The URL of the grandparent's art image. + /// + [JsonProperty("grandparentArt")] + public string? GrandparentArt { get; set; } + + [JsonProperty("Media")] + public List? Media { get; set; } + + /// + /// An array of image objects. + /// + [JsonProperty("Image")] + public List Image { get; set; } = default!; + + [JsonProperty("UltraBlurColors")] + public GetMediaMetaDataUltraBlurColors UltraBlurColors { get; set; } = default!; + + /// + /// An array of genre tags. + /// + [JsonProperty("Genre")] + public List? Genre { get; set; } + + /// + /// An array of country tags. + /// + [JsonProperty("Country")] + public List? Country { get; set; } + + /// + /// An array of GUID objects. + /// + [JsonProperty("Guid")] + public List Guids { get; set; } = default!; + + /// + /// An array of rating objects. + /// + [JsonProperty("Rating")] + public List Rating { get; set; } = default!; + + /// + /// An array of Actor roles. + /// + [JsonProperty("Role")] + public List? Role { get; set; } + + /// + /// An array of Director roles. + /// + [JsonProperty("Director")] + public List? Director { get; set; } + + /// + /// An array of Writer roles. + /// + [JsonProperty("Writer")] + public List? Writer { get; set; } + + /// + /// An array of Writer roles. + /// + [JsonProperty("Producer")] + public List? Producer { get; set; } + + /// + /// An array of similar content objects. + /// + [JsonProperty("Similar")] + public List? Similar { get; set; } + + /// + /// An array of location objects. + /// + [JsonProperty("Location")] + public List? Location { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataPart.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataPart.cs new file mode 100644 index 0000000..17795b5 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataPart.cs @@ -0,0 +1,83 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetMediaMetaDataPart + { + + /// + /// Indicates if the part is accessible. + /// + [JsonProperty("accessible")] + public bool? Accessible { get; set; } + + /// + /// Indicates if the part exists. + /// + [JsonProperty("exists")] + public bool? Exists { get; set; } + + /// + /// Unique part identifier. + /// + [JsonProperty("id")] + public long Id { get; set; } = default!; + + /// + /// Key to access this part. + /// + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("indexes")] + public string? Indexes { get; set; } + + /// + /// Duration of the part in milliseconds. + /// + [JsonProperty("duration")] + public long Duration { get; set; } = default!; + + /// + /// File path for the part. + /// + [JsonProperty("file")] + public string File { get; set; } = default!; + + /// + /// File size in bytes. + /// + [JsonProperty("size")] + public long Size { get; set; } = default!; + + /// + /// Container format of the part. + /// + [JsonProperty("container")] + public string Container { get; set; } = default!; + + /// + /// Video profile for the part. + /// + [JsonProperty("videoProfile")] + public string VideoProfile { get; set; } = default!; + + /// + /// An array of streams for this part. + /// + [JsonProperty("Stream")] + public List Stream { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataRequest.cs new file mode 100644 index 0000000..efd8e0e --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataRequest.cs @@ -0,0 +1,101 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + public class GetMediaMetaDataRequest + { + + /// + /// the id of the library item to return the children of. + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ratingKey")] + public long RatingKey { get; set; } = default!; + + /// + /// Include concerts data if set to true. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeConcerts")] + public bool? IncludeConcerts { get; set; } + + /// + /// Include extra content (e.g. bonus features). + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeExtras")] + public bool? IncludeExtras { get; set; } + + /// + /// Include on-deck items. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeOnDeck")] + public bool? IncludeOnDeck { get; set; } + + /// + /// Include popular leaves (episodes/chapters). + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includePopularLeaves")] + public bool? IncludePopularLeaves { get; set; } + + /// + /// Include preferences information. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includePreferences")] + public bool? IncludePreferences { get; set; } + + /// + /// Include reviews for the content. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeReviews")] + public bool? IncludeReviews { get; set; } + + /// + /// Include chapter details. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeChapters")] + public bool? IncludeChapters { get; set; } + + /// + /// Include station data. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeStations")] + public bool? IncludeStations { get; set; } + + /// + /// Include external media data. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeExternalMedia")] + public bool? IncludeExternalMedia { get; set; } + + /// + /// Trigger asynchronous metadata augmentation. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=asyncAugmentMetadata")] + public bool? AsyncAugmentMetadata { get; set; } + + /// + /// Trigger asynchronous file checking. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=asyncCheckFiles")] + public bool? AsyncCheckFiles { get; set; } + + /// + /// Trigger asynchronous refresh of analysis. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=asyncRefreshAnalysis")] + public bool? AsyncRefreshAnalysis { get; set; } + + /// + /// Trigger asynchronous refresh of the local media agent. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=asyncRefreshLocalMediaAgent")] + public bool? AsyncRefreshLocalMediaAgent { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyResponse.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataResponse.cs similarity index 90% rename from LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyResponse.cs rename to LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataResponse.cs index 0851ffe..cad7f42 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyResponse.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataResponse.cs @@ -14,7 +14,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using System; using System.Net.Http; - public class GetMetaDataByRatingKeyResponse + public class GetMediaMetaDataResponse { /// @@ -35,6 +35,6 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// /// The metadata of the library item. /// - public GetMetaDataByRatingKeyResponseBody? Object { get; set; } + public GetMediaMetaDataResponseBody? Object { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyResponseBody.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataResponseBody.cs similarity index 84% rename from LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyResponseBody.cs rename to LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataResponseBody.cs index b0485a4..ed6e84c 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyResponseBody.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataResponseBody.cs @@ -16,10 +16,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// /// The metadata of the library item. /// - public class GetMetaDataByRatingKeyResponseBody + public class GetMediaMetaDataResponseBody { [JsonProperty("MediaContainer")] - public GetMetaDataByRatingKeyMediaContainer? MediaContainer { get; set; } + public GetMediaMetaDataMediaContainer? MediaContainer { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataRole.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataRole.cs new file mode 100644 index 0000000..3a5ca92 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataRole.cs @@ -0,0 +1,54 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetMediaMetaDataRole + { + + /// + /// The unique role identifier. + /// + [JsonProperty("id")] + public long Id { get; set; } = default!; + + /// + /// The filter string for the role. + /// + [JsonProperty("filter")] + public string Filter { get; set; } = default!; + + /// + /// The actor's name. + /// + [JsonProperty("tag")] + public string Tag { get; set; } = default!; + + /// + /// A key associated with the actor tag. + /// + [JsonProperty("tagKey")] + public string TagKey { get; set; } = default!; + + /// + /// The character name or role. + /// + [JsonProperty("role")] + public string? Role { get; set; } + + /// + /// URL for the role thumbnail image. + /// + [JsonProperty("thumb")] + public string? Thumb { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataStream.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataStream.cs new file mode 100644 index 0000000..4c8f4e3 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataStream.cs @@ -0,0 +1,285 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetMediaMetaDataStream + { + + /// + /// Unique stream identifier. + /// + [JsonProperty("id")] + public long Id { get; set; } = default!; + + /// + /// Stream type (1=video, 2=audio, 3=subtitle). + /// + [JsonProperty("streamType")] + public long StreamType { get; set; } = default!; + + /// + /// Indicates if this stream is default. + /// + [JsonProperty("default")] + public bool? Default { get; set; } + + /// + /// Codec used by the stream. + /// + [JsonProperty("codec")] + public string Codec { get; set; } = default!; + + /// + /// Index of the stream. + /// + [JsonProperty("index")] + public long Index { get; set; } = default!; + + /// + /// Bitrate of the stream. + /// + [JsonProperty("bitrate")] + public long Bitrate { get; set; } = default!; + + /// + /// Language of the stream. + /// + [JsonProperty("language")] + public string Language { get; set; } = default!; + + /// + /// Language tag (e.g., en). + /// + [JsonProperty("languageTag")] + public string LanguageTag { get; set; } = default!; + + /// + /// ISO language code. + /// + [JsonProperty("languageCode")] + public string LanguageCode { get; set; } = default!; + + /// + /// Dolby Vision BL compatibility ID. + /// + [JsonProperty("DOVIBLCompatID")] + public long? DOVIBLCompatID { get; set; } + + /// + /// Indicates if Dolby Vision BL is present. + /// + [JsonProperty("DOVIBLPresent")] + public bool? DOVIBLPresent { get; set; } + + /// + /// Indicates if Dolby Vision EL is present. + /// + [JsonProperty("DOVIELPresent")] + public bool? DOVIELPresent { get; set; } + + /// + /// Dolby Vision level. + /// + [JsonProperty("DOVILevel")] + public long? DOVILevel { get; set; } + + /// + /// Indicates if Dolby Vision is present. + /// + [JsonProperty("DOVIPresent")] + public bool? DOVIPresent { get; set; } + + /// + /// Dolby Vision profile. + /// + [JsonProperty("DOVIProfile")] + public long? DOVIProfile { get; set; } + + /// + /// Indicates if Dolby Vision RPU is present. + /// + [JsonProperty("DOVIRPUPresent")] + public bool? DOVIRPUPresent { get; set; } + + /// + /// Dolby Vision version. + /// + [JsonProperty("DOVIVersion")] + public string? DOVIVersion { get; set; } + + /// + /// Bit depth of the video stream. + /// + [JsonProperty("bitDepth")] + public long? BitDepth { get; set; } + + /// + /// Chroma sample location. + /// + [JsonProperty("chromaLocation")] + public string? ChromaLocation { get; set; } + + /// + /// Chroma subsampling format. + /// + [JsonProperty("chromaSubsampling")] + public string? ChromaSubsampling { get; set; } + + /// + /// Coded video height. + /// + [JsonProperty("codedHeight")] + public long? CodedHeight { get; set; } + + /// + /// Coded video width. + /// + [JsonProperty("codedWidth")] + public long? CodedWidth { get; set; } + + /// + /// Color primaries used. + /// + [JsonProperty("colorPrimaries")] + public string? ColorPrimaries { get; set; } + + /// + /// Color range (e.g., tv). + /// + [JsonProperty("colorRange")] + public string? ColorRange { get; set; } + + /// + /// Color space. + /// + [JsonProperty("colorSpace")] + public string? ColorSpace { get; set; } + + /// + /// Color transfer characteristics. + /// + [JsonProperty("colorTrc")] + public string? ColorTrc { get; set; } + + /// + /// Frame rate of the stream. + /// + [JsonProperty("frameRate")] + public float? FrameRate { get; set; } + + /// + /// Height of the video stream. + /// + [JsonProperty("height")] + public long? Height { get; set; } + + /// + /// Video level. + /// + [JsonProperty("level")] + public long? Level { get; set; } + + /// + /// Indicates if this is the original stream. + /// + [JsonProperty("original")] + public bool? Original { get; set; } + + [JsonProperty("hasScalingMatrix")] + public bool? HasScalingMatrix { get; set; } + + /// + /// Video profile. + /// + [JsonProperty("profile")] + public string? Profile { get; set; } + + [JsonProperty("scanType")] + public string? ScanType { get; set; } + + /// + /// Number of reference frames. + /// + [JsonProperty("refFrames")] + public long? RefFrames { get; set; } + + /// + /// Width of the video stream. + /// + [JsonProperty("width")] + public long? Width { get; set; } + + /// + /// Display title for the stream. + /// + [JsonProperty("displayTitle")] + public string DisplayTitle { get; set; } = default!; + + /// + /// Extended display title for the stream. + /// + [JsonProperty("extendedDisplayTitle")] + public string ExtendedDisplayTitle { get; set; } = default!; + + /// + /// Indicates if this stream is selected (applicable for audio streams). + /// + [JsonProperty("selected")] + public bool? Selected { get; set; } + + [JsonProperty("forced")] + public bool? Forced { get; set; } + + /// + /// Number of audio channels (for audio streams). + /// + [JsonProperty("channels")] + public long? Channels { get; set; } + + /// + /// Audio channel layout. + /// + [JsonProperty("audioChannelLayout")] + public string? AudioChannelLayout { get; set; } + + /// + /// Sampling rate for the audio stream. + /// + [JsonProperty("samplingRate")] + public long? SamplingRate { get; set; } + + /// + /// Indicates if the stream can auto-sync. + /// + [JsonProperty("canAutoSync")] + public bool? CanAutoSync { get; set; } + + /// + /// Indicates if the stream is for the hearing impaired. + /// + [JsonProperty("hearingImpaired")] + public bool? HearingImpaired { get; set; } + + /// + /// Indicates if the stream is a dub. + /// + [JsonProperty("dub")] + public bool? Dub { get; set; } + + /// + /// Optional title for the stream (e.g., language variant). + /// + [JsonProperty("title")] + public string? Title { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataUltraBlurColors.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataUltraBlurColors.cs new file mode 100644 index 0000000..06eecd8 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataUltraBlurColors.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetMediaMetaDataUltraBlurColors + { + + /// + /// The top-left color value. + /// + [JsonProperty("topLeft")] + public string TopLeft { get; set; } = default!; + + /// + /// The top-right color value. + /// + [JsonProperty("topRight")] + public string TopRight { get; set; } = default!; + + /// + /// The bottom-right color value. + /// + [JsonProperty("bottomRight")] + public string BottomRight { get; set; } = default!; + + /// + /// The bottom-left color value. + /// + [JsonProperty("bottomLeft")] + public string BottomLeft { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataWriter.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataWriter.cs new file mode 100644 index 0000000..d451f34 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaMetaDataWriter.cs @@ -0,0 +1,54 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetMediaMetaDataWriter + { + + /// + /// The unique role identifier. + /// + [JsonProperty("id")] + public long Id { get; set; } = default!; + + /// + /// The filter string for the role. + /// + [JsonProperty("filter")] + public string Filter { get; set; } = default!; + + /// + /// The actor's name. + /// + [JsonProperty("tag")] + public string Tag { get; set; } = default!; + + /// + /// A key associated with the actor tag. + /// + [JsonProperty("tagKey")] + public string TagKey { get; set; } = default!; + + /// + /// The character name or role. + /// + [JsonProperty("role")] + public string? Role { get; set; } + + /// + /// URL for the role thumbnail image. + /// + [JsonProperty("thumb")] + public string? Thumb { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMedia.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMedia.cs deleted file mode 100644 index 72928c3..0000000 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMedia.cs +++ /dev/null @@ -1,71 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. -// -// Changes to this file may cause incorrect behavior and will be lost when -// the code is regenerated. -// -//------------------------------------------------------------------------------ -#nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests -{ - using LukeHagar.PlexAPI.SDK.Models.Requests; - using LukeHagar.PlexAPI.SDK.Utils; - using Newtonsoft.Json; - using System.Collections.Generic; - - public class GetMetaDataByRatingKeyMedia - { - - [JsonProperty("id")] - public int? Id { get; set; } - - [JsonProperty("duration")] - public int? Duration { get; set; } - - [JsonProperty("bitrate")] - public int? Bitrate { get; set; } - - [JsonProperty("width")] - public int? Width { get; set; } - - [JsonProperty("height")] - public int? Height { get; set; } - - [JsonProperty("aspectRatio")] - public double? AspectRatio { get; set; } - - [JsonProperty("audioChannels")] - public int? AudioChannels { get; set; } - - [JsonProperty("audioCodec")] - public string? AudioCodec { get; set; } - - [JsonProperty("videoCodec")] - public string? VideoCodec { get; set; } - - [JsonProperty("videoResolution")] - public string? VideoResolution { get; set; } - - [JsonProperty("container")] - public string? Container { get; set; } - - [JsonProperty("videoFrameRate")] - public string? VideoFrameRate { get; set; } - - [JsonProperty("optimizedForStreaming")] - public int? OptimizedForStreaming { get; set; } - - [JsonProperty("audioProfile")] - public string? AudioProfile { get; set; } - - [JsonProperty("has64bitOffsets")] - public bool? Has64bitOffsets { get; set; } - - [JsonProperty("videoProfile")] - public string? VideoProfile { get; set; } - - [JsonProperty("Part")] - public List? Part { get; set; } - } -} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMediaContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMediaContainer.cs deleted file mode 100644 index 62dea45..0000000 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMediaContainer.cs +++ /dev/null @@ -1,47 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. -// -// Changes to this file may cause incorrect behavior and will be lost when -// the code is regenerated. -// -//------------------------------------------------------------------------------ -#nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests -{ - using LukeHagar.PlexAPI.SDK.Models.Requests; - using LukeHagar.PlexAPI.SDK.Utils; - using Newtonsoft.Json; - using System.Collections.Generic; - - public class GetMetaDataByRatingKeyMediaContainer - { - - [JsonProperty("size")] - public int? Size { get; set; } - - [JsonProperty("allowSync")] - public bool? AllowSync { get; set; } - - [JsonProperty("identifier")] - public string? Identifier { get; set; } - - [JsonProperty("librarySectionID")] - public int? LibrarySectionID { get; set; } - - [JsonProperty("librarySectionTitle")] - public string? LibrarySectionTitle { get; set; } - - [JsonProperty("librarySectionUUID")] - public string? LibrarySectionUUID { get; set; } - - [JsonProperty("mediaTagPrefix")] - public string? MediaTagPrefix { get; set; } - - [JsonProperty("mediaTagVersion")] - public int? MediaTagVersion { get; set; } - - [JsonProperty("Metadata")] - public List? Metadata { get; set; } - } -} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMetadata.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMetadata.cs deleted file mode 100644 index 5789fa3..0000000 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyMetadata.cs +++ /dev/null @@ -1,150 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. -// -// Changes to this file may cause incorrect behavior and will be lost when -// the code is regenerated. -// -//------------------------------------------------------------------------------ -#nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests -{ - using LukeHagar.PlexAPI.SDK.Models.Requests; - using LukeHagar.PlexAPI.SDK.Utils; - using Newtonsoft.Json; - using NodaTime; - using System.Collections.Generic; - - public class GetMetaDataByRatingKeyMetadata - { - - [JsonProperty("ratingKey")] - public string? RatingKey { get; set; } - - [JsonProperty("key")] - public string? Key { get; set; } - - [JsonProperty("guid")] - public string? Guid { get; set; } - - [JsonProperty("studio")] - public string? Studio { get; set; } - - [JsonProperty("type")] - public string? Type { get; set; } - - [JsonProperty("title")] - public string? Title { get; set; } - - [JsonProperty("librarySectionTitle")] - public string? LibrarySectionTitle { get; set; } - - [JsonProperty("librarySectionID")] - public int? LibrarySectionID { get; set; } - - [JsonProperty("librarySectionKey")] - public string? LibrarySectionKey { get; set; } - - /// - /// The name of the album artist for the track when audio, and the name of the TV show for the episode when video. - /// - [JsonProperty("grandparentTitle")] - public string? GrandparentTitle { get; set; } - - /// - /// The name of the album for the track when audio, and the name of the season for the episode when TV show. - /// - [JsonProperty("parentTitle")] - public string? ParentTitle { get; set; } - - /// - /// The orginal untranslated name of the media item when non-english. - /// - [JsonProperty("originalTitle")] - public string? OriginalTitle { get; set; } - - /// - /// The index starting from 0 of this media item in the MetaData array. - /// - [JsonProperty("index")] - public long? Index { get; set; } - - /// - /// The parent index starting from 0 of this media item in the parent MetaData array. - /// - [JsonProperty("parentIndex")] - public long? ParentIndex { get; set; } - - [JsonProperty("contentRating")] - public string? ContentRating { get; set; } - - [JsonProperty("summary")] - public string? Summary { get; set; } - - [JsonProperty("rating")] - public double? Rating { get; set; } - - [JsonProperty("audienceRating")] - public double? AudienceRating { get; set; } - - [JsonProperty("year")] - public int? Year { get; set; } - - [JsonProperty("tagline")] - public string? Tagline { get; set; } - - [JsonProperty("thumb")] - public string? Thumb { get; set; } - - [JsonProperty("art")] - public string? Art { get; set; } - - [JsonProperty("duration")] - public int? Duration { get; set; } - - [JsonProperty("originallyAvailableAt")] - public LocalDate? OriginallyAvailableAt { get; set; } - - [JsonProperty("addedAt")] - public int? AddedAt { get; set; } - - [JsonProperty("updatedAt")] - public int? UpdatedAt { get; set; } - - [JsonProperty("audienceRatingImage")] - public string? AudienceRatingImage { get; set; } - - [JsonProperty("hasPremiumPrimaryExtra")] - public string? HasPremiumPrimaryExtra { get; set; } - - [JsonProperty("ratingImage")] - public string? RatingImage { get; set; } - - [JsonProperty("Media")] - public List? Media { get; set; } - - [JsonProperty("Genre")] - public List? Genre { get; set; } - - [JsonProperty("Country")] - public List? Country { get; set; } - - [JsonProperty("Guid")] - public List? Guids { get; set; } - - [JsonProperty("Rating")] - public List? Ratings { get; set; } - - [JsonProperty("Director")] - public List? Director { get; set; } - - [JsonProperty("Writer")] - public List? Writer { get; set; } - - [JsonProperty("Role")] - public List? Role { get; set; } - - [JsonProperty("Producer")] - public List? Producer { get; set; } - } -} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyPart.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyPart.cs deleted file mode 100644 index f83babd..0000000 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyPart.cs +++ /dev/null @@ -1,53 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. -// -// Changes to this file may cause incorrect behavior and will be lost when -// the code is regenerated. -// -//------------------------------------------------------------------------------ -#nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests -{ - using LukeHagar.PlexAPI.SDK.Models.Requests; - using LukeHagar.PlexAPI.SDK.Utils; - using Newtonsoft.Json; - using System.Collections.Generic; - - public class GetMetaDataByRatingKeyPart - { - - [JsonProperty("id")] - public int? Id { get; set; } - - [JsonProperty("key")] - public string? Key { get; set; } - - [JsonProperty("duration")] - public int? Duration { get; set; } - - [JsonProperty("file")] - public string? File { get; set; } - - [JsonProperty("size")] - public int? Size { get; set; } - - [JsonProperty("audioProfile")] - public string? AudioProfile { get; set; } - - [JsonProperty("container")] - public string? Container { get; set; } - - [JsonProperty("has64bitOffsets")] - public bool? Has64bitOffsets { get; set; } - - [JsonProperty("optimizedForStreaming")] - public bool? OptimizedForStreaming { get; set; } - - [JsonProperty("videoProfile")] - public string? VideoProfile { get; set; } - - [JsonProperty("Stream")] - public List? Stream { get; set; } - } -} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyStream.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyStream.cs deleted file mode 100644 index c4cc0f6..0000000 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyStream.cs +++ /dev/null @@ -1,114 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. -// -// Changes to this file may cause incorrect behavior and will be lost when -// the code is regenerated. -// -//------------------------------------------------------------------------------ -#nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests -{ - using LukeHagar.PlexAPI.SDK.Utils; - using Newtonsoft.Json; - - public class GetMetaDataByRatingKeyStream - { - - [JsonProperty("id")] - public int? Id { get; set; } - - [JsonProperty("streamType")] - public int? StreamType { get; set; } - - [JsonProperty("default")] - public bool? Default { get; set; } - - [JsonProperty("codec")] - public string? Codec { get; set; } - - [JsonProperty("index")] - public int? Index { get; set; } - - [JsonProperty("bitrate")] - public int? Bitrate { get; set; } - - [JsonProperty("bitDepth")] - public int? BitDepth { get; set; } - - [JsonProperty("chromaLocation")] - public string? ChromaLocation { get; set; } - - [JsonProperty("chromaSubsampling")] - public string? ChromaSubsampling { get; set; } - - [JsonProperty("codedHeight")] - public int? CodedHeight { get; set; } - - [JsonProperty("codedWidth")] - public int? CodedWidth { get; set; } - - [JsonProperty("colorPrimaries")] - public string? ColorPrimaries { get; set; } - - [JsonProperty("colorRange")] - public string? ColorRange { get; set; } - - [JsonProperty("colorSpace")] - public string? ColorSpace { get; set; } - - [JsonProperty("colorTrc")] - public string? ColorTrc { get; set; } - - [JsonProperty("frameRate")] - public int? FrameRate { get; set; } - - [JsonProperty("hasScalingMatrix")] - public bool? HasScalingMatrix { get; set; } - - [JsonProperty("height")] - public int? Height { get; set; } - - [JsonProperty("level")] - public int? Level { get; set; } - - [JsonProperty("profile")] - public string? Profile { get; set; } - - [JsonProperty("refFrames")] - public int? RefFrames { get; set; } - - [JsonProperty("scanType")] - public string? ScanType { get; set; } - - [JsonProperty("streamIdentifier")] - public string? StreamIdentifier { get; set; } - - [JsonProperty("width")] - public int? Width { get; set; } - - [JsonProperty("displayTitle")] - public string? DisplayTitle { get; set; } - - [JsonProperty("extendedDisplayTitle")] - public string? ExtendedDisplayTitle { get; set; } - - [JsonProperty("selected")] - public bool? Selected { get; set; } - - [JsonProperty("channels")] - public int? Channels { get; set; } - - [JsonProperty("language")] - public string? Language { get; set; } - - [JsonProperty("languageTag")] - public string? LanguageTag { get; set; } - - [JsonProperty("languageCode")] - public string? LanguageCode { get; set; } - - [JsonProperty("samplingRate")] - public int? SamplingRate { get; set; } - } -} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyWriter.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyWriter.cs deleted file mode 100644 index 75b292c..0000000 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyWriter.cs +++ /dev/null @@ -1,33 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. -// -// Changes to this file may cause incorrect behavior and will be lost when -// the code is regenerated. -// -//------------------------------------------------------------------------------ -#nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests -{ - using LukeHagar.PlexAPI.SDK.Utils; - using Newtonsoft.Json; - - public class GetMetaDataByRatingKeyWriter - { - - [JsonProperty("id")] - public int? Id { get; set; } - - [JsonProperty("filter")] - public string? Filter { get; set; } - - [JsonProperty("tag")] - public string? Tag { get; set; } - - [JsonProperty("tagKey")] - public string? TagKey { get; set; } - - [JsonProperty("thumb")] - public string? Thumb { get; set; } - } -} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetPlaylistContentsQueryParamType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetPlaylistContentsQueryParamType.cs index 906a2ec..80e5c17 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetPlaylistContentsQueryParamType.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetPlaylistContentsQueryParamType.cs @@ -12,7 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using LukeHagar.PlexAPI.SDK.Utils; /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetPlaylistContentsRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetPlaylistContentsRequest.cs index 2b6ce81..65ccf90 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetPlaylistContentsRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetPlaylistContentsRequest.cs @@ -22,7 +22,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public double PlaylistID { get; set; } = default!; /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRequest.cs index c57046b..1603112 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRequest.cs @@ -29,7 +29,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public long? SectionID { get; set; } /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedRequest.cs index e9286fe..4d6ea4b 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedRequest.cs @@ -34,7 +34,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public long? SectionID { get; set; } /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryQueryParamType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryQueryParamType.cs index 1840aab..91472fa 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryQueryParamType.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryQueryParamType.cs @@ -12,7 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using LukeHagar.PlexAPI.SDK.Utils; /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryRequest.cs index 4b00218..8f70530 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryRequest.cs @@ -27,7 +27,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public int SectionKey { get; set; } = default!; /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTopWatchedContentQueryParamType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTopWatchedContentQueryParamType.cs index 603e917..2cbac4c 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTopWatchedContentQueryParamType.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTopWatchedContentQueryParamType.cs @@ -12,7 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using LukeHagar.PlexAPI.SDK.Utils; /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTopWatchedContentRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTopWatchedContentRequest.cs index e652974..f5290ad 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTopWatchedContentRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTopWatchedContentRequest.cs @@ -16,7 +16,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests { /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Guids.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Guids.cs index 5b99faf..58ad5c7 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Guids.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Guids.cs @@ -15,7 +15,10 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public class Guids { + /// + /// The GUID value. + /// [JsonProperty("id")] - public string? Id { get; set; } + public string Id { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Producer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Producer.cs index d9d655a..60b8f17 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Producer.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Producer.cs @@ -15,18 +15,39 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public class Producer { + /// + /// The unique role identifier. + /// [JsonProperty("id")] - public int? Id { get; set; } + public long Id { get; set; } = default!; + /// + /// The filter string for the role. + /// [JsonProperty("filter")] - public string? Filter { get; set; } + public string Filter { get; set; } = default!; + /// + /// The actor's name. + /// [JsonProperty("tag")] - public string? Tag { get; set; } + public string Tag { get; set; } = default!; + /// + /// A key associated with the actor tag. + /// [JsonProperty("tagKey")] - public string? TagKey { get; set; } + public string TagKey { get; set; } = default!; + /// + /// The character name or role. + /// + [JsonProperty("role")] + public string? Role { get; set; } + + /// + /// URL for the role thumbnail image. + /// [JsonProperty("thumb")] public string? Thumb { get; set; } } diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamType.cs index 2334b27..fea85d9 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamType.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamType.cs @@ -12,7 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using LukeHagar.PlexAPI.SDK.Utils; /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Ratings.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Rating.cs similarity index 58% rename from LukeHagar/PlexAPI/SDK/Models/Requests/Ratings.cs rename to LukeHagar/PlexAPI/SDK/Models/Requests/Rating.cs index afca498..a6d5b7a 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Ratings.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Rating.cs @@ -12,16 +12,25 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; - public class Ratings + public class Rating { + /// + /// The image or reference for the rating. + /// [JsonProperty("image")] - public string? Image { get; set; } + public string Image { get; set; } = default!; + /// + /// The rating value. + /// [JsonProperty("value")] - public double? Value { get; set; } + public float Value { get; set; } = default!; + /// + /// The type of rating (e.g., audience, critic). + /// [JsonProperty("type")] - public string? Type { get; set; } + public string Type { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Similar.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Similar.cs new file mode 100644 index 0000000..87b1916 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Similar.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class Similar + { + + /// + /// The unique similar item identifier. + /// + [JsonProperty("id")] + public long Id { get; set; } = default!; + + /// + /// The filter string for similar items. + /// + [JsonProperty("filter")] + public string Filter { get; set; } = default!; + + /// + /// The tag or title of the similar content. + /// + [JsonProperty("tag")] + public string Tag { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Type.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Type.cs index fab7140..494ebce 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Type.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Type.cs @@ -12,7 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using LukeHagar.PlexAPI.SDK.Utils; /// - /// The type of media to retrieve.
+ /// The type of media to retrieve or filter by.
/// /// /// 1 = movie
diff --git a/LukeHagar/PlexAPI/SDK/Playlists.cs b/LukeHagar/PlexAPI/SDK/Playlists.cs index f91e4b6..0e5c868 100644 --- a/LukeHagar/PlexAPI/SDK/Playlists.cs +++ b/LukeHagar/PlexAPI/SDK/Playlists.cs @@ -146,10 +146,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Plex.cs b/LukeHagar/PlexAPI/SDK/Plex.cs index 0bd924d..6970bda 100644 --- a/LukeHagar/PlexAPI/SDK/Plex.cs +++ b/LukeHagar/PlexAPI/SDK/Plex.cs @@ -143,10 +143,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/PlexAPI.cs b/LukeHagar/PlexAPI/SDK/PlexAPI.cs index 516d5cc..9848503 100644 --- a/LukeHagar/PlexAPI/SDK/PlexAPI.cs +++ b/LukeHagar/PlexAPI/SDK/PlexAPI.cs @@ -327,10 +327,10 @@ namespace LukeHagar.PlexAPI.SDK public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private int _serverIndex = 0; private ISpeakeasyHttpClient _client; diff --git a/LukeHagar/PlexAPI/SDK/Search.cs b/LukeHagar/PlexAPI/SDK/Search.cs index 000031a..36bd5b7 100644 --- a/LukeHagar/PlexAPI/SDK/Search.cs +++ b/LukeHagar/PlexAPI/SDK/Search.cs @@ -87,10 +87,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Server.cs b/LukeHagar/PlexAPI/SDK/Server.cs index ddf667b..542e050 100644 --- a/LukeHagar/PlexAPI/SDK/Server.cs +++ b/LukeHagar/PlexAPI/SDK/Server.cs @@ -126,10 +126,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Sessions.cs b/LukeHagar/PlexAPI/SDK/Sessions.cs index 17e1fa5..2453618 100644 --- a/LukeHagar/PlexAPI/SDK/Sessions.cs +++ b/LukeHagar/PlexAPI/SDK/Sessions.cs @@ -80,10 +80,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Statistics.cs b/LukeHagar/PlexAPI/SDK/Statistics.cs index 813229c..d876d74 100644 --- a/LukeHagar/PlexAPI/SDK/Statistics.cs +++ b/LukeHagar/PlexAPI/SDK/Statistics.cs @@ -71,10 +71,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Updater.cs b/LukeHagar/PlexAPI/SDK/Updater.cs index 772376b..00a3c67 100644 --- a/LukeHagar/PlexAPI/SDK/Updater.cs +++ b/LukeHagar/PlexAPI/SDK/Updater.cs @@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Users.cs b/LukeHagar/PlexAPI/SDK/Users.cs index b36cd4a..c7c7677 100644 --- a/LukeHagar/PlexAPI/SDK/Users.cs +++ b/LukeHagar/PlexAPI/SDK/Users.cs @@ -45,10 +45,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Video.cs b/LukeHagar/PlexAPI/SDK/Video.cs index ee1f56b..a142372 100644 --- a/LukeHagar/PlexAPI/SDK/Video.cs +++ b/LukeHagar/PlexAPI/SDK/Video.cs @@ -62,10 +62,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Watchlist.cs b/LukeHagar/PlexAPI/SDK/Watchlist.cs index 84fe2a9..5162429 100644 --- a/LukeHagar/PlexAPI/SDK/Watchlist.cs +++ b/LukeHagar/PlexAPI/SDK/Watchlist.cs @@ -59,10 +59,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.5"; - private const string _sdkGenVersion = "2.503.2"; + private const string _sdkVersion = "0.13.6"; + private const string _sdkGenVersion = "2.506.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.5 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.6 2.506.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/README.md b/README.md index 5b90cda..ed796b2 100644 --- a/README.md +++ b/README.md @@ -86,8 +86,9 @@ var res = await sdk.Server.GetServerCapabilitiesAsync(); * [GetSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library * [GetGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media * [GetCountriesLibrary](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media +* [GetActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media * [GetSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries -* [GetMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey +* [GetMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata * [GetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children * [GetTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content * [GetOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck diff --git a/RELEASES.md b/RELEASES.md index acd0f02..c56bebe 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -474,4 +474,14 @@ Based on: ### Generated - [csharp v0.13.5] . ### Releases -- [NuGet v0.13.5] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.13.5 - . \ No newline at end of file +- [NuGet v0.13.5] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.13.5 - . + +## 2025-02-07 00:21:22 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.487.0 (2.506.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [csharp v0.13.6] . +### Releases +- [NuGet v0.13.6] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.13.6 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 69b7299..5cb7212 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -434,14 +434,32 @@ actions: update: x-codeSamples: - lang: csharp - label: key + label: data source: |- using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Components; + using LukeHagar.PlexAPI.SDK.Models.Requests; var sdk = new PlexAPI(accessToken: ""); - var res = await sdk.Library.GetMetaDataByRatingKeyAsync(ratingKey: 9518); + GetMediaMetaDataRequest req = new GetMediaMetaDataRequest() { + RatingKey = 9518, + IncludeConcerts = true, + IncludeExtras = true, + IncludeOnDeck = true, + IncludePopularLeaves = true, + IncludePreferences = true, + IncludeReviews = true, + IncludeChapters = true, + IncludeStations = true, + IncludeExternalMedia = true, + AsyncAugmentMetadata = true, + AsyncCheckFiles = true, + AsyncRefreshAnalysis = true, + AsyncRefreshLocalMediaAgent = true, + }; + + var res = await sdk.Library.GetMediaMetaDataAsync(req); // handle response - target: $["paths"]["/library/metadata/{ratingKey}/banner"]["get"] @@ -648,6 +666,24 @@ actions: includeDetails: IncludeDetails.Zero ); + // handle response + - target: $["paths"]["/library/sections/{sectionKey}/actor"]["get"] + update: + x-codeSamples: + - lang: csharp + label: library + source: |- + using LukeHagar.PlexAPI.SDK; + using LukeHagar.PlexAPI.SDK.Models.Components; + using LukeHagar.PlexAPI.SDK.Models.Requests; + + var sdk = new PlexAPI(accessToken: ""); + + var res = await sdk.Library.GetActorsLibraryAsync( + sectionKey: 9518, + type: GetActorsLibraryQueryParamType.TvShow + ); + // handle response - target: $["paths"]["/library/sections/{sectionKey}/country"]["get"] update: @@ -657,10 +693,14 @@ actions: source: |- using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Components; + using LukeHagar.PlexAPI.SDK.Models.Requests; var sdk = new PlexAPI(accessToken: ""); - var res = await sdk.Library.GetCountriesLibraryAsync(sectionKey: 9518); + var res = await sdk.Library.GetCountriesLibraryAsync( + sectionKey: 9518, + type: GetCountriesLibraryQueryParamType.TvShow + ); // handle response - target: $["paths"]["/library/sections/{sectionKey}/genre"]["get"] @@ -671,10 +711,14 @@ actions: source: |- using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Components; + using LukeHagar.PlexAPI.SDK.Models.Requests; var sdk = new PlexAPI(accessToken: ""); - var res = await sdk.Library.GetGenresLibraryAsync(sectionKey: 9518); + var res = await sdk.Library.GetGenresLibraryAsync( + sectionKey: 9518, + type: GetGenresLibraryQueryParamType.TvShow + ); // handle response - target: $["paths"]["/library/sections/{sectionKey}/refresh"]["get"] diff --git a/docs/Models/Errors/GetMetaDataByRatingKeyBadRequest.md b/docs/Models/Errors/GetActorsLibraryBadRequest.md similarity index 91% rename from docs/Models/Errors/GetMetaDataByRatingKeyBadRequest.md rename to docs/Models/Errors/GetActorsLibraryBadRequest.md index a303a32..c81a9cc 100644 --- a/docs/Models/Errors/GetMetaDataByRatingKeyBadRequest.md +++ b/docs/Models/Errors/GetActorsLibraryBadRequest.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyBadRequest +# GetActorsLibraryBadRequest Bad Request - A parameter was not specified, or was specified incorrectly. @@ -7,5 +7,5 @@ Bad Request - A parameter was not specified, or was specified incorrectly. | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `Errors` | List<[GetMetaDataByRatingKeyErrors](../../Models/Errors/GetMetaDataByRatingKeyErrors.md)> | :heavy_minus_sign: | N/A | +| `Errors` | List<[GetActorsLibraryErrors](../../Models/Errors/GetActorsLibraryErrors.md)> | :heavy_minus_sign: | N/A | | `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Errors/GetMetaDataByRatingKeyErrors.md b/docs/Models/Errors/GetActorsLibraryErrors.md similarity index 96% rename from docs/Models/Errors/GetMetaDataByRatingKeyErrors.md rename to docs/Models/Errors/GetActorsLibraryErrors.md index 91598ee..d36204e 100644 --- a/docs/Models/Errors/GetMetaDataByRatingKeyErrors.md +++ b/docs/Models/Errors/GetActorsLibraryErrors.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyErrors +# GetActorsLibraryErrors ## Fields diff --git a/docs/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.md b/docs/Models/Errors/GetActorsLibraryLibraryErrors.md similarity index 95% rename from docs/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.md rename to docs/Models/Errors/GetActorsLibraryLibraryErrors.md index 91731ef..fdc113e 100644 --- a/docs/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.md +++ b/docs/Models/Errors/GetActorsLibraryLibraryErrors.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyLibraryErrors +# GetActorsLibraryLibraryErrors ## Fields diff --git a/docs/Models/Errors/GetMetaDataByRatingKeyUnauthorized.md b/docs/Models/Errors/GetActorsLibraryUnauthorized.md similarity index 91% rename from docs/Models/Errors/GetMetaDataByRatingKeyUnauthorized.md rename to docs/Models/Errors/GetActorsLibraryUnauthorized.md index 9c14711..1551b23 100644 --- a/docs/Models/Errors/GetMetaDataByRatingKeyUnauthorized.md +++ b/docs/Models/Errors/GetActorsLibraryUnauthorized.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyUnauthorized +# GetActorsLibraryUnauthorized Unauthorized - Returned if the X-Plex-Token is missing from the header or query. @@ -7,5 +7,5 @@ Unauthorized - Returned if the X-Plex-Token is missing from the header or query. | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `Errors` | List<[GetMetaDataByRatingKeyLibraryErrors](../../Models/Errors/GetMetaDataByRatingKeyLibraryErrors.md)> | :heavy_minus_sign: | N/A | +| `Errors` | List<[GetActorsLibraryLibraryErrors](../../Models/Errors/GetActorsLibraryLibraryErrors.md)> | :heavy_minus_sign: | N/A | | `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Errors/GetMediaMetaDataBadRequest.md b/docs/Models/Errors/GetMediaMetaDataBadRequest.md new file mode 100644 index 0000000..62b5322 --- /dev/null +++ b/docs/Models/Errors/GetMediaMetaDataBadRequest.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataBadRequest + +Bad Request - A parameter was not specified, or was specified incorrectly. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `Errors` | List<[GetMediaMetaDataErrors](../../Models/Errors/GetMediaMetaDataErrors.md)> | :heavy_minus_sign: | N/A | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Errors/GetMediaMetaDataErrors.md b/docs/Models/Errors/GetMediaMetaDataErrors.md new file mode 100644 index 0000000..f425cdb --- /dev/null +++ b/docs/Models/Errors/GetMediaMetaDataErrors.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `Code` | *int* | :heavy_minus_sign: | N/A | 1000 | +| `Message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing | +| `Status` | *int* | :heavy_minus_sign: | N/A | 400 | \ No newline at end of file diff --git a/docs/Models/Errors/GetMediaMetaDataLibraryErrors.md b/docs/Models/Errors/GetMediaMetaDataLibraryErrors.md new file mode 100644 index 0000000..67e31da --- /dev/null +++ b/docs/Models/Errors/GetMediaMetaDataLibraryErrors.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataLibraryErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `Code` | *int* | :heavy_minus_sign: | N/A | 1001 | +| `Message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated | +| `Status` | *int* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/Models/Errors/GetMediaMetaDataUnauthorized.md b/docs/Models/Errors/GetMediaMetaDataUnauthorized.md new file mode 100644 index 0000000..8294af3 --- /dev/null +++ b/docs/Models/Errors/GetMediaMetaDataUnauthorized.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `Errors` | List<[GetMediaMetaDataLibraryErrors](../../Models/Errors/GetMediaMetaDataLibraryErrors.md)> | :heavy_minus_sign: | N/A | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Requests/GetActorsLibraryDirectory.md b/docs/Models/Requests/GetActorsLibraryDirectory.md new file mode 100644 index 0000000..d99c2be --- /dev/null +++ b/docs/Models/Requests/GetActorsLibraryDirectory.md @@ -0,0 +1,11 @@ +# GetActorsLibraryDirectory + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `FastKey` | *string* | :heavy_check_mark: | A fast lookup key for the actor relative url. | /library/sections/2/all?actor=134671 | +| `Thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the actor. | https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg | +| `Key` | *string* | :heavy_check_mark: | A unique key representing the actor. | 134671 | +| `Title` | *string* | :heavy_check_mark: | The name of the actor. | Aaron Paul | \ No newline at end of file diff --git a/docs/Models/Requests/GetActorsLibraryMediaContainer.md b/docs/Models/Requests/GetActorsLibraryMediaContainer.md new file mode 100644 index 0000000..c3004ff --- /dev/null +++ b/docs/Models/Requests/GetActorsLibraryMediaContainer.md @@ -0,0 +1,20 @@ +# GetActorsLibraryMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `Size` | *double* | :heavy_check_mark: | N/A | 50 | +| `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `Art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | +| `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `MediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `MediaTagVersion` | *long* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `Nocache` | *bool* | :heavy_check_mark: | Specifies whether caching is disabled. | true | +| `Thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | +| `Title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series | +| `Title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor | +| `ViewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary | +| `ViewMode` | *string* | :heavy_check_mark: | Identifier for the view mode. | 131131 | +| `Directory` | List<[GetActorsLibraryDirectory](../../Models/Requests/GetActorsLibraryDirectory.md)> | :heavy_minus_sign: | An array of actor entries for media items. | | \ No newline at end of file diff --git a/docs/Models/Requests/GetActorsLibraryQueryParamType.md b/docs/Models/Requests/GetActorsLibraryQueryParamType.md new file mode 100644 index 0000000..c370962 --- /dev/null +++ b/docs/Models/Requests/GetActorsLibraryQueryParamType.md @@ -0,0 +1,22 @@ +# GetActorsLibraryQueryParamType + +The type of media to retrieve or filter by. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/Models/Requests/GetActorsLibraryRequest.md b/docs/Models/Requests/GetActorsLibraryRequest.md new file mode 100644 index 0000000..2b2bb94 --- /dev/null +++ b/docs/Models/Requests/GetActorsLibraryRequest.md @@ -0,0 +1,9 @@ +# GetActorsLibraryRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `Type` | [GetActorsLibraryQueryParamType](../../Models/Requests/GetActorsLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/Models/Requests/GetActorsLibraryResponse.md b/docs/Models/Requests/GetActorsLibraryResponse.md new file mode 100644 index 0000000..38e1288 --- /dev/null +++ b/docs/Models/Requests/GetActorsLibraryResponse.md @@ -0,0 +1,11 @@ +# GetActorsLibraryResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [GetActorsLibraryResponseBody](../../Models/Requests/GetActorsLibraryResponseBody.md) | :heavy_minus_sign: | Successful response containing media container data. | \ No newline at end of file diff --git a/docs/Models/Requests/GetActorsLibraryResponseBody.md b/docs/Models/Requests/GetActorsLibraryResponseBody.md new file mode 100644 index 0000000..867eb42 --- /dev/null +++ b/docs/Models/Requests/GetActorsLibraryResponseBody.md @@ -0,0 +1,10 @@ +# GetActorsLibraryResponseBody + +Successful response containing media container data. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `MediaContainer` | [GetActorsLibraryMediaContainer](../../Models/Requests/GetActorsLibraryMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetCountriesLibraryQueryParamType.md b/docs/Models/Requests/GetCountriesLibraryQueryParamType.md new file mode 100644 index 0000000..722cb19 --- /dev/null +++ b/docs/Models/Requests/GetCountriesLibraryQueryParamType.md @@ -0,0 +1,22 @@ +# GetCountriesLibraryQueryParamType + +The type of media to retrieve or filter by. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/Models/Requests/GetCountriesLibraryRequest.md b/docs/Models/Requests/GetCountriesLibraryRequest.md index 02d887f..9e6d15a 100644 --- a/docs/Models/Requests/GetCountriesLibraryRequest.md +++ b/docs/Models/Requests/GetCountriesLibraryRequest.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `Type` | [GetCountriesLibraryQueryParamType](../../Models/Requests/GetCountriesLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/Models/Requests/GetGenresLibraryQueryParamType.md b/docs/Models/Requests/GetGenresLibraryQueryParamType.md new file mode 100644 index 0000000..4ef877e --- /dev/null +++ b/docs/Models/Requests/GetGenresLibraryQueryParamType.md @@ -0,0 +1,22 @@ +# GetGenresLibraryQueryParamType + +The type of media to retrieve or filter by. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/Models/Requests/GetGenresLibraryRequest.md b/docs/Models/Requests/GetGenresLibraryRequest.md index 0339a04..6c59e4b 100644 --- a/docs/Models/Requests/GetGenresLibraryRequest.md +++ b/docs/Models/Requests/GetGenresLibraryRequest.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `Type` | [GetGenresLibraryQueryParamType](../../Models/Requests/GetGenresLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsQueryParamType.md b/docs/Models/Requests/GetLibraryItemsQueryParamType.md index c0b1304..2aa19a3 100644 --- a/docs/Models/Requests/GetLibraryItemsQueryParamType.md +++ b/docs/Models/Requests/GetLibraryItemsQueryParamType.md @@ -1,6 +1,6 @@ # GetLibraryItemsQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/Models/Requests/GetLibraryItemsRequest.md b/docs/Models/Requests/GetLibraryItemsRequest.md index 3fa6ff4..58c0073 100644 --- a/docs/Models/Requests/GetLibraryItemsRequest.md +++ b/docs/Models/Requests/GetLibraryItemsRequest.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Tag` | [Tag](../../Models/Requests/Tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | -| `IncludeGuids` | [IncludeGuids](../../Models/Requests/IncludeGuids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | -| `Type` | [GetLibraryItemsQueryParamType](../../Models/Requests/GetLibraryItemsQueryParamType.md) | :heavy_minus_sign: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `IncludeMeta` | [GetLibraryItemsQueryParamIncludeMeta](../../Models/Requests/GetLibraryItemsQueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `XPlexContainerStart` | *int* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | -| `XPlexContainerSize` | *int* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Tag` | [Tag](../../Models/Requests/Tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | +| `IncludeGuids` | [IncludeGuids](../../Models/Requests/IncludeGuids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| `Type` | [GetLibraryItemsQueryParamType](../../Models/Requests/GetLibraryItemsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `IncludeMeta` | [GetLibraryItemsQueryParamIncludeMeta](../../Models/Requests/GetLibraryItemsQueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `XPlexContainerStart` | *int* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | +| `XPlexContainerSize` | *int* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataCountry.md b/docs/Models/Requests/GetMediaMetaDataCountry.md new file mode 100644 index 0000000..9af7d82 --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataCountry.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataCountry + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Id` | *long* | :heavy_check_mark: | The unique country identifier. | 58591 | +| `Filter` | *string* | :heavy_check_mark: | The filter string for the country. | country=58591 | +| `Tag` | *string* | :heavy_check_mark: | The country name. | United States of America | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyRole.md b/docs/Models/Requests/GetMediaMetaDataDirector.md similarity index 53% rename from docs/Models/Requests/GetMetaDataByRatingKeyRole.md rename to docs/Models/Requests/GetMediaMetaDataDirector.md index f590998..dcf47f1 100644 --- a/docs/Models/Requests/GetMetaDataByRatingKeyRole.md +++ b/docs/Models/Requests/GetMediaMetaDataDirector.md @@ -1,13 +1,13 @@ -# GetMetaDataByRatingKeyRole +# GetMediaMetaDataDirector ## Fields | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `Id` | *int* | :heavy_minus_sign: | N/A | 220 | -| `Filter` | *string* | :heavy_minus_sign: | N/A | actor=220 | -| `Tag` | *string* | :heavy_minus_sign: | N/A | Dennis Keiffer | -| `TagKey` | *string* | :heavy_minus_sign: | N/A | 5d77683554f42c001f8c4708 | -| `Role` | *string* | :heavy_minus_sign: | N/A | Bar Guy (uncredited) | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg | \ No newline at end of file +| `Id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `Filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `Tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `TagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `Role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `Thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataGenre.md b/docs/Models/Requests/GetMediaMetaDataGenre.md new file mode 100644 index 0000000..2838992 --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataGenre.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataGenre + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `Id` | *long* | :heavy_check_mark: | The unique genre identifier. | 1057 | +| `Filter` | *string* | :heavy_check_mark: | The filter string for the genre. | genre=1057 | +| `Tag` | *string* | :heavy_check_mark: | The genre name. | Crime | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataImage.md b/docs/Models/Requests/GetMediaMetaDataImage.md new file mode 100644 index 0000000..bbe6d90 --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataImage.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataImage + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `Alt` | *string* | :heavy_check_mark: | Alternate text for the image. | Better Call Saul | +| `Type` | *string* | :heavy_check_mark: | The type of image (e.g., coverPoster, background, clearLogo). | coverPoster | +| `Url` | *string* | :heavy_check_mark: | The URL of the image. | /library/metadata/44288/thumb/1736487993 | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataLocation.md b/docs/Models/Requests/GetMediaMetaDataLocation.md new file mode 100644 index 0000000..a3a1d7b --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataLocation.md @@ -0,0 +1,8 @@ +# GetMediaMetaDataLocation + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `Path` | *string* | :heavy_check_mark: | The file path for the location. | /TV Shows/Better Call Saul | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataMedia.md b/docs/Models/Requests/GetMediaMetaDataMedia.md new file mode 100644 index 0000000..6900cae --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataMedia.md @@ -0,0 +1,22 @@ +# GetMediaMetaDataMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `Id` | *long* | :heavy_check_mark: | Unique media identifier. | 387322 | +| `Duration` | *long* | :heavy_check_mark: | Duration of the media in milliseconds. | 9610350 | +| `Bitrate` | *long* | :heavy_check_mark: | Bitrate in bits per second. | 25512 | +| `Width` | *long* | :heavy_check_mark: | Video width in pixels. | 3840 | +| `Height` | *long* | :heavy_check_mark: | Video height in pixels. | 1602 | +| `AspectRatio` | *float* | :heavy_check_mark: | Aspect ratio of the video. | 2.35 | +| `AudioChannels` | *long* | :heavy_check_mark: | Number of audio channels. | 6 | +| `AudioCodec` | *string* | :heavy_check_mark: | Audio codec used. | eac3 | +| `VideoCodec` | *string* | :heavy_check_mark: | Video codec used. | hevc | +| `VideoResolution` | *string* | :heavy_check_mark: | Video resolution (e.g., 4k). | 4k | +| `Container` | *string* | :heavy_check_mark: | File container type. | mkv | +| `VideoFrameRate` | *string* | :heavy_check_mark: | Frame rate of the video (e.g., 24p). | 24p | +| `VideoProfile` | *string* | :heavy_check_mark: | Video profile (e.g., main 10). | main 10 | +| `HasVoiceActivity` | *bool* | :heavy_check_mark: | Indicates whether voice activity is detected. | false | +| `Part` | List<[GetMediaMetaDataPart](../../Models/Requests/GetMediaMetaDataPart.md)> | :heavy_check_mark: | An array of parts for this media item. | | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataMediaContainer.md b/docs/Models/Requests/GetMediaMetaDataMediaContainer.md new file mode 100644 index 0000000..496ade2 --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataMediaContainer.md @@ -0,0 +1,16 @@ +# GetMediaMetaDataMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `Size` | *double* | :heavy_check_mark: | N/A | 50 | +| `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `LibrarySectionID` | *long* | :heavy_check_mark: | The unique identifier for the library section. | 2 | +| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series | +| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | +| `MediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `MediaTagVersion` | *long* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `Metadata` | List<[GetMediaMetaDataMetadata](../../Models/Requests/GetMediaMetaDataMetadata.md)> | :heavy_check_mark: | An array of metadata items. | | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyMetadata.md b/docs/Models/Requests/GetMediaMetaDataMetadata.md similarity index 54% rename from docs/Models/Requests/GetMetaDataByRatingKeyMetadata.md rename to docs/Models/Requests/GetMediaMetaDataMetadata.md index f1cc6c1..a584271 100644 --- a/docs/Models/Requests/GetMetaDataByRatingKeyMetadata.md +++ b/docs/Models/Requests/GetMediaMetaDataMetadata.md @@ -1,45 +1,66 @@ -# GetMetaDataByRatingKeyMetadata +# GetMediaMetaDataMetadata ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 17 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17 | -| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 | -| `Studio` | *string* | :heavy_minus_sign: | N/A | Universal Pictures | -| `Type` | *string* | :heavy_minus_sign: | N/A | movie | -| `Title` | *string* | :heavy_minus_sign: | N/A | Serenity | -| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `GrandparentTitle` | *string* | :heavy_minus_sign: | The name of the album artist for the track when audio, and the name of the TV show for the episode when video. | | -| `ParentTitle` | *string* | :heavy_minus_sign: | The name of the album for the track when audio, and the name of the season for the episode when TV show. | | -| `OriginalTitle` | *string* | :heavy_minus_sign: | The orginal untranslated name of the media item when non-english. | | -| `Index` | *long* | :heavy_minus_sign: | The index starting from 0 of this media item in the MetaData array. | | -| `ParentIndex` | *long* | :heavy_minus_sign: | The parent index starting from 0 of this media item in the parent MetaData array. | | -| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | -| `Summary` | *string* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. | -| `Rating` | *double* | :heavy_minus_sign: | N/A | 8.2 | -| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 9.1 | -| `Year` | *int* | :heavy_minus_sign: | N/A | 2005 | -| `Tagline` | *string* | :heavy_minus_sign: | N/A | They aim to misbehave. | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 | -| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 141417 | -| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC | -| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1705637164 | -| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705637165 | -| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `HasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 | -| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `Media` | List<[GetMetaDataByRatingKeyMedia](../../Models/Requests/GetMetaDataByRatingKeyMedia.md)> | :heavy_minus_sign: | N/A | | -| `Genre` | List<[GetMetaDataByRatingKeyGenre](../../Models/Requests/GetMetaDataByRatingKeyGenre.md)> | :heavy_minus_sign: | N/A | | -| `Country` | List<[GetMetaDataByRatingKeyCountry](../../Models/Requests/GetMetaDataByRatingKeyCountry.md)> | :heavy_minus_sign: | N/A | | -| `Guids` | List<[Guids](../../Models/Requests/Guids.md)> | :heavy_minus_sign: | N/A | | -| `Ratings` | List<[Ratings](../../Models/Requests/Ratings.md)> | :heavy_minus_sign: | N/A | | -| `Director` | List<[GetMetaDataByRatingKeyDirector](../../Models/Requests/GetMetaDataByRatingKeyDirector.md)> | :heavy_minus_sign: | N/A | | -| `Writer` | List<[GetMetaDataByRatingKeyWriter](../../Models/Requests/GetMetaDataByRatingKeyWriter.md)> | :heavy_minus_sign: | N/A | | -| `Role` | List<[GetMetaDataByRatingKeyRole](../../Models/Requests/GetMetaDataByRatingKeyRole.md)> | :heavy_minus_sign: | N/A | | -| `Producer` | List<[Producer](../../Models/Requests/Producer.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `RatingKey` | *string* | :heavy_check_mark: | The rating key of the metadata item. | 44288 | +| `ParentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent of this metadata item. | 48047 | +| `GrandparentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the grandparent of this metadata item. | 45520 | +| `ParentGuid` | *string* | :heavy_minus_sign: | A GUID identifying the parent entity (e.g., season) for the item. | plex://season/618b89208dde18df707ad15c | +| `GrandparentGuid` | *string* | :heavy_minus_sign: | A GUID identifying the grandparent entity (e.g., show). | plex://show/5e16253691c20300412003a8 | +| `GrandparentSlug` | *string* | :heavy_minus_sign: | A URL-friendly identifier (slug) for the grandparent entity. | alice-in-borderland-2020 | +| `GrandparentKey` | *string* | :heavy_minus_sign: | A key identifying the grandparent metadata in the library. | /library/metadata/45520 | +| `ParentKey` | *string* | :heavy_minus_sign: | A key identifying the parent metadata in the library. | /library/metadata/48047 | +| `Key` | *string* | :heavy_check_mark: | The API key to access metadata details. | /library/metadata/44288/children | +| `Guid` | *string* | :heavy_check_mark: | The globally unique identifier for the item. | plex://show/5d9c08254eefaa001f5d6dcb | +| `Slug` | *string* | :heavy_minus_sign: | A URL-friendly identifier for the item. | better-call-saul | +| `Studio` | *string* | :heavy_minus_sign: | The studio that produced the content. | Sony Pictures Television | +| `Type` | *string* | :heavy_check_mark: | The type of content (e.g., show, movie). | show | +| `Title` | *string* | :heavy_check_mark: | The title of the content. | Better Call Saul | +| `OriginalTitle` | *string* | :heavy_minus_sign: | The original title of the content. | Wicked: Part I | +| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series | +| `LibrarySectionID` | *long* | :heavy_check_mark: | The ID of the library section. | 2 | +| `LibrarySectionKey` | *string* | :heavy_check_mark: | The key of the library section. | /library/sections/2 | +| `ContentRating` | *string* | :heavy_check_mark: | The content rating (e.g., TV-MA). | TV-MA | +| `Summary` | *string* | :heavy_check_mark: | A summary of the content. | Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to "Breaking Bad" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman. | +| `Index` | *long* | :heavy_minus_sign: | The index or order of the item. | 1 | +| `GrandparentTitle` | *string* | :heavy_minus_sign: | The title of the grandparent entity (typically the show's title). | Alice in Borderland | +| `ParentTitle` | *string* | :heavy_minus_sign: | The title of the parent entity (typically the season's title). | Season 2 | +| `AudienceRating` | *float* | :heavy_check_mark: | The audience rating for the content. | 8.7 | +| `ViewCount` | *long* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 | +| `SkipCount` | *long* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 | +| `LastViewedAt` | *long* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 | +| `Year` | *long* | :heavy_check_mark: | The release year. | 2015 | +| `Tagline` | *string* | :heavy_minus_sign: | The tagline of the content. | Make the call | +| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media | +| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/134704 | +| `Thumb` | *string* | :heavy_check_mark: | URL of the thumbnail image. | /library/metadata/44288/thumb/1736487993 | +| `Art` | *string* | :heavy_check_mark: | URL of the art image. | /library/metadata/44288/art/1736487993 | +| `Theme` | *string* | :heavy_minus_sign: | URL of the theme image. | /library/metadata/44288/theme/1736487993 | +| `Duration` | *long* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 | +| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_check_mark: | The original release date. | 2015-02-08 | +| `LeafCount` | *long* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 | +| `ViewedLeafCount` | *long* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 | +| `ChildCount` | *long* | :heavy_minus_sign: | The number of child items. | 6 | +| `AddedAt` | *long* | :heavy_check_mark: | Unix timestamp when the item was added. | 1625505101 | +| `UpdatedAt` | *long* | :heavy_check_mark: | Unix timestamp when the item was last updated. | 1736487993 | +| `AudienceRatingImage` | *string* | :heavy_check_mark: | The URL for the audience rating image. | themoviedb://image.rating | +| `ParentIndex` | *long* | :heavy_minus_sign: | The index number of the parent entity, which could indicate its order or position. | 2 | +| `ParentThumb` | *string* | :heavy_minus_sign: | The URL of the parent's thumbnail image. | /library/metadata/48047/thumb/1671800243 | +| `GrandparentThumb` | *string* | :heavy_minus_sign: | The URL of the grandparent's thumbnail image. | /library/metadata/45520/thumb/1736488003 | +| `GrandparentArt` | *string* | :heavy_minus_sign: | The URL of the grandparent's art image. | /library/metadata/45520/art/1736488003 | +| `Media` | List<[GetMediaMetaDataMedia](../../Models/Requests/GetMediaMetaDataMedia.md)> | :heavy_minus_sign: | N/A | | +| `Image` | List<[GetMediaMetaDataImage](../../Models/Requests/GetMediaMetaDataImage.md)> | :heavy_check_mark: | An array of image objects. | | +| `UltraBlurColors` | [GetMediaMetaDataUltraBlurColors](../../Models/Requests/GetMediaMetaDataUltraBlurColors.md) | :heavy_check_mark: | N/A | | +| `Genre` | List<[GetMediaMetaDataGenre](../../Models/Requests/GetMediaMetaDataGenre.md)> | :heavy_minus_sign: | An array of genre tags. | | +| `Country` | List<[GetMediaMetaDataCountry](../../Models/Requests/GetMediaMetaDataCountry.md)> | :heavy_minus_sign: | An array of country tags. | | +| `Guids` | List<[Guids](../../Models/Requests/Guids.md)> | :heavy_check_mark: | An array of GUID objects. | | +| `Rating` | List<[Rating](../../Models/Requests/Rating.md)> | :heavy_check_mark: | An array of rating objects. | | +| `Role` | List<[GetMediaMetaDataRole](../../Models/Requests/GetMediaMetaDataRole.md)> | :heavy_minus_sign: | An array of Actor roles. | | +| `Director` | List<[GetMediaMetaDataDirector](../../Models/Requests/GetMediaMetaDataDirector.md)> | :heavy_minus_sign: | An array of Director roles. | | +| `Writer` | List<[GetMediaMetaDataWriter](../../Models/Requests/GetMediaMetaDataWriter.md)> | :heavy_minus_sign: | An array of Writer roles. | | +| `Producer` | List<[Producer](../../Models/Requests/Producer.md)> | :heavy_minus_sign: | An array of Writer roles. | | +| `Similar` | List<[Similar](../../Models/Requests/Similar.md)> | :heavy_minus_sign: | An array of similar content objects. | | +| `Location` | List<[GetMediaMetaDataLocation](../../Models/Requests/GetMediaMetaDataLocation.md)> | :heavy_minus_sign: | An array of location objects. | | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataPart.md b/docs/Models/Requests/GetMediaMetaDataPart.md new file mode 100644 index 0000000..9cb3356 --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataPart.md @@ -0,0 +1,18 @@ +# GetMediaMetaDataPart + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `Accessible` | *bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true | +| `Exists` | *bool* | :heavy_minus_sign: | Indicates if the part exists. | true | +| `Id` | *long* | :heavy_check_mark: | Unique part identifier. | 418385 | +| `Key` | *string* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | +| `Indexes` | *string* | :heavy_minus_sign: | N/A | sd | +| `Duration` | *long* | :heavy_check_mark: | Duration of the part in milliseconds. | 9610350 | +| `File` | *string* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `Size` | *long* | :heavy_check_mark: | File size in bytes. | 30649952104 | +| `Container` | *string* | :heavy_check_mark: | Container format of the part. | mkv | +| `VideoProfile` | *string* | :heavy_check_mark: | Video profile for the part. | main 10 | +| `Stream` | List<[GetMediaMetaDataStream](../../Models/Requests/GetMediaMetaDataStream.md)> | :heavy_check_mark: | An array of streams for this part. | | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataRequest.md b/docs/Models/Requests/GetMediaMetaDataRequest.md new file mode 100644 index 0000000..2255fdc --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataRequest.md @@ -0,0 +1,21 @@ +# GetMediaMetaDataRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `RatingKey` | *long* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | +| `IncludeConcerts` | *bool* | :heavy_minus_sign: | Include concerts data if set to true. | true | +| `IncludeExtras` | *bool* | :heavy_minus_sign: | Include extra content (e.g. bonus features). | true | +| `IncludeOnDeck` | *bool* | :heavy_minus_sign: | Include on-deck items. | true | +| `IncludePopularLeaves` | *bool* | :heavy_minus_sign: | Include popular leaves (episodes/chapters). | true | +| `IncludePreferences` | *bool* | :heavy_minus_sign: | Include preferences information. | true | +| `IncludeReviews` | *bool* | :heavy_minus_sign: | Include reviews for the content. | true | +| `IncludeChapters` | *bool* | :heavy_minus_sign: | Include chapter details. | true | +| `IncludeStations` | *bool* | :heavy_minus_sign: | Include station data. | true | +| `IncludeExternalMedia` | *bool* | :heavy_minus_sign: | Include external media data. | true | +| `AsyncAugmentMetadata` | *bool* | :heavy_minus_sign: | Trigger asynchronous metadata augmentation. | true | +| `AsyncCheckFiles` | *bool* | :heavy_minus_sign: | Trigger asynchronous file checking. | true | +| `AsyncRefreshAnalysis` | *bool* | :heavy_minus_sign: | Trigger asynchronous refresh of analysis. | true | +| `AsyncRefreshLocalMediaAgent` | *bool* | :heavy_minus_sign: | Trigger asynchronous refresh of the local media agent. | true | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyResponse.md b/docs/Models/Requests/GetMediaMetaDataResponse.md similarity index 92% rename from docs/Models/Requests/GetMetaDataByRatingKeyResponse.md rename to docs/Models/Requests/GetMediaMetaDataResponse.md index 93b8301..d82cb91 100644 --- a/docs/Models/Requests/GetMetaDataByRatingKeyResponse.md +++ b/docs/Models/Requests/GetMediaMetaDataResponse.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyResponse +# GetMediaMetaDataResponse ## Fields @@ -8,4 +8,4 @@ | `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | | `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `Object` | [GetMetaDataByRatingKeyResponseBody](../../Models/Requests/GetMetaDataByRatingKeyResponseBody.md) | :heavy_minus_sign: | The metadata of the library item. | \ No newline at end of file +| `Object` | [GetMediaMetaDataResponseBody](../../Models/Requests/GetMediaMetaDataResponseBody.md) | :heavy_minus_sign: | The metadata of the library item. | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataResponseBody.md b/docs/Models/Requests/GetMediaMetaDataResponseBody.md new file mode 100644 index 0000000..592a06b --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataResponseBody.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataResponseBody + +The metadata of the library item. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `MediaContainer` | [GetMediaMetaDataMediaContainer](../../Models/Requests/GetMediaMetaDataMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataRole.md b/docs/Models/Requests/GetMediaMetaDataRole.md new file mode 100644 index 0000000..8fc591e --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataRole.md @@ -0,0 +1,13 @@ +# GetMediaMetaDataRole + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `Id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `Filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `Tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `TagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `Role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `Thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataStream.md b/docs/Models/Requests/GetMediaMetaDataStream.md new file mode 100644 index 0000000..81d4305 --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataStream.md @@ -0,0 +1,53 @@ +# GetMediaMetaDataStream + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `Id` | *long* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `StreamType` | *long* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | +| `Default` | *bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `Index` | *long* | :heavy_check_mark: | Index of the stream. | 0 | +| `Bitrate` | *long* | :heavy_check_mark: | Bitrate of the stream. | 24743 | +| `Language` | *string* | :heavy_check_mark: | Language of the stream. | English | +| `LanguageTag` | *string* | :heavy_check_mark: | Language tag (e.g., en). | en | +| `LanguageCode` | *string* | :heavy_check_mark: | ISO language code. | eng | +| `DOVIBLCompatID` | *long* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `DOVIBLPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `DOVIELPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `DOVILevel` | *long* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `DOVIPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `DOVIProfile` | *long* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `DOVIRPUPresent` | *bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `DOVIVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `BitDepth` | *long* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `ChromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `ChromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `CodedHeight` | *long* | :heavy_minus_sign: | Coded video height. | 1608 | +| `CodedWidth` | *long* | :heavy_minus_sign: | Coded video width. | 3840 | +| `ColorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `ColorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `ColorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc | +| `ColorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `FrameRate` | *float* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `Height` | *long* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `Level` | *long* | :heavy_minus_sign: | Video level. | 150 | +| `Original` | *bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `HasScalingMatrix` | *bool* | :heavy_minus_sign: | N/A | false | +| `Profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 | +| `ScanType` | *string* | :heavy_minus_sign: | N/A | progressive | +| `RefFrames` | *long* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `Width` | *long* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `ExtendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `Selected` | *bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `Forced` | *bool* | :heavy_minus_sign: | N/A | true | +| `Channels` | *long* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `AudioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `SamplingRate` | *long* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `CanAutoSync` | *bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `HearingImpaired` | *bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `Dub` | *bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `Title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataUltraBlurColors.md b/docs/Models/Requests/GetMediaMetaDataUltraBlurColors.md new file mode 100644 index 0000000..48e9dfc --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataUltraBlurColors.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataUltraBlurColors + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `TopLeft` | *string* | :heavy_check_mark: | The top-left color value. | 11333a | +| `TopRight` | *string* | :heavy_check_mark: | The top-right color value. | 1d2721 | +| `BottomRight` | *string* | :heavy_check_mark: | The bottom-right color value. | 5c451d | +| `BottomLeft` | *string* | :heavy_check_mark: | The bottom-left color value. | 372c10 | \ No newline at end of file diff --git a/docs/Models/Requests/GetMediaMetaDataWriter.md b/docs/Models/Requests/GetMediaMetaDataWriter.md new file mode 100644 index 0000000..2b2b40b --- /dev/null +++ b/docs/Models/Requests/GetMediaMetaDataWriter.md @@ -0,0 +1,13 @@ +# GetMediaMetaDataWriter + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `Id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `Filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `Tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `TagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `Role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `Thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyCountry.md b/docs/Models/Requests/GetMetaDataByRatingKeyCountry.md deleted file mode 100644 index ff7b8ea..0000000 --- a/docs/Models/Requests/GetMetaDataByRatingKeyCountry.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetMetaDataByRatingKeyCountry - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `Id` | *int* | :heavy_minus_sign: | N/A | 116 | -| `Filter` | *string* | :heavy_minus_sign: | N/A | country=116 | -| `Tag` | *string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyDirector.md b/docs/Models/Requests/GetMetaDataByRatingKeyDirector.md deleted file mode 100644 index d28c58e..0000000 --- a/docs/Models/Requests/GetMetaDataByRatingKeyDirector.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetMetaDataByRatingKeyDirector - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `Id` | *int* | :heavy_minus_sign: | N/A | 130 | -| `Filter` | *string* | :heavy_minus_sign: | N/A | director=130 | -| `Tag` | *string* | :heavy_minus_sign: | N/A | Joss Whedon | -| `TagKey` | *string* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyGenre.md b/docs/Models/Requests/GetMetaDataByRatingKeyGenre.md deleted file mode 100644 index 2f025bd..0000000 --- a/docs/Models/Requests/GetMetaDataByRatingKeyGenre.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetMetaDataByRatingKeyGenre - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Id` | *int* | :heavy_minus_sign: | N/A | 184 | -| `Filter` | *string* | :heavy_minus_sign: | N/A | genre=184 | -| `Tag` | *string* | :heavy_minus_sign: | N/A | Thriller | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyMedia.md b/docs/Models/Requests/GetMetaDataByRatingKeyMedia.md deleted file mode 100644 index 2c3b9f4..0000000 --- a/docs/Models/Requests/GetMetaDataByRatingKeyMedia.md +++ /dev/null @@ -1,24 +0,0 @@ -# GetMetaDataByRatingKeyMedia - - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| `Id` | *int* | :heavy_minus_sign: | N/A | 15 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 141417 | -| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 2278 | -| `Width` | *int* | :heavy_minus_sign: | N/A | 1920 | -| `Height` | *int* | :heavy_minus_sign: | N/A | 814 | -| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 2.35 | -| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 2 | -| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | aac | -| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | h264 | -| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 1080 | -| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | -| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | -| `OptimizedForStreaming` | *int* | :heavy_minus_sign: | N/A | 0 | -| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | lc | -| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | -| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | -| `Part` | List<[GetMetaDataByRatingKeyPart](../../Models/Requests/GetMetaDataByRatingKeyPart.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyMediaContainer.md b/docs/Models/Requests/GetMetaDataByRatingKeyMediaContainer.md deleted file mode 100644 index 16983e9..0000000 --- a/docs/Models/Requests/GetMetaDataByRatingKeyMediaContainer.md +++ /dev/null @@ -1,16 +0,0 @@ -# GetMetaDataByRatingKeyMediaContainer - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | -| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | N/A | cfc899d7-3000-46f6-8489-b9592714ada5 | -| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1698860922 | -| `Metadata` | List<[GetMetaDataByRatingKeyMetadata](../../Models/Requests/GetMetaDataByRatingKeyMetadata.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyPart.md b/docs/Models/Requests/GetMetaDataByRatingKeyPart.md deleted file mode 100644 index 3eee4dc..0000000 --- a/docs/Models/Requests/GetMetaDataByRatingKeyPart.md +++ /dev/null @@ -1,18 +0,0 @@ -# GetMetaDataByRatingKeyPart - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -| `Id` | *int* | :heavy_minus_sign: | N/A | 15 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 141417 | -| `File` | *string* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 | -| `Size` | *int* | :heavy_minus_sign: | N/A | 40271948 | -| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | lc | -| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | -| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | -| `OptimizedForStreaming` | *bool* | :heavy_minus_sign: | N/A | false | -| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | -| `Stream` | List<[GetMetaDataByRatingKeyStream](../../Models/Requests/GetMetaDataByRatingKeyStream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyRequest.md b/docs/Models/Requests/GetMetaDataByRatingKeyRequest.md deleted file mode 100644 index 66fe508..0000000 --- a/docs/Models/Requests/GetMetaDataByRatingKeyRequest.md +++ /dev/null @@ -1,8 +0,0 @@ -# GetMetaDataByRatingKeyRequest - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | -| `RatingKey` | *long* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyResponseBody.md b/docs/Models/Requests/GetMetaDataByRatingKeyResponseBody.md deleted file mode 100644 index 4b41380..0000000 --- a/docs/Models/Requests/GetMetaDataByRatingKeyResponseBody.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetMetaDataByRatingKeyResponseBody - -The metadata of the library item. - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `MediaContainer` | [GetMetaDataByRatingKeyMediaContainer](../../Models/Requests/GetMetaDataByRatingKeyMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyStream.md b/docs/Models/Requests/GetMetaDataByRatingKeyStream.md deleted file mode 100644 index 6644c06..0000000 --- a/docs/Models/Requests/GetMetaDataByRatingKeyStream.md +++ /dev/null @@ -1,39 +0,0 @@ -# GetMetaDataByRatingKeyStream - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `Id` | *int* | :heavy_minus_sign: | N/A | 29 | -| `StreamType` | *int* | :heavy_minus_sign: | N/A | 2 | -| `Default` | *bool* | :heavy_minus_sign: | N/A | true | -| `Codec` | *string* | :heavy_minus_sign: | N/A | aac | -| `Index` | *int* | :heavy_minus_sign: | N/A | 0 | -| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 128 | -| `BitDepth` | *int* | :heavy_minus_sign: | N/A | 8 | -| `ChromaLocation` | *string* | :heavy_minus_sign: | N/A | left | -| `ChromaSubsampling` | *string* | :heavy_minus_sign: | N/A | 14520 | -| `CodedHeight` | *int* | :heavy_minus_sign: | N/A | 816 | -| `CodedWidth` | *int* | :heavy_minus_sign: | N/A | 1920 | -| `ColorPrimaries` | *string* | :heavy_minus_sign: | N/A | bt709 | -| `ColorRange` | *string* | :heavy_minus_sign: | N/A | tv | -| `ColorSpace` | *string* | :heavy_minus_sign: | N/A | bt709 | -| `ColorTrc` | *string* | :heavy_minus_sign: | N/A | bt709 | -| `FrameRate` | *int* | :heavy_minus_sign: | N/A | 24 | -| `HasScalingMatrix` | *bool* | :heavy_minus_sign: | N/A | false | -| `Height` | *int* | :heavy_minus_sign: | N/A | 814 | -| `Level` | *int* | :heavy_minus_sign: | N/A | 40 | -| `Profile` | *string* | :heavy_minus_sign: | N/A | lc | -| `RefFrames` | *int* | :heavy_minus_sign: | N/A | 4 | -| `ScanType` | *string* | :heavy_minus_sign: | N/A | progressive | -| `StreamIdentifier` | *string* | :heavy_minus_sign: | N/A | 1 | -| `Width` | *int* | :heavy_minus_sign: | N/A | 1920 | -| `DisplayTitle` | *string* | :heavy_minus_sign: | N/A | English (AAC Stereo) | -| `ExtendedDisplayTitle` | *string* | :heavy_minus_sign: | N/A | English (AAC Stereo) | -| `Selected` | *bool* | :heavy_minus_sign: | N/A | true | -| `Channels` | *int* | :heavy_minus_sign: | N/A | 2 | -| `Language` | *string* | :heavy_minus_sign: | N/A | English | -| `LanguageTag` | *string* | :heavy_minus_sign: | N/A | en | -| `LanguageCode` | *string* | :heavy_minus_sign: | N/A | eng | -| `SamplingRate` | *int* | :heavy_minus_sign: | N/A | 44100 | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyWriter.md b/docs/Models/Requests/GetMetaDataByRatingKeyWriter.md deleted file mode 100644 index 772f05c..0000000 --- a/docs/Models/Requests/GetMetaDataByRatingKeyWriter.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetMetaDataByRatingKeyWriter - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `Id` | *int* | :heavy_minus_sign: | N/A | 132 | -| `Filter` | *string* | :heavy_minus_sign: | N/A | writer=132 | -| `Tag` | *string* | :heavy_minus_sign: | N/A | Joss Whedon | -| `TagKey` | *string* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg | \ No newline at end of file diff --git a/docs/Models/Requests/GetPlaylistContentsQueryParamType.md b/docs/Models/Requests/GetPlaylistContentsQueryParamType.md index b5b34ab..7d477fb 100644 --- a/docs/Models/Requests/GetPlaylistContentsQueryParamType.md +++ b/docs/Models/Requests/GetPlaylistContentsQueryParamType.md @@ -1,6 +1,6 @@ # GetPlaylistContentsQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/Models/Requests/GetPlaylistContentsRequest.md b/docs/Models/Requests/GetPlaylistContentsRequest.md index 28f2d42..8d3bc19 100644 --- a/docs/Models/Requests/GetPlaylistContentsRequest.md +++ b/docs/Models/Requests/GetPlaylistContentsRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `PlaylistID` | *double* | :heavy_check_mark: | the ID of the playlist | | -| `Type` | [GetPlaylistContentsQueryParamType](../../Models/Requests/GetPlaylistContentsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `PlaylistID` | *double* | :heavy_check_mark: | the ID of the playlist | | +| `Type` | [GetPlaylistContentsQueryParamType](../../Models/Requests/GetPlaylistContentsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryRequest.md b/docs/Models/Requests/GetRecentlyAddedLibraryRequest.md index 59ae03f..eeeb880 100644 --- a/docs/Models/Requests/GetRecentlyAddedLibraryRequest.md +++ b/docs/Models/Requests/GetRecentlyAddedLibraryRequest.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ContentDirectoryID` | *long* | :heavy_minus_sign: | N/A | 2 | -| `PinnedContentDirectoryID` | List<*long*> | :heavy_minus_sign: | N/A | [
3,
5,
7,
13,
12,
1,
6,
14,
2,
10,
16,
17
] | -| `SectionID` | *long* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | -| `Type` | [QueryParamType](../../Models/Requests/QueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `IncludeMeta` | [QueryParamIncludeMeta](../../Models/Requests/QueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `XPlexContainerStart` | *int* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | -| `XPlexContainerSize` | *int* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ContentDirectoryID` | *long* | :heavy_minus_sign: | N/A | 2 | +| `PinnedContentDirectoryID` | List<*long*> | :heavy_minus_sign: | N/A | [
3,
5,
7,
13,
12,
1,
6,
14,
2,
10,
16,
17
] | +| `SectionID` | *long* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `Type` | [QueryParamType](../../Models/Requests/QueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `IncludeMeta` | [QueryParamIncludeMeta](../../Models/Requests/QueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `XPlexContainerStart` | *int* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | +| `XPlexContainerSize` | *int* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedRequest.md b/docs/Models/Requests/GetRecentlyAddedRequest.md index 4325511..0c3c064 100644 --- a/docs/Models/Requests/GetRecentlyAddedRequest.md +++ b/docs/Models/Requests/GetRecentlyAddedRequest.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ContentDirectoryID` | *long* | :heavy_check_mark: | The content directory ID. | | -| `PinnedContentDirectoryID` | *string* | :heavy_minus_sign: | Comma-separated list of pinned content directory IDs. | | -| `SectionID` | *long* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | -| `Type` | [Models.Requests.Type](../../Models/Requests/Type.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `IncludeMeta` | [IncludeMeta](../../Models/Requests/IncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `XPlexContainerStart` | *int* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | -| `XPlexContainerSize` | *int* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ContentDirectoryID` | *long* | :heavy_check_mark: | The content directory ID. | | +| `PinnedContentDirectoryID` | *string* | :heavy_minus_sign: | Comma-separated list of pinned content directory IDs. | | +| `SectionID` | *long* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `Type` | [Models.Requests.Type](../../Models/Requests/Type.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `IncludeMeta` | [IncludeMeta](../../Models/Requests/IncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `XPlexContainerStart` | *int* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | +| `XPlexContainerSize` | *int* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchLibraryQueryParamType.md b/docs/Models/Requests/GetSearchLibraryQueryParamType.md index 9e3a482..38b2684 100644 --- a/docs/Models/Requests/GetSearchLibraryQueryParamType.md +++ b/docs/Models/Requests/GetSearchLibraryQueryParamType.md @@ -1,6 +1,6 @@ # GetSearchLibraryQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/Models/Requests/GetSearchLibraryRequest.md b/docs/Models/Requests/GetSearchLibraryRequest.md index ca7d891..d6e19bc 100644 --- a/docs/Models/Requests/GetSearchLibraryRequest.md +++ b/docs/Models/Requests/GetSearchLibraryRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `Type` | [GetSearchLibraryQueryParamType](../../Models/Requests/GetSearchLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `Type` | [GetSearchLibraryQueryParamType](../../Models/Requests/GetSearchLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/Models/Requests/GetTopWatchedContentQueryParamType.md b/docs/Models/Requests/GetTopWatchedContentQueryParamType.md index 6736d2a..ada3d48 100644 --- a/docs/Models/Requests/GetTopWatchedContentQueryParamType.md +++ b/docs/Models/Requests/GetTopWatchedContentQueryParamType.md @@ -1,6 +1,6 @@ # GetTopWatchedContentQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/Models/Requests/GetTopWatchedContentRequest.md b/docs/Models/Requests/GetTopWatchedContentRequest.md index 46c8985..b509b35 100644 --- a/docs/Models/Requests/GetTopWatchedContentRequest.md +++ b/docs/Models/Requests/GetTopWatchedContentRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Type` | [GetTopWatchedContentQueryParamType](../../Models/Requests/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `IncludeGuids` | *long* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [GetTopWatchedContentQueryParamType](../../Models/Requests/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `IncludeGuids` | *long* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | \ No newline at end of file diff --git a/docs/Models/Requests/Guids.md b/docs/Models/Requests/Guids.md index 8a7b659..38ff97a 100644 --- a/docs/Models/Requests/Guids.md +++ b/docs/Models/Requests/Guids.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Id` | *string* | :heavy_minus_sign: | N/A | tvdb://2337 | \ No newline at end of file +| `Id` | *string* | :heavy_check_mark: | The GUID value. | imdb://tt3032476 | \ No newline at end of file diff --git a/docs/Models/Requests/Producer.md b/docs/Models/Requests/Producer.md index 1ea2c9e..744b8b8 100644 --- a/docs/Models/Requests/Producer.md +++ b/docs/Models/Requests/Producer.md @@ -5,8 +5,9 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `Id` | *int* | :heavy_minus_sign: | N/A | 221 | -| `Filter` | *string* | :heavy_minus_sign: | N/A | producer=221 | -| `Tag` | *string* | :heavy_minus_sign: | N/A | Barry Mendel | -| `TagKey` | *string* | :heavy_minus_sign: | N/A | 5d776826961905001eb90e2b | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg | \ No newline at end of file +| `Id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `Filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `Tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `TagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `Role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `Thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/Models/Requests/QueryParamType.md b/docs/Models/Requests/QueryParamType.md index 13fedec..cfaf2bd 100644 --- a/docs/Models/Requests/QueryParamType.md +++ b/docs/Models/Requests/QueryParamType.md @@ -1,6 +1,6 @@ # QueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/Models/Requests/Rating.md b/docs/Models/Requests/Rating.md new file mode 100644 index 0000000..264bf3b --- /dev/null +++ b/docs/Models/Requests/Rating.md @@ -0,0 +1,10 @@ +# Rating + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `Image` | *string* | :heavy_check_mark: | The image or reference for the rating. | imdb://image.rating | +| `Value` | *float* | :heavy_check_mark: | The rating value. | 9 | +| `Type` | *string* | :heavy_check_mark: | The type of rating (e.g., audience, critic). | audience | \ No newline at end of file diff --git a/docs/Models/Requests/Ratings.md b/docs/Models/Requests/Ratings.md deleted file mode 100644 index fd9a71f..0000000 --- a/docs/Models/Requests/Ratings.md +++ /dev/null @@ -1,10 +0,0 @@ -# Ratings - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | -| `Image` | *string* | :heavy_minus_sign: | N/A | themoviedb://image.rating | -| `Value` | *double* | :heavy_minus_sign: | N/A | 7.4 | -| `Type` | *string* | :heavy_minus_sign: | N/A | audience | \ No newline at end of file diff --git a/docs/Models/Requests/Similar.md b/docs/Models/Requests/Similar.md new file mode 100644 index 0000000..033c5d4 --- /dev/null +++ b/docs/Models/Requests/Similar.md @@ -0,0 +1,10 @@ +# Similar + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `Id` | *long* | :heavy_check_mark: | The unique similar item identifier. | 26 | +| `Filter` | *string* | :heavy_check_mark: | The filter string for similar items. | similar=26 | +| `Tag` | *string* | :heavy_check_mark: | The tag or title of the similar content. | Breaking Bad | \ No newline at end of file diff --git a/docs/Models/Requests/Type.md b/docs/Models/Requests/Type.md index e0e804e..db3f9b7 100644 --- a/docs/Models/Requests/Type.md +++ b/docs/Models/Requests/Type.md @@ -1,6 +1,6 @@ # Type -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 134bb40..0cc4a17 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -18,8 +18,9 @@ API Calls interacting with Plex Media Server Libraries * [GetSearchLibrary](#getsearchlibrary) - Search Library * [GetGenresLibrary](#getgenreslibrary) - Get Genres of library media * [GetCountriesLibrary](#getcountrieslibrary) - Get Countries of library media +* [GetActorsLibrary](#getactorslibrary) - Get Actors of library media * [GetSearchAllLibraries](#getsearchalllibraries) - Search All Libraries -* [GetMetaDataByRatingKey](#getmetadatabyratingkey) - Get Metadata by RatingKey +* [GetMediaMetaData](#getmediametadata) - Get Media Metadata * [GetMetadataChildren](#getmetadatachildren) - Get Items Children * [GetTopWatchedContent](#gettopwatchedcontent) - Get Top Watched Content * [GetOnDeck](#getondeck) - Get On Deck @@ -415,10 +416,10 @@ var res = await sdk.Library.GetSearchLibraryAsync( ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `Type` | [GetSearchLibraryQueryParamType](../../Models/Requests/GetSearchLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `Type` | [GetSearchLibraryQueryParamType](../../Models/Requests/GetSearchLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | ### Response @@ -442,19 +443,24 @@ Retrieves a list of all the genres that are found for the media in this library. ```csharp using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Components; +using LukeHagar.PlexAPI.SDK.Models.Requests; var sdk = new PlexAPI(accessToken: ""); -var res = await sdk.Library.GetGenresLibraryAsync(sectionKey: 9518); +var res = await sdk.Library.GetGenresLibraryAsync( + sectionKey: 9518, + type: GetGenresLibraryQueryParamType.TvShow +); // handle response ``` ### Parameters -| Parameter | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `Type` | [GetGenresLibraryQueryParamType](../../Models/Requests/GetGenresLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | ### Response @@ -478,19 +484,24 @@ Retrieves a list of all the countries that are found for the media in this libra ```csharp using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Components; +using LukeHagar.PlexAPI.SDK.Models.Requests; var sdk = new PlexAPI(accessToken: ""); -var res = await sdk.Library.GetCountriesLibraryAsync(sectionKey: 9518); +var res = await sdk.Library.GetCountriesLibraryAsync( + sectionKey: 9518, + type: GetCountriesLibraryQueryParamType.TvShow +); // handle response ``` ### Parameters -| Parameter | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `Type` | [GetCountriesLibraryQueryParamType](../../Models/Requests/GetCountriesLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | ### Response @@ -504,6 +515,47 @@ var res = await sdk.Library.GetCountriesLibraryAsync(sectionKey: 9518); | LukeHagar.PlexAPI.SDK.Models.Errors.GetCountriesLibraryUnauthorized | 401 | application/json | | LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* | +## GetActorsLibrary + +Retrieves a list of all the actors that are found for the media in this library. + + +### Example Usage + +```csharp +using LukeHagar.PlexAPI.SDK; +using LukeHagar.PlexAPI.SDK.Models.Components; +using LukeHagar.PlexAPI.SDK.Models.Requests; + +var sdk = new PlexAPI(accessToken: ""); + +var res = await sdk.Library.GetActorsLibraryAsync( + sectionKey: 9518, + type: GetActorsLibraryQueryParamType.TvShow +); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `Type` | [GetActorsLibraryQueryParamType](../../Models/Requests/GetActorsLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | + +### Response + +**[GetActorsLibraryResponse](../../Models/Requests/GetActorsLibraryResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetActorsLibraryBadRequest | 400 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetActorsLibraryUnauthorized | 401 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* | + ## GetSearchAllLibraries Search the provided query across all library sections, or a single section, and return matches as hubs, split up by type. @@ -550,9 +602,9 @@ var res = await sdk.Library.GetSearchAllLibrariesAsync(req); | LukeHagar.PlexAPI.SDK.Models.Errors.GetSearchAllLibrariesUnauthorized | 401 | application/json | | LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* | -## GetMetaDataByRatingKey +## GetMediaMetaData -This endpoint will return the metadata of a library item specified with the ratingKey. +This endpoint will return all the (meta)data of a library item specified with by the ratingKey. ### Example Usage @@ -560,31 +612,49 @@ This endpoint will return the metadata of a library item specified with the rati ```csharp using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Components; +using LukeHagar.PlexAPI.SDK.Models.Requests; var sdk = new PlexAPI(accessToken: ""); -var res = await sdk.Library.GetMetaDataByRatingKeyAsync(ratingKey: 9518); +GetMediaMetaDataRequest req = new GetMediaMetaDataRequest() { + RatingKey = 9518, + IncludeConcerts = true, + IncludeExtras = true, + IncludeOnDeck = true, + IncludePopularLeaves = true, + IncludePreferences = true, + IncludeReviews = true, + IncludeChapters = true, + IncludeStations = true, + IncludeExternalMedia = true, + AsyncAugmentMetadata = true, + AsyncCheckFiles = true, + AsyncRefreshAnalysis = true, + AsyncRefreshLocalMediaAgent = true, +}; + +var res = await sdk.Library.GetMediaMetaDataAsync(req); // handle response ``` ### Parameters -| Parameter | Type | Required | Description | Example | -| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | -| `RatingKey` | *long* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [GetMediaMetaDataRequest](../../Models/Requests/GetMediaMetaDataRequest.md) | :heavy_check_mark: | The request object to use for the request. | ### Response -**[GetMetaDataByRatingKeyResponse](../../Models/Requests/GetMetaDataByRatingKeyResponse.md)** +**[GetMediaMetaDataResponse](../../Models/Requests/GetMediaMetaDataResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| LukeHagar.PlexAPI.SDK.Models.Errors.GetMetaDataByRatingKeyBadRequest | 400 | application/json | -| LukeHagar.PlexAPI.SDK.Models.Errors.GetMetaDataByRatingKeyUnauthorized | 401 | application/json | -| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetMediaMetaDataBadRequest | 400 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetMediaMetaDataUnauthorized | 401 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* | ## GetMetadataChildren @@ -650,10 +720,10 @@ var res = await sdk.Library.GetTopWatchedContentAsync( ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Type` | [GetTopWatchedContentQueryParamType](../../Models/Requests/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `IncludeGuids` | *long* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [GetTopWatchedContentQueryParamType](../../Models/Requests/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `IncludeGuids` | *long* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | ### Response diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index bb0c48a..3d681b1 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -249,10 +249,10 @@ var res = await sdk.Playlists.GetPlaylistContentsAsync( ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `PlaylistID` | *double* | :heavy_check_mark: | the ID of the playlist | | -| `Type` | [GetPlaylistContentsQueryParamType](../../Models/Requests/GetPlaylistContentsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `PlaylistID` | *double* | :heavy_check_mark: | the ID of the playlist | | +| `Type` | [GetPlaylistContentsQueryParamType](../../Models/Requests/GetPlaylistContentsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | ### Response