From 57fa772a42a3e8c857d87149e60be46fcab15f5e Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Mon, 7 Apr 2025 00:12:46 +0000 Subject: [PATCH] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.529.1 --- .speakeasy/gen.lock | 273 ++-- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 14 +- README.md | 130 +- RELEASES.md | 12 +- USAGE.md | 4 +- docs/Models/Operations/Feature.md | 2 +- docs/Models/Operations/Friend.md | 6 +- docs/Models/Operations/GeoData.md | 8 +- .../Operations/GetAllLibrariesDirectory.md | 36 +- .../Operations/GetAllLibrariesLocation.md | 8 +- .../GetAllLibrariesMediaContainer.md | 8 +- .../Operations/GetAllLibrariesResponseBody.md | 6 +- docs/Models/Operations/GetAllLibrariesType.md | 15 + .../GetAllMediaLibraryMediaContainer.md | 2 +- .../Operations/GetAllMediaLibraryMetadata.md | 10 +- .../Operations/GetAllMediaLibraryPart.md | 8 +- .../Operations/GetAllMediaLibrarySort.md | 6 +- .../Operations/GetAllMediaLibraryStream.md | 6 +- .../Operations/GetAllMediaLibraryType.md | 2 +- .../Operations/GetBannerImageResponse.md | 4 +- docs/Models/Operations/GetGeoDataGeoData.md | 8 +- .../Operations/GetLibraryDetailsRequest.md | 4 +- .../Operations/GetLibraryItemsLibrarySort.md | 6 +- .../Models/Operations/GetLibraryItemsMedia.md | 6 +- .../GetLibraryItemsMediaContainer.md | 6 +- .../Operations/GetLibraryItemsMetadata.md | 8 +- docs/Models/Operations/GetLibraryItemsPart.md | 2 +- .../Operations/GetLibraryItemsRequest.md | 2 +- docs/Models/Operations/GetLibraryItemsSort.md | 6 +- .../Operations/GetLibraryItemsStream.md | 4 +- docs/Models/Operations/GetLibraryItemsType.md | 2 +- .../Models/Operations/GetMediaArtsMetadata.md | 4 +- .../GetMediaMetaDataMediaContainer.md | 4 +- .../Operations/GetMediaMetaDataMetadata.md | 32 +- .../Models/Operations/GetMediaMetaDataPart.md | 8 +- .../Operations/GetMediaMetaDataStream.md | 6 +- .../Operations/GetMediaPostersMetadata.md | 4 +- .../Operations/GetPinAuthPinContainer.md | 4 +- docs/Models/Operations/GetPinRequest.md | 2 +- .../GetRecentlyAddedLibraryRequest.md | 2 +- .../Operations/GetRecentlyAddedLibraryType.md | 2 +- .../Operations/GetRecentlyAddedMetadata.md | 46 +- .../Operations/GetRecentlyAddedRequest.md | 2 +- .../Models/Operations/GetRecentlyAddedSort.md | 6 +- .../Models/Operations/GetRecentlyAddedType.md | 2 +- .../GetRefreshLibraryMetadataRequest.md | 4 +- .../Operations/GetSearchAllLibrariesMedia.md | 6 +- .../GetSearchAllLibrariesMetadata.md | 8 +- .../Operations/GetSearchAllLibrariesPart.md | 2 +- .../Operations/GetSearchAllLibrariesStream.md | 4 +- .../Operations/GetServerResourcesRequest.md | 4 +- .../Operations/GetThumbImageResponse.md | 4 +- .../GetTokenByPinIdAuthPinContainer.md | 4 +- .../Operations/GetTokenByPinIdGeoData.md | 8 +- .../Operations/GetTokenDetailsSubscription.md | 2 +- .../GetTokenDetailsUserPlexAccount.md | 42 +- .../Operations/GetTopWatchedContentRequest.md | 4 +- docs/Models/Operations/GetUsersRequest.md | 4 +- docs/Models/Operations/GetWatchListRequest.md | 4 +- docs/Models/Operations/Hidden.md | 11 + docs/Models/Operations/Part.md | 8 +- docs/Models/Operations/PastSubscription.md | 8 +- docs/Models/Operations/PlexDevice.md | 12 +- ...ersSignInDataAuthenticationSubscription.md | 2 +- .../Operations/PostUsersSignInDataServices.md | 4 +- .../PostUsersSignInDataSubscription.md | 2 +- .../PostUsersSignInDataUserPlexAccount.md | 44 +- docs/Models/Operations/Services.md | 4 +- docs/Models/Operations/Sort.md | 6 +- docs/Models/Operations/Stream.md | 6 +- docs/Models/Operations/Subscription.md | 2 +- docs/Models/Operations/User.md | 10 +- docs/sdks/activities/README.md | 88 +- docs/sdks/authentication/README.md | 108 +- docs/sdks/butler/README.md | 88 +- docs/sdks/hubs/README.md | 106 +- docs/sdks/library/README.md | 1134 ++++++++--------- docs/sdks/log/README.md | 90 +- docs/sdks/media/README.md | 230 ++-- docs/sdks/playlists/README.md | 388 +++--- docs/sdks/plex/README.md | 216 ++-- docs/sdks/search/README.md | 100 +- docs/sdks/server/README.md | 164 +-- docs/sdks/sessions/README.md | 86 +- docs/sdks/statistics/README.md | 40 +- docs/sdks/updater/README.md | 188 +-- docs/sdks/users/README.md | 2 +- .../Operations/GetAllLibrariesDirectory.php | 65 +- .../Operations/GetAllLibrariesLocation.php | 2 + .../GetAllLibrariesMediaContainer.php | 14 +- .../GetAllLibrariesResponseBody.php | 11 +- src/Models/Operations/GetAllLibrariesType.php | 21 + src/Models/Operations/Hidden.php | 17 + src/PlexAPI.php | 2 +- src/SDKConfiguration.php | 6 +- 96 files changed, 2100 insertions(+), 2025 deletions(-) create mode 100644 docs/Models/Operations/GetAllLibrariesType.md create mode 100644 docs/Models/Operations/Hidden.md create mode 100644 src/Models/Operations/GetAllLibrariesType.php create mode 100644 src/Models/Operations/Hidden.php diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index dabb62f..a396595 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 01a51eb2-5d90-4a24-b154-68e491d02c36 management: - docChecksum: bef8e84d4427234ae3242e247056ab4d + docChecksum: 184db864cffee563d43aae06915b9671 docVersion: 0.0.3 - speakeasyVersion: 1.528.1 - generationVersion: 2.565.1 - releaseVersion: 0.14.3 - configChecksum: e0c4aa281d6a83b880f853a5fc9968cc + speakeasyVersion: 1.529.1 + generationVersion: 2.566.5 + releaseVersion: 0.14.4 + configChecksum: 7db505e20370d06d2d22f259c8833e51 repoURL: https://github.com/LukeHagar/plexphp.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexphp @@ -14,7 +14,7 @@ management: features: php: constsAndDefaults: 0.2.0 - core: 3.8.2 + core: 3.8.3 deprecations: 2.81.1 enums: 2.81.1 errors: 0.3.0 @@ -415,6 +415,7 @@ generatedFiles: - docs/Models/Operations/GetAllLibrariesMediaContainer.md - docs/Models/Operations/GetAllLibrariesResponse.md - docs/Models/Operations/GetAllLibrariesResponseBody.md + - docs/Models/Operations/GetAllLibrariesType.md - docs/Models/Operations/GetAllMediaLibraryActiveDirection.md - docs/Models/Operations/GetAllMediaLibraryCollection.md - docs/Models/Operations/GetAllMediaLibraryCountry.md @@ -795,6 +796,7 @@ generatedFiles: - docs/Models/Operations/GetWatchListResponseBody.md - docs/Models/Operations/Guids.md - docs/Models/Operations/HasThumbnail.md + - docs/Models/Operations/Hidden.md - docs/Models/Operations/Home.md - docs/Models/Operations/Hub.md - docs/Models/Operations/Image.md @@ -1522,6 +1524,7 @@ generatedFiles: - src/Models/Operations/GetAllLibrariesMediaContainer.php - src/Models/Operations/GetAllLibrariesResponse.php - src/Models/Operations/GetAllLibrariesResponseBody.php + - src/Models/Operations/GetAllLibrariesType.php - src/Models/Operations/GetAllMediaLibraryActiveDirection.php - src/Models/Operations/GetAllMediaLibraryCollection.php - src/Models/Operations/GetAllMediaLibraryCountry.php @@ -1897,6 +1900,7 @@ generatedFiles: - src/Models/Operations/GetWatchListResponseBody.php - src/Models/Operations/Guids.php - src/Models/Operations/HasThumbnail.php + - src/Models/Operations/Hidden.php - src/Models/Operations/Home.php - src/Models/Operations/Hub.php - src/Models/Operations/Image.php @@ -2456,7 +2460,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "identifier": "com.plexapp.plugins.library", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": []}, {"type": "tag", "Operator": []}]}, "Metadata": [{"addedAt": 1556281940, "art": "/library/metadata/58683/art/1703239236", "audienceRatingImage": "rottentomatoes://image.rating.upright", "audienceRating": 9.2, "chapterSource": "media", "childCount": 1, "contentRating": "PG-13", "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "duration": 11558112, "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentRatingKey": "66", "grandparentSlug": "alice-in-borderland-2020", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTitle": "Caprica", "guid": "plex://movie/5d7768ba96b655001fdc0408", "index": 1, "key": "/library/metadata/58683", "lastRatedAt": 1721813113, "lastViewedAt": 1682752242, "leafCount": 14, "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "originallyAvailableAt": "2022-12-14", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentIndex": 1, "parentKey": "/library/metadata/66", "parentRatingKey": "66", "parentSlug": "alice-in-borderland-2020", "parentStudio": "UCP", "parentTheme": "/library/metadata/66/theme/1705716261", "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTitle": "Caprica", "parentYear": 2010, "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "ratingKey": "58683", "rating": 7.6, "seasonCount": 2022, "skipCount": 1, "slug": "4-for-texas", "studio": "20th Century Studios", "subtype": "clip", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "tagline": "Return to Pandora.", "theme": "/library/metadata/1/theme/1705636920", "thumb": "/library/metadata/58683/thumb/1703239236", "titleSort": "Whale", "title": "Avatar: The Way of Water", "type": "movie", "updatedAt": 1556281940, "userRating": 10, "viewCount": 1, "viewOffset": 5222500, "viewedLeafCount": 0, "year": 2022, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "optimizedForStreaming": 1, "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": 1, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": true, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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"}]}]}], "Genre": [{"id": 259, "filter": "genre=19", "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}, {"image": "imdb://image.rating", "value": 5.1, "type": "audience"}, {"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}]}, {"addedAt": 1556281940, "art": "/library/metadata/58683/art/1703239236", "audienceRatingImage": "rottentomatoes://image.rating.upright", "audienceRating": 9.2, "chapterSource": "media", "childCount": 1, "contentRating": "PG-13", "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "duration": 11558112, "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentRatingKey": "66", "grandparentSlug": "alice-in-borderland-2020", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTitle": "Caprica", "guid": "plex://movie/5d7768ba96b655001fdc0408", "index": 1, "key": "/library/metadata/58683", "lastRatedAt": 1721813113, "lastViewedAt": 1682752242, "leafCount": 14, "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "originallyAvailableAt": "2022-12-14", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentIndex": 1, "parentKey": "/library/metadata/66", "parentRatingKey": "66", "parentSlug": "alice-in-borderland-2020", "parentStudio": "UCP", "parentTheme": "/library/metadata/66/theme/1705716261", "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTitle": "Caprica", "parentYear": 2010, "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "ratingKey": "58683", "rating": 7.6, "seasonCount": 2022, "skipCount": 1, "slug": "4-for-texas", "studio": "20th Century Studios", "subtype": "clip", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "tagline": "Return to Pandora.", "theme": "/library/metadata/1/theme/1705636920", "thumb": "/library/metadata/58683/thumb/1703239236", "titleSort": "Whale", "title": "Avatar: The Way of Water", "type": "movie", "updatedAt": 1556281940, "userRating": 10, "viewCount": 1, "viewOffset": 5222500, "viewedLeafCount": 0, "year": 2022, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": []}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "optimizedForStreaming": 1, "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": 1, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": true, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "optimizedForStreaming": 1, "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": 1, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": true, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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"}]}]}], "Genre": [{"id": 259, "filter": "genre=19", "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} + application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "identifier": "com.plexapp.plugins.library", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": []}, {"type": "tag", "Operator": []}]}, "Metadata": [{"addedAt": 1556281940, "art": "/library/metadata/58683/art/1703239236", "audienceRatingImage": "rottentomatoes://image.rating.upright", "audienceRating": 9.2, "chapterSource": "media", "childCount": 1, "contentRating": "PG-13", "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "duration": 11558112, "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentRatingKey": "66", "grandparentSlug": "alice-in-borderland-2020", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTitle": "Caprica", "guid": "plex://movie/5d7768ba96b655001fdc0408", "index": 1, "key": "/library/metadata/58683", "lastRatedAt": 1721813113, "lastViewedAt": 1682752242, "leafCount": 14, "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "originallyAvailableAt": "2022-12-14", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentIndex": 1, "parentKey": "/library/metadata/66", "parentRatingKey": "66", "parentSlug": "alice-in-borderland-2020", "parentStudio": "UCP", "parentTheme": "/library/metadata/66/theme/1705716261", "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTitle": "Caprica", "parentYear": 2010, "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "ratingKey": "58683", "rating": 7.6, "seasonCount": 2022, "skipCount": 1, "slug": "4-for-texas", "studio": "20th Century Studios", "subtype": "clip", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "tagline": "Return to Pandora.", "theme": "/library/metadata/1/theme/1705636920", "thumb": "/library/metadata/58683/thumb/1703239236", "titleSort": "Whale", "title": "Avatar: The Way of Water", "type": "movie", "updatedAt": 1556281940, "userRating": 10, "viewCount": 1, "viewOffset": 5222500, "viewedLeafCount": 0, "year": 2022, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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"}]}]}], "Genre": [{"id": 259, "filter": "genre=19", "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}, {"addedAt": 1556281940, "art": "/library/metadata/58683/art/1703239236", "audienceRatingImage": "rottentomatoes://image.rating.upright", "audienceRating": 9.2, "chapterSource": "media", "childCount": 1, "contentRating": "PG-13", "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "duration": 11558112, "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentRatingKey": "66", "grandparentSlug": "alice-in-borderland-2020", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTitle": "Caprica", "guid": "plex://movie/5d7768ba96b655001fdc0408", "index": 1, "key": "/library/metadata/58683", "lastRatedAt": 1721813113, "lastViewedAt": 1682752242, "leafCount": 14, "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "originallyAvailableAt": "2022-12-14", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentIndex": 1, "parentKey": "/library/metadata/66", "parentRatingKey": "66", "parentSlug": "alice-in-borderland-2020", "parentStudio": "UCP", "parentTheme": "/library/metadata/66/theme/1705716261", "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTitle": "Caprica", "parentYear": 2010, "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "ratingKey": "58683", "rating": 7.6, "seasonCount": 2022, "skipCount": 1, "slug": "4-for-texas", "studio": "20th Century Studios", "subtype": "clip", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "tagline": "Return to Pandora.", "theme": "/library/metadata/1/theme/1705636920", "thumb": "/library/metadata/58683/thumb/1703239236", "titleSort": "Whale", "title": "Avatar: The Way of Water", "type": "movie", "updatedAt": 1556281940, "userRating": 10, "viewCount": 1, "viewOffset": 5222500, "viewedLeafCount": 0, "year": 2022, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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"}]}]}], "Genre": [{"id": 259, "filter": "genre=19", "tag": "Crime"}, {"id": 259, "filter": "genre=19", "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} getLibraryHubs: speakeasy-default-get-library-hubs: parameters: @@ -2536,7 +2540,7 @@ examples: speakeasy-default-get-all-libraries: responses: "200": - application/json: {"MediaContainer": {"size": 5, "allowSync": false, "title1": "Plex Library", "Directory": [{"allowSync": true, "art": "/:/resources/movie-fanart.jpg", "composite": "/library/sections/1/composite/1705615584", "filters": true, "refreshing": false, "thumb": "/:/resources/movie.png", "key": "1", "type": "movie", "title": "Movies", "agent": "tv.plex.agents.movie", "scanner": "Plex Movie", "language": "en-US", "uuid": "322a231a-b7f7-49f5-920f-14c61199cd30", "updatedAt": 1556281940, "createdAt": 1556281940, "scannedAt": 1556281940, "content": true, "directory": true, "contentChangedAt": 1556281940, "hidden": 0, "Location": [{"id": 1, "path": "/movies"}, {"id": 1, "path": "/movies"}]}, {"allowSync": true, "art": "/:/resources/movie-fanart.jpg", "composite": "/library/sections/1/composite/1705615584", "filters": true, "refreshing": false, "thumb": "/:/resources/movie.png", "key": "1", "type": "movie", "title": "Movies", "agent": "tv.plex.agents.movie", "scanner": "Plex Movie", "language": "en-US", "uuid": "322a231a-b7f7-49f5-920f-14c61199cd30", "updatedAt": 1556281940, "createdAt": 1556281940, "scannedAt": 1556281940, "content": true, "directory": true, "contentChangedAt": 1556281940, "hidden": 0, "Location": [{"id": 1, "path": "/movies"}, {"id": 1, "path": "/movies"}]}]}} + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "title1": "TV Series", "Directory": [{"allowSync": false, "art": "/:/resources/show-fanart.jpg", "composite": "/library/sections/1/composite/1743824484", "filters": true, "refreshing": true, "thumb": "/:/resources/show.png", "key": "1", "type": "movie", "title": "Movies", "agent": "tv.plex.agents.movie", "scanner": "Plex Movie", "language": "en-US", "uuid": "e69655a2-ef48-4aba-bb19-01e7d3cc34d6", "updatedAt": 1556281940, "createdAt": 1556281940, "scannedAt": 1556281940, "content": true, "directory": true, "contentChangedAt": 9173960, "hidden": 1, "Location": [{"id": 1, "path": "/Movies"}, {"id": 1, "path": "/Movies"}]}, {"allowSync": false, "art": "/:/resources/show-fanart.jpg", "composite": "/library/sections/1/composite/1743824484", "filters": true, "refreshing": true, "thumb": "/:/resources/show.png", "key": "1", "type": "movie", "title": "Movies", "agent": "tv.plex.agents.movie", "scanner": "Plex Movie", "language": "en-US", "uuid": "e69655a2-ef48-4aba-bb19-01e7d3cc34d6", "updatedAt": 1556281940, "createdAt": 1556281940, "scannedAt": 1556281940, "content": true, "directory": true, "contentChangedAt": 9173960, "hidden": 1, "Location": [{"id": 1, "path": "/Movies"}, {"id": 1, "path": "/Movies"}]}]}} "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": @@ -2584,6 +2588,27 @@ 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}, {"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}]} + get-all-media-library: + speakeasy-default-get-all-media-library: + parameters: + path: + sectionKey: 9518 + query: + type: 2 + includeMeta: 1 + includeGuids: 1 + includeAdvanced: 1 + includeCollections: 1 + includeExternalMedia: 1 + X-Plex-Container-Start: 0 + X-Plex-Container-Size: 50 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "thumb": "/:/resources/show.png", "nocache": true, "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": []}]}, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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"}]}]}], "Genre": [{"tag": "Crime"}, {"tag": "Crime"}, {"tag": "Crime"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"tag": "Jamie P. Hanson"}, {"tag": "Jamie P. Hanson"}], "Role": [{"tag": "Teller"}], "Guid": [{"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} + "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}]} get-refresh-library-metadata: speakeasy-default-get-refresh-library-metadata: parameters: @@ -2610,6 +2635,48 @@ 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}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-genres-library: + speakeasy-default-get-genres-library: + parameters: + path: + sectionKey: 9518 + query: + type: 2 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "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", "Directory": [{"fastKey": "/library/sections/10/all?genre=89", "key": "89", "title": "Action", "type": "genre"}]}} + "400": + application/json: {"errors": [{"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-countries-library: + speakeasy-default-get-countries-library: + parameters: + path: + sectionKey: 9518 + query: + type: 2 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "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", "Directory": [{"fastKey": "/library/sections/2/all?country=15491", "key": "15491", "title": "Japan"}]}} + "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}, {"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-search-all-libraries: "": parameters: @@ -2622,23 +2689,67 @@ examples: X-Plex-Client-Identifier: "3381b62b-9ab7-4e37-827b-203e9809eb58" responses: "200": - application/json: {"MediaContainer": {"size": 9266.91, "SearchResult": [{"score": 2698.71, "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}, {"score": 8744.37, "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": []}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}, {"score": 6729.16, "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "tmdbAiring", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}]}} + application/json: {"MediaContainer": {"size": 9266.91, "SearchResult": [{"score": 2698.71, "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}, {"score": 8744.37, "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": []}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}, {"score": 6729.16, "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 0, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "0", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}]}} "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}]} - get-meta-data-by-rating-key: - speakeasy-default-get-meta-data-by-rating-key: + 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": 1, "allowSync": true, "identifier": "com.plexapp.plugins.library", "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionUUID": "cfc899d7-3000-46f6-8489-b9592714ada5", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1698860922, "Metadata": [{"ratingKey": "17", "key": "/library/metadata/17", "guid": "plex://movie/5d77683f6f4521001ea9dc53", "studio": "Universal Pictures", "type": "movie", "title": "Serenity", "librarySectionTitle": "Movies", "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "contentRating": "PG-13", "summary": "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": 8.2, "audienceRating": 9.1, "year": 2005, "tagline": "They aim to misbehave.", "thumb": "/library/metadata/17/thumb/1705637165", "art": "/library/metadata/17/art/1705637165", "duration": 141417, "originallyAvailableAt": "2005-09-29T00:00:00Z", "addedAt": 1705637164, "updatedAt": 1705637165, "audienceRatingImage": "rottentomatoes://image.rating.upright", "hasPremiumPrimaryExtra": "1", "ratingImage": "rottentomatoes://image.rating.ripe", "Media": [{"id": 15, "duration": 141417, "bitrate": 2278, "width": 1920, "height": 814, "aspectRatio": 2.35, "audioChannels": 2, "audioCodec": "aac", "videoCodec": "h264", "videoResolution": "1080", "container": "mp4", "videoFrameRate": "24p", "optimizedForStreaming": 0, "audioProfile": "lc", "has64bitOffsets": false, "videoProfile": "high", "Part": [{"id": 15, "key": "/library/parts/15/1705637151/file.mp4", "duration": 141417, "file": "/movies/Serenity (2005)/Serenity (2005).mp4", "size": 40271948, "audioProfile": "lc", "container": "mp4", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "high", "Stream": [{"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}]}, {"id": 15, "key": "/library/parts/15/1705637151/file.mp4", "duration": 141417, "file": "/movies/Serenity (2005)/Serenity (2005).mp4", "size": 40271948, "audioProfile": "lc", "container": "mp4", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "high", "Stream": [{"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}]}]}, {"id": 15, "duration": 141417, "bitrate": 2278, "width": 1920, "height": 814, "aspectRatio": 2.35, "audioChannels": 2, "audioCodec": "aac", "videoCodec": "h264", "videoResolution": "1080", "container": "mp4", "videoFrameRate": "24p", "optimizedForStreaming": 0, "audioProfile": "lc", "has64bitOffsets": false, "videoProfile": "high", "Part": [{"id": 15, "key": "/library/parts/15/1705637151/file.mp4", "duration": 141417, "file": "/movies/Serenity (2005)/Serenity (2005).mp4", "size": 40271948, "audioProfile": "lc", "container": "mp4", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "high", "Stream": [{"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}, {"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}, {"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}]}, {"id": 15, "key": "/library/parts/15/1705637151/file.mp4", "duration": 141417, "file": "/movies/Serenity (2005)/Serenity (2005).mp4", "size": 40271948, "audioProfile": "lc", "container": "mp4", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "high", "Stream": [{"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}, {"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}, {"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}]}]}], "Genre": [{"id": 184, "filter": "genre=184", "tag": "Thriller"}, {"id": 184, "filter": "genre=184", "tag": "Thriller"}], "Country": [{"id": 116, "filter": "country=116", "tag": "United States of America"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Rating": [{"image": "themoviedb://image.rating", "value": 7.4, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 7.4, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 7.4, "type": "audience"}], "Director": [{"id": 130, "filter": "director=130", "tag": "Joss Whedon", "tagKey": "5d776828880197001ec90e8f", "thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}, {"id": 130, "filter": "director=130", "tag": "Joss Whedon", "tagKey": "5d776828880197001ec90e8f", "thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}], "Writer": [{"id": 132, "filter": "writer=132", "tag": "Joss Whedon", "tagKey": "5d776828880197001ec90e8f", "thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}], "Role": [{"id": 220, "filter": "actor=220", "tag": "Dennis Keiffer", "tagKey": "5d77683554f42c001f8c4708", "role": "Bar Guy (uncredited)", "thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}], "Producer": [{"id": 221, "filter": "producer=221", "tag": "Barry Mendel", "tagKey": "5d776826961905001eb90e2b", "thumb": "https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg"}]}, {"ratingKey": "17", "key": "/library/metadata/17", "guid": "plex://movie/5d77683f6f4521001ea9dc53", "studio": "Universal Pictures", "type": "movie", "title": "Serenity", "librarySectionTitle": "Movies", "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "contentRating": "PG-13", "summary": "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": 8.2, "audienceRating": 9.1, "year": 2005, "tagline": "They aim to misbehave.", "thumb": "/library/metadata/17/thumb/1705637165", "art": "/library/metadata/17/art/1705637165", "duration": 141417, "originallyAvailableAt": "2005-09-29T00:00:00Z", "addedAt": 1705637164, "updatedAt": 1705637165, "audienceRatingImage": "rottentomatoes://image.rating.upright", "hasPremiumPrimaryExtra": "1", "ratingImage": "rottentomatoes://image.rating.ripe", "Media": [{"id": 15, "duration": 141417, "bitrate": 2278, "width": 1920, "height": 814, "aspectRatio": 2.35, "audioChannels": 2, "audioCodec": "aac", "videoCodec": "h264", "videoResolution": "1080", "container": "mp4", "videoFrameRate": "24p", "optimizedForStreaming": 0, "audioProfile": "lc", "has64bitOffsets": false, "videoProfile": "high", "Part": [{"id": 15, "key": "/library/parts/15/1705637151/file.mp4", "duration": 141417, "file": "/movies/Serenity (2005)/Serenity (2005).mp4", "size": 40271948, "audioProfile": "lc", "container": "mp4", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "high", "Stream": [{"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}, {"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}]}, {"id": 15, "key": "/library/parts/15/1705637151/file.mp4", "duration": 141417, "file": "/movies/Serenity (2005)/Serenity (2005).mp4", "size": 40271948, "audioProfile": "lc", "container": "mp4", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "high", "Stream": [{"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}, {"id": 29, "streamType": 2, "default": true, "codec": "aac", "index": 0, "bitrate": 128, "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "14520", "codedHeight": 816, "codedWidth": 1920, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "frameRate": 24, "hasScalingMatrix": false, "height": 814, "level": 40, "profile": "lc", "refFrames": 4, "scanType": "progressive", "streamIdentifier": "1", "width": 1920, "displayTitle": "English (AAC Stereo)", "extendedDisplayTitle": "English (AAC Stereo)", "selected": true, "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "samplingRate": 44100}]}]}], "Genre": [{"id": 184, "filter": "genre=184", "tag": "Thriller"}], "Country": [{"id": 116, "filter": "country=116", "tag": "United States of America"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Rating": [{"image": "themoviedb://image.rating", "value": 7.4, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 7.4, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 7.4, "type": "audience"}], "Director": [{"id": 130, "filter": "director=130", "tag": "Joss Whedon", "tagKey": "5d776828880197001ec90e8f", "thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}, {"id": 130, "filter": "director=130", "tag": "Joss Whedon", "tagKey": "5d776828880197001ec90e8f", "thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}, {"id": 130, "filter": "director=130", "tag": "Joss Whedon", "tagKey": "5d776828880197001ec90e8f", "thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}], "Writer": [{"id": 132, "filter": "writer=132", "tag": "Joss Whedon", "tagKey": "5d776828880197001ec90e8f", "thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}, {"id": 132, "filter": "writer=132", "tag": "Joss Whedon", "tagKey": "5d776828880197001ec90e8f", "thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}, {"id": 132, "filter": "writer=132", "tag": "Joss Whedon", "tagKey": "5d776828880197001ec90e8f", "thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}], "Role": [{"id": 220, "filter": "actor=220", "tag": "Dennis Keiffer", "tagKey": "5d77683554f42c001f8c4708", "role": "Bar Guy (uncredited)", "thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}, {"id": 220, "filter": "actor=220", "tag": "Dennis Keiffer", "tagKey": "5d77683554f42c001f8c4708", "role": "Bar Guy (uncredited)", "thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}, {"id": 220, "filter": "actor=220", "tag": "Dennis Keiffer", "tagKey": "5d77683554f42c001f8c4708", "role": "Bar Guy (uncredited)", "thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}], "Producer": [{"id": 221, "filter": "producer=221", "tag": "Barry Mendel", "tagKey": "5d776826961905001eb90e2b", "thumb": "https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg"}]}]}} + 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, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "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": 1556281940, "updatedAt": 1556281940, "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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"}, {"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"}, {"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, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "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": 1556281940, "updatedAt": 1556281940, "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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"}, {"id": 1057, "filter": "genre=1057", "tag": "Crime"}, {"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"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"}, {"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"}, {"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"}, {"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, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "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": 1556281940, "updatedAt": 1556281940, "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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"}, {"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"}], "Guid": [{"id": "imdb://tt3032476"}, {"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"}, {"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"}, {"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"}]}]}} "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}]} + application/json: {"errors": [{"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}]} + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-media-arts: + speakeasy-default-get-media-arts: + parameters: + path: + ratingKey: 16099 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "mediaTagVersion": 1734362201, "mediaTagPrefix": "/system/bundle/media/flags/", "identifier": "com.plexapp.plugins.library", "Metadata": [{"key": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg"}, {"key": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg"}, {"key": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg"}]}} + post-media-arts: + speakeasy-default-post-media-arts: + parameters: + path: + ratingKey: 2268 + query: + url: "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b" + get-media-posters: + speakeasy-default-get-media-posters: + parameters: + path: + ratingKey: 16099 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "mediaTagVersion": 1734362201, "mediaTagPrefix": "/system/bundle/media/flags/", "identifier": "com.plexapp.plugins.library", "Metadata": [{"key": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg"}, {"key": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg"}]}} + post-media-poster: + speakeasy-default-post-media-poster: + parameters: + path: + ratingKey: 2268 + query: + url: "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b" getMetadataChildren: include-stream: parameters: @@ -2692,15 +2803,6 @@ 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}]} - getOnDeck: - speakeasy-default-get-on-deck: - responses: - "200": - application/json: {"MediaContainer": {"size": 16, "identifier": "com.plexapp.plugins.library", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1680021154, "Metadata": [{"librarySectionID": 2, "librarySectionTitle": "TV Shows", "librarySectionUUID": "4bb2521c-8ba9-459b-aaee-8ab8bc35eabd", "ratingKey": 49564, "key": "/library/metadata/49564", "parentRatingKey": 49557, "grandparentRatingKey": 49556, "guid": "plex://episode/5ea7d7402e7ab10042e74d4f", "parentGuid": "plex://season/602e754d67f4c8002ce54b3d", "grandparentGuid": "plex://show/5d9c090e705e7a001e6e94d8", "type": "episode", "title": "Circus", "grandparentKey": "/library/metadata/49556", "parentKey": "/library/metadata/49557", "librarySectionKey": "/library/sections/2", "grandparentTitle": "Bluey (2018)", "parentTitle": "Season 2", "contentRating": "TV-Y", "summary": "Bluey is the ringmaster in a game of circus with her friends but Hercules wants to play his motorcycle game instead. Luckily Bluey has a solution to keep everyone happy.", "index": 33, "parentIndex": 2, "lastViewedAt": 1681908352, "year": 2018, "thumb": "/library/metadata/49564/thumb/1654258204", "art": "/library/metadata/49556/art/1680939546", "parentThumb": "/library/metadata/49557/thumb/1654258204", "grandparentThumb": "/library/metadata/49556/thumb/1680939546", "grandparentArt": "/library/metadata/49556/art/1680939546", "grandparentTheme": "/library/metadata/49556/theme/1680939546", "duration": 420080, "originallyAvailableAt": "2020-10-31T00:00:00Z", "addedAt": 1654258196, "updatedAt": 1654258204, "Media": [{"id": 80994, "duration": 420080, "bitrate": 1046, "width": 1920, "height": 1080, "aspectRatio": 1.78, "audioChannels": 2, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "1080", "container": "mkv", "videoFrameRate": "PAL", "audioProfile": "lc", "videoProfile": "main", "Part": [{"id": 80994, "key": "/library/parts/80994/1655007810/file.mkv", "duration": 420080, "file": "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", "size": 55148931, "audioProfile": "lc", "container": "mkv", "videoProfile": "main", "Stream": [{"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}]}, {"id": 80994, "key": "/library/parts/80994/1655007810/file.mkv", "duration": 420080, "file": "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", "size": 55148931, "audioProfile": "lc", "container": "mkv", "videoProfile": "main", "Stream": [{"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}, {"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}]}, {"id": 80994, "key": "/library/parts/80994/1655007810/file.mkv", "duration": 420080, "file": "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", "size": 55148931, "audioProfile": "lc", "container": "mkv", "videoProfile": "main", "Stream": [{"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}, {"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}]}]}, {"id": 80994, "duration": 420080, "bitrate": 1046, "width": 1920, "height": 1080, "aspectRatio": 1.78, "audioChannels": 2, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "1080", "container": "mkv", "videoFrameRate": "PAL", "audioProfile": "lc", "videoProfile": "main", "Part": [{"id": 80994, "key": "/library/parts/80994/1655007810/file.mkv", "duration": 420080, "file": "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", "size": 55148931, "audioProfile": "lc", "container": "mkv", "videoProfile": "main", "Stream": [{"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}, {"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}, {"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}]}]}, {"id": 80994, "duration": 420080, "bitrate": 1046, "width": 1920, "height": 1080, "aspectRatio": 1.78, "audioChannels": 2, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "1080", "container": "mkv", "videoFrameRate": "PAL", "audioProfile": "lc", "videoProfile": "main", "Part": [{"id": 80994, "key": "/library/parts/80994/1655007810/file.mkv", "duration": 420080, "file": "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", "size": 55148931, "audioProfile": "lc", "container": "mkv", "videoProfile": "main", "Stream": [{"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}, {"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}]}, {"id": 80994, "key": "/library/parts/80994/1655007810/file.mkv", "duration": 420080, "file": "/tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv", "size": 55148931, "audioProfile": "lc", "container": "mkv", "videoProfile": "main", "Stream": [{"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}, {"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}, {"id": 211234, "streamType": 1, "codec": "hevc", "index": 0, "bitrate": 918, "language": "English", "languageTag": "en", "languageCode": "eng", "bitDepth": 8, "chromaLocation": "left", "chromaSubsampling": "4:2:0", "codedHeight": 1080, "codedWidth": 1920, "colorRange": "tv", "frameRate": 25, "height": 1080, "level": 120, "profile": "main", "refFrames": 1, "width": 1920, "displayTitle": "1080p (HEVC Main)", "extendedDisplayTitle": "1080p (HEVC Main)"}]}]}], "Guid": [{"id": "imdb://tt13303712"}]}]}} - "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}]} get-watch-list: speakeasy-default-get-watch-list: parameters: @@ -2879,7 +2981,7 @@ examples: speakeasy-default-get-token-details: responses: "200": - application/json: {"adsConsent": false, "adsConsentReminderAt": 1556281940, "adsConsentSetAt": 1556281940, "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": "ja", "mailingListActive": false, "mailingListStatus": "active", "maxHomeSize": 15, "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "", "status": "online"}], "subscription": {"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}, "subscriptionDescription": "", "subscriptions": [{"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}, {"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null} + application/json: {"adsConsent": false, "adsConsentReminderAt": 1556281940, "adsConsentSetAt": 1556281940, "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": "ja", "mailingListActive": false, "mailingListStatus": "active", "maxHomeSize": 15, "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "", "status": "online"}], "subscription": {"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}, "subscriptionDescription": "", "subscriptions": [{"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}, {"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}, {"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null} "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": @@ -2897,7 +2999,7 @@ examples: application/x-www-form-urlencoded: {"login": "username@email.com", "password": "password123", "rememberMe": false, "verificationCode": "123456"} responses: "201": - application/json: {"adsConsent": false, "adsConsentReminderAt": 1556281940, "adsConsentSetAt": 1556281940, "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": "zh", "mailingListActive": false, "mailingListStatus": "active", "maxHomeSize": 15, "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 0, "defaultSubtitleAccessibility": 0, "defaultSubtitleForced": 0, "watchedIndicator": 0, "mediaReviewsVisibility": 0}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "", "status": "online"}, {"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "", "status": "online"}, {"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "", "status": "online"}], "subscription": {"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}, "subscriptionDescription": "", "subscriptions": [], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null, "pastSubscriptions": [{"id": "", "mode": "", "renewsAt": 1556281940, "endsAt": 1556281940, "canceled": false, "gracePeriod": false, "onHold": false, "canReactivate": false, "canUpgrade": false, "canDowngrade": false, "canConvert": false, "type": "plexpass", "transfer": "", "state": "ended", "billing": {"internalPaymentMethod": {}, "paymentMethodId": 778268}}, {"id": "", "mode": "", "renewsAt": 1556281940, "endsAt": 1556281940, "canceled": false, "gracePeriod": false, "onHold": false, "canReactivate": false, "canUpgrade": false, "canDowngrade": false, "canConvert": false, "type": "plexpass", "transfer": "", "state": "ended", "billing": {"internalPaymentMethod": {}, "paymentMethodId": 417052}}, {"id": "", "mode": "", "renewsAt": 1556281940, "endsAt": 1556281940, "canceled": false, "gracePeriod": false, "onHold": false, "canReactivate": false, "canUpgrade": false, "canDowngrade": false, "canConvert": false, "type": "plexpass", "transfer": "", "state": "ended", "billing": {"internalPaymentMethod": {}, "paymentMethodId": 860168}}], "trials": [{}, {}]} + application/json: {"adsConsent": false, "adsConsentReminderAt": 1556281940, "adsConsentSetAt": 1556281940, "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": "zh", "mailingListActive": false, "mailingListStatus": "active", "maxHomeSize": 15, "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 0, "defaultSubtitleAccessibility": 0, "defaultSubtitleForced": 0, "watchedIndicator": 0, "mediaReviewsVisibility": 0}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "", "status": "online"}, {"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "", "status": "online"}, {"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "", "status": "online"}], "subscription": {"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}, "subscriptionDescription": "", "subscriptions": [{"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null, "pastSubscriptions": [{"id": "", "mode": "", "renewsAt": 1556281940, "endsAt": 1556281940, "canceled": false, "gracePeriod": false, "onHold": false, "canReactivate": false, "canUpgrade": false, "canDowngrade": false, "canConvert": false, "type": "plexpass", "transfer": "", "state": "ended", "billing": {"internalPaymentMethod": {}, "paymentMethodId": 778268}}, {"id": "", "mode": "", "renewsAt": 1556281940, "endsAt": 1556281940, "canceled": false, "gracePeriod": false, "onHold": false, "canReactivate": false, "canUpgrade": false, "canDowngrade": false, "canConvert": false, "type": "plexpass", "transfer": "", "state": "ended", "billing": {"internalPaymentMethod": {}, "paymentMethodId": 417052}}, {"id": "", "mode": "", "renewsAt": 1556281940, "endsAt": 1556281940, "canceled": false, "gracePeriod": false, "onHold": false, "canReactivate": false, "canUpgrade": false, "canDowngrade": false, "canConvert": false, "type": "plexpass", "transfer": "", "state": "ended", "billing": {"internalPaymentMethod": {}, "paymentMethodId": 860168}}], "trials": [{}, {}]} "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": @@ -3073,34 +3175,6 @@ 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}]} - get-genres-library: - speakeasy-default-get-genres-library: - parameters: - path: - sectionKey: 9518 - query: - type: 2 - responses: - "200": - application/json: {"MediaContainer": {"size": 50, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "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", "Directory": [{"fastKey": "/library/sections/10/all?genre=89", "key": "89", "title": "Action", "type": "genre"}]}} - "400": - application/json: {"errors": [{"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-countries-library: - speakeasy-default-get-countries-library: - parameters: - path: - sectionKey: 9518 - query: - type: 2 - responses: - "200": - application/json: {"MediaContainer": {"size": 50, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "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", "Directory": [{"fastKey": "/library/sections/2/all?country=15491", "key": "15491", "title": "Japan"}]}} - "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}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} get-users: "": parameters: @@ -3125,96 +3199,5 @@ 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, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "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": 1556281940, "updatedAt": 1556281940, "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "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": 1556281940, "updatedAt": 1556281940, "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "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": 1556281940, "updatedAt": 1556281940, "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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}]} - get-all-media-library: - speakeasy-default-get-all-media-library: - parameters: - path: - sectionKey: 9518 - query: - type: 2 - includeMeta: 1 - includeGuids: 1 - includeAdvanced: 1 - includeCollections: 1 - includeExternalMedia: 1 - X-Plex-Container-Start: 0 - X-Plex-Container-Size: 50 - responses: - "200": - application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "thumb": "/:/resources/show.png", "nocache": true, "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": []}]}, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": []}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": 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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "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, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "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"}]}]}], "Genre": [{"tag": "Crime"}, {"tag": "Crime"}, {"tag": "Crime"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"tag": "Jamie P. Hanson"}, {"tag": "Jamie P. Hanson"}], "Role": [{"tag": "Teller"}, {"tag": "Teller"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}]}]}} - "400": - application/json: {"errors": [{"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-media-arts: - speakeasy-default-get-media-arts: - parameters: - path: - ratingKey: 16099 - responses: - "200": - application/json: {"MediaContainer": {"size": 50, "mediaTagVersion": 1734362201, "mediaTagPrefix": "/system/bundle/media/flags/", "identifier": "com.plexapp.plugins.library", "Metadata": [{"key": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg"}, {"key": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg"}, {"key": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg"}]}} - post-media-arts: - speakeasy-default-post-media-arts: - parameters: - path: - ratingKey: 2268 - query: - url: "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b" - get-media-posters: - speakeasy-default-get-media-posters: - parameters: - path: - ratingKey: 16099 - responses: - "200": - application/json: {"MediaContainer": {"size": 50, "mediaTagVersion": 1734362201, "mediaTagPrefix": "/system/bundle/media/flags/", "identifier": "com.plexapp.plugins.library", "Metadata": [{"key": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg"}, {"key": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "provider": "tmdb", "ratingKey": "https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg", "selected": true, "thumb": "https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg"}]}} - post-media-poster: - speakeasy-default-post-media-poster: - parameters: - path: - ratingKey: 2268 - query: - url: "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b" -examplesVersion: 1.0.0 +examplesVersion: 1.0.1 generatedTests: {} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 82067d8..79507c0 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -15,7 +15,7 @@ generation: oAuth2ClientCredentialsEnabled: false oAuth2PasswordEnabled: false php: - version: 0.14.3 + version: 0.14.4 additionalDependencies: autoload: {} autoload-dev: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 777fb03..23a28ce 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.528.1 +speakeasyVersion: 1.529.1 sources: my-source: sourceNamespace: my-source @@ -9,19 +9,19 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5 - sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3 + sourceRevisionDigest: sha256:ea508e3da23b283f47aeb4384d6b3ab374a27bdffb8d8d8376cedbad3ad77a06 + sourceBlobDigest: sha256:c210adbd02b0213b9e6f95ffc27f60ec38f8f9040137d55ccf2b650d92ab0ff5 tags: - latest - - speakeasy-sdk-regen-1743725451 + - speakeasy-sdk-regen-1743984680 targets: plexphp: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5 - sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3 + sourceRevisionDigest: sha256:ea508e3da23b283f47aeb4384d6b3ab374a27bdffb8d8d8376cedbad3ad77a06 + sourceBlobDigest: sha256:c210adbd02b0213b9e6f95ffc27f60ec38f8f9040137d55ccf2b650d92ab0ff5 codeSamplesNamespace: code-samples-php-plexphp - codeSamplesRevisionDigest: sha256:de28f90452840202074947777b608436c2102f493423853b74d94710ee4630e3 + codeSamplesRevisionDigest: sha256:5b30be3519ba86cc5dd18010a2925acfe81722ac097ca5458fcbc77c08111f11 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index d3c5c72..606cd27 100644 --- a/README.md +++ b/README.md @@ -125,8 +125,8 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->server->getMediaProviders( - xPlexToken: 'CV5xoxjTpFKUzBTShsaf' +$response = $sdk->server->getServerCapabilities( + ); if ($response->object !== null) { @@ -143,126 +143,126 @@ if ($response->object !== null) { ### [activities](docs/sdks/activities/README.md) -* [cancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities) - Cancel Server Activities * [getServerActivities](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities +* [cancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities) - Cancel Server Activities ### [authentication](docs/sdks/authentication/README.md) +* [getTransientToken](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token * [getSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information * [getTokenDetails](docs/sdks/authentication/README.md#gettokendetails) - Get Token Details -* [getTransientToken](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token * [postUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata) - Get User Sign In Data ### [butler](docs/sdks/butler/README.md) * [getButlerTasks](docs/sdks/butler/README.md#getbutlertasks) - Get Butler tasks * [startAllTasks](docs/sdks/butler/README.md#startalltasks) - Start all Butler tasks -* [startTask](docs/sdks/butler/README.md#starttask) - Start a single Butler task * [stopAllTasks](docs/sdks/butler/README.md#stopalltasks) - Stop all Butler tasks +* [startTask](docs/sdks/butler/README.md#starttask) - Start a single Butler task * [stopTask](docs/sdks/butler/README.md#stoptask) - Stop a single Butler task ### [hubs](docs/sdks/hubs/README.md) -* [getRecentlyAdded](docs/sdks/hubs/README.md#getrecentlyadded) - Get Recently Added * [getGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs +* [getRecentlyAdded](docs/sdks/hubs/README.md#getrecentlyadded) - Get Recently Added * [getLibraryHubs](docs/sdks/hubs/README.md#getlibraryhubs) - Get library specific hubs ### [library](docs/sdks/library/README.md) -* [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section -* [getActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media -* [getAllLibraries](docs/sdks/library/README.md#getalllibraries) - Get All Libraries -* [getAllMediaLibrary](docs/sdks/library/README.md#getallmedialibrary) - Get all media of library -* [getCountriesLibrary](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media -* [getGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media -* [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details -* [getLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items -* [getMediaArts](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork -* [getMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata -* [getMediaPosters](docs/sdks/library/README.md#getmediaposters) - Get Media Posters -* [getRecentlyAddedLibrary](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added -* [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library -* [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries -* [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library * [getFileHash](docs/sdks/library/README.md#getfilehash) - Get Hash Value +* [getRecentlyAddedLibrary](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added +* [getAllLibraries](docs/sdks/library/README.md#getalllibraries) - Get All Libraries +* [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details +* [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section +* [getLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items +* [getAllMediaLibrary](docs/sdks/library/README.md#getallmedialibrary) - Get all media of library +* [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library +* [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 +* [getMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata +* [getMediaArts](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork +* [postMediaArts](docs/sdks/library/README.md#postmediaarts) - Upload Media Background Artwork +* [getMediaPosters](docs/sdks/library/README.md#getmediaposters) - Get Media Posters +* [postMediaPoster](docs/sdks/library/README.md#postmediaposter) - Upload Media Poster * [getMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children * [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content -* [postMediaArts](docs/sdks/library/README.md#postmediaarts) - Upload Media Background Artwork -* [postMediaPoster](docs/sdks/library/README.md#postmediaposter) - Upload Media Poster ### [log](docs/sdks/log/README.md) -* [enablePaperTrail](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail * [logLine](docs/sdks/log/README.md#logline) - Logging a single line message. * [logMultiLine](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message +* [enablePaperTrail](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail ### [media](docs/sdks/media/README.md) -* [getBannerImage](docs/sdks/media/README.md#getbannerimage) - Get Banner Image -* [getThumbImage](docs/sdks/media/README.md#getthumbimage) - Get Thumb Image * [markPlayed](docs/sdks/media/README.md#markplayed) - Mark Media Played * [markUnplayed](docs/sdks/media/README.md#markunplayed) - Mark Media Unplayed * [updatePlayProgress](docs/sdks/media/README.md#updateplayprogress) - Update Media Play Progress +* [getBannerImage](docs/sdks/media/README.md#getbannerimage) - Get Banner Image +* [getThumbImage](docs/sdks/media/README.md#getthumbimage) - Get Thumb Image ### [playlists](docs/sdks/playlists/README.md) -* [addPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist -* [clearPlaylistContents](docs/sdks/playlists/README.md#clearplaylistcontents) - Delete Playlist Contents * [createPlaylist](docs/sdks/playlists/README.md#createplaylist) - Create a Playlist -* [deletePlaylist](docs/sdks/playlists/README.md#deleteplaylist) - Deletes a Playlist -* [getPlaylist](docs/sdks/playlists/README.md#getplaylist) - Retrieve Playlist -* [getPlaylistContents](docs/sdks/playlists/README.md#getplaylistcontents) - Retrieve Playlist Contents * [getPlaylists](docs/sdks/playlists/README.md#getplaylists) - Get All Playlists +* [getPlaylist](docs/sdks/playlists/README.md#getplaylist) - Retrieve Playlist +* [deletePlaylist](docs/sdks/playlists/README.md#deleteplaylist) - Deletes a Playlist * [updatePlaylist](docs/sdks/playlists/README.md#updateplaylist) - Update a Playlist +* [getPlaylistContents](docs/sdks/playlists/README.md#getplaylistcontents) - Retrieve Playlist Contents +* [clearPlaylistContents](docs/sdks/playlists/README.md#clearplaylistcontents) - Delete Playlist Contents +* [addPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist * [uploadPlaylist](docs/sdks/playlists/README.md#uploadplaylist) - Upload Playlist ### [plex](docs/sdks/plex/README.md) -* [getServerResources](docs/sdks/plex/README.md#getserverresources) - Get Server Resources * [getCompanionsData](docs/sdks/plex/README.md#getcompanionsdata) - Get Companions Data +* [getUserFriends](docs/sdks/plex/README.md#getuserfriends) - Get list of friends of the user logged in * [getGeoData](docs/sdks/plex/README.md#getgeodata) - Get Geo Data * [getHomeData](docs/sdks/plex/README.md#gethomedata) - Get Plex Home Data +* [getServerResources](docs/sdks/plex/README.md#getserverresources) - Get Server Resources * [getPin](docs/sdks/plex/README.md#getpin) - Get a Pin * [getTokenByPinId](docs/sdks/plex/README.md#gettokenbypinid) - Get Access Token by PinId -* [getUserFriends](docs/sdks/plex/README.md#getuserfriends) - Get list of friends of the user logged in ### [search](docs/sdks/search/README.md) -* [getSearchResults](docs/sdks/search/README.md#getsearchresults) - Get Search Results * [performSearch](docs/sdks/search/README.md#performsearch) - Perform a search * [performVoiceSearch](docs/sdks/search/README.md#performvoicesearch) - Perform a voice search +* [getSearchResults](docs/sdks/search/README.md#getsearchresults) - Get Search Results ### [server](docs/sdks/server/README.md) -* [getMediaProviders](docs/sdks/server/README.md#getmediaproviders) - Get Media Providers -* [getServerIdentity](docs/sdks/server/README.md#getserveridentity) - Get Server Identity +* [getServerCapabilities](docs/sdks/server/README.md#getservercapabilities) - Get Server Capabilities +* [getServerPreferences](docs/sdks/server/README.md#getserverpreferences) - Get Server Preferences * [getAvailableClients](docs/sdks/server/README.md#getavailableclients) - Get Available Clients * [getDevices](docs/sdks/server/README.md#getdevices) - Get Devices +* [getServerIdentity](docs/sdks/server/README.md#getserveridentity) - Get Server Identity * [getMyPlexAccount](docs/sdks/server/README.md#getmyplexaccount) - Get MyPlex Account * [getResizedPhoto](docs/sdks/server/README.md#getresizedphoto) - Get a Resized Photo -* [getServerCapabilities](docs/sdks/server/README.md#getservercapabilities) - Get Server Capabilities +* [getMediaProviders](docs/sdks/server/README.md#getmediaproviders) - Get Media Providers * [getServerList](docs/sdks/server/README.md#getserverlist) - Get Server List -* [getServerPreferences](docs/sdks/server/README.md#getserverpreferences) - Get Server Preferences ### [sessions](docs/sdks/sessions/README.md) -* [getSessionHistory](docs/sdks/sessions/README.md#getsessionhistory) - Get Session History * [getSessions](docs/sdks/sessions/README.md#getsessions) - Get Active Sessions +* [getSessionHistory](docs/sdks/sessions/README.md#getsessionhistory) - Get Session History * [getTranscodeSessions](docs/sdks/sessions/README.md#gettranscodesessions) - Get Transcode Sessions * [stopTranscodeSession](docs/sdks/sessions/README.md#stoptranscodesession) - Stop a Transcode Session ### [statistics](docs/sdks/statistics/README.md) -* [getBandwidthStatistics](docs/sdks/statistics/README.md#getbandwidthstatistics) - Get Bandwidth Statistics -* [getResourcesStatistics](docs/sdks/statistics/README.md#getresourcesstatistics) - Get Resources Statistics * [getStatistics](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics +* [getResourcesStatistics](docs/sdks/statistics/README.md#getresourcesstatistics) - Get Resources Statistics +* [getBandwidthStatistics](docs/sdks/statistics/README.md#getbandwidthstatistics) - Get Bandwidth Statistics ### [updater](docs/sdks/updater/README.md) -* [applyUpdates](docs/sdks/updater/README.md#applyupdates) - Apply Updates -* [checkForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates * [getUpdateStatus](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates +* [checkForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates +* [applyUpdates](docs/sdks/updater/README.md#applyupdates) - Apply Updates ### [users](docs/sdks/users/README.md) @@ -294,13 +294,13 @@ By default an API error will raise a `Errors\SDKException` exception, which has | `$rawResponse` | *?\Psr\Http\Message\ResponseInterface* | The raw HTTP response | | `$body` | *string* | The response content | -When custom error responses are specified for an operation, the SDK may also throw their associated exception. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `getMediaProviders` method throws the following exceptions: +When custom error responses are specified for an operation, the SDK may also throw their associated exception. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `getServerCapabilities` method throws the following exceptions: -| Error Type | Status Code | Content Type | -| ------------------------------------ | ----------- | ---------------- | -| Errors\GetMediaProvidersBadRequest | 400 | application/json | -| Errors\GetMediaProvidersUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ---------------------------------------- | ----------- | ---------------- | +| Errors\GetServerCapabilitiesBadRequest | 400 | application/json | +| Errors\GetServerCapabilitiesUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | ### Example @@ -319,17 +319,17 @@ $sdk = Plex_API\PlexAPI::builder() ->build(); try { - $response = $sdk->server->getMediaProviders( - xPlexToken: 'CV5xoxjTpFKUzBTShsaf' + $response = $sdk->server->getServerCapabilities( + ); if ($response->object !== null) { // handle response } -} catch (Errors\GetMediaProvidersBadRequestThrowable $e) { +} catch (Errors\GetServerCapabilitiesBadRequestThrowable $e) { // handle $e->$container data throw $e; -} catch (Errors\GetMediaProvidersUnauthorizedThrowable $e) { +} catch (Errors\GetServerCapabilitiesUnauthorizedThrowable $e) { // handle $e->$container data throw $e; } catch (Errors\SDKException $e) { @@ -363,8 +363,8 @@ use LukeHagar\Plex_API; $sdk = Plex_API\PlexAPI::builder() ->setProtocol('https') - ->setIp('247.38.141.142') - ->setPort('6717') + ->setIp('e0c3:bcc0:6bac:dccc:c4ec:34b1:ca98:4cb9') + ->setPort('40311') ->setSecurity( '' ) @@ -372,8 +372,8 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->server->getMediaProviders( - xPlexToken: 'CV5xoxjTpFKUzBTShsaf' +$response = $sdk->server->getServerCapabilities( + ); if ($response->object !== null) { @@ -400,8 +400,8 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->server->getMediaProviders( - xPlexToken: 'CV5xoxjTpFKUzBTShsaf' +$response = $sdk->server->getServerCapabilities( + ); if ($response->object !== null) { @@ -418,7 +418,6 @@ declare(strict_types=1); require 'vendor/autoload.php'; use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; $sdk = Plex_API\PlexAPI::builder() ->setSecurity( @@ -428,16 +427,11 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->plex->getServerResources( - 'https://plex.tv/api/v2', - clientID: '3381b62b-9ab7-4e37-827b-203e9809eb58', - includeHttps: Operations\IncludeHttps::Enable, - includeRelay: Operations\IncludeRelay::Enable, - includeIPv6: Operations\IncludeIPv6::Enable - +$response = $sdk->plex->getCompanionsData( + 'https://plex.tv/api/v2' ); -if ($response->plexDevices !== null) { +if ($response->responseBodies !== null) { // handle response } ``` diff --git a/RELEASES.md b/RELEASES.md index 8219120..f8d4e63 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -832,4 +832,14 @@ Based on: ### Generated - [php v0.14.3] . ### Releases -- [Composer v0.14.3] https://packagist.org/packages/lukehagar/plex-api#v0.14.3 - . \ No newline at end of file +- [Composer v0.14.3] https://packagist.org/packages/lukehagar/plex-api#v0.14.3 - . + +## 2025-04-07 00:11:04 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.529.1 (2.566.5) https://github.com/speakeasy-api/speakeasy +### Generated +- [php v0.14.4] . +### Releases +- [Composer v0.14.4] https://packagist.org/packages/lukehagar/plex-api#v0.14.4 - . \ No newline at end of file diff --git a/USAGE.md b/USAGE.md index 36aae5e..a4d31b5 100644 --- a/USAGE.md +++ b/USAGE.md @@ -14,8 +14,8 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->server->getMediaProviders( - xPlexToken: 'CV5xoxjTpFKUzBTShsaf' +$response = $sdk->server->getServerCapabilities( + ); if ($response->object !== null) { diff --git a/docs/Models/Operations/Feature.md b/docs/Models/Operations/Feature.md index 2878187..737feb1 100644 --- a/docs/Models/Operations/Feature.md +++ b/docs/Models/Operations/Feature.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `type` | *string* | :heavy_check_mark: | N/A | | | `key` | *?string* | :heavy_minus_sign: | N/A | | +| `type` | *string* | :heavy_check_mark: | N/A | | | `flavor` | *?string* | :heavy_minus_sign: | N/A | global | | `scrobbleKey` | *?string* | :heavy_minus_sign: | N/A | /:/scrobble/new | | `unscrobbleKey` | *?string* | :heavy_minus_sign: | N/A | /:/unscrobble/new | diff --git a/docs/Models/Operations/Friend.md b/docs/Models/Operations/Friend.md index c1bc158..d87cc4a 100644 --- a/docs/Models/Operations/Friend.md +++ b/docs/Models/Operations/Friend.md @@ -6,14 +6,14 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | | `email` | *string* | :heavy_check_mark: | The account email address | username@email.com | +| `friendlyName` | *string* | :heavy_check_mark: | The account full name | exampleUser | | `home` | *bool* | :heavy_check_mark: | If the account is a Plex Home user | | | `id` | *int* | :heavy_check_mark: | The Plex account ID | | +| `restricted` | *?bool* | :heavy_minus_sign: | If the account is a Plex Home managed user | | | `sharedServers` | array<[Operations\SharedServers](../../Models/Operations/SharedServers.md)> | :heavy_check_mark: | N/A | | | `sharedSources` | array<[Operations\SharedSources](../../Models/Operations/SharedSources.md)> | :heavy_check_mark: | N/A | | | `status` | [Operations\Status](../../Models/Operations/Status.md) | :heavy_check_mark: | Current friend request status | accepted | | `thumb` | *string* | :heavy_check_mark: | URL of the account thumbnail | https://plex.tv/users/7d1916e0d8f6e76b/avatar?c=1694481578 | | `title` | *string* | :heavy_check_mark: | The title of the account (username or friendly name) | username123 | | `username` | *string* | :heavy_check_mark: | The account username | username123 | -| `uuid` | *string* | :heavy_check_mark: | The account Universally Unique Identifier (UUID) | 7d1916e0d8f6e76b | -| `friendlyName` | *string* | :heavy_check_mark: | The account full name | exampleUser | -| `restricted` | *?bool* | :heavy_minus_sign: | If the account is a Plex Home managed user | | \ No newline at end of file +| `uuid` | *string* | :heavy_check_mark: | The account Universally Unique Identifier (UUID) | 7d1916e0d8f6e76b | \ No newline at end of file diff --git a/docs/Models/Operations/GeoData.md b/docs/Models/Operations/GeoData.md index 056d4cd..0189b77 100644 --- a/docs/Models/Operations/GeoData.md +++ b/docs/Models/Operations/GeoData.md @@ -11,10 +11,10 @@ Geo location data | `continentCode` | *string* | :heavy_check_mark: | The continent code where the country is located. | NA | | `country` | *string* | :heavy_check_mark: | The official name of the country. | United States Virgin Islands | | `city` | *string* | :heavy_check_mark: | The name of the city. | Amsterdam | +| `europeanUnionMember` | *?bool* | :heavy_minus_sign: | Indicates if the country is a member of the European Union. | true | | `timeZone` | *string* | :heavy_check_mark: | The time zone of the country. | America/St_Thomas | | `postalCode` | *string* | :heavy_check_mark: | The postal code of the location. | 802 | -| `subdivisions` | *string* | :heavy_check_mark: | The name of the primary administrative subdivision. | Saint Thomas | -| `coordinates` | *string* | :heavy_check_mark: | The geographical coordinates (latitude, longitude) of the location. | 18.3381, -64.8941 | -| `europeanUnionMember` | *?bool* | :heavy_minus_sign: | Indicates if the country is a member of the European Union. | true | | `inPrivacyRestrictedCountry` | *?bool* | :heavy_minus_sign: | Indicates if the country has privacy restrictions. | true | -| `inPrivacyRestrictedRegion` | *?bool* | :heavy_minus_sign: | Indicates if the region has privacy restrictions. | true | \ No newline at end of file +| `inPrivacyRestrictedRegion` | *?bool* | :heavy_minus_sign: | Indicates if the region has privacy restrictions. | true | +| `subdivisions` | *string* | :heavy_check_mark: | The name of the primary administrative subdivision. | Saint Thomas | +| `coordinates` | *string* | :heavy_check_mark: | The geographical coordinates (latitude, longitude) of the location. | 18.3381, -64.8941 | \ No newline at end of file diff --git a/docs/Models/Operations/GetAllLibrariesDirectory.md b/docs/Models/Operations/GetAllLibrariesDirectory.md index 9894524..38c816c 100644 --- a/docs/Models/Operations/GetAllLibrariesDirectory.md +++ b/docs/Models/Operations/GetAllLibrariesDirectory.md @@ -5,24 +5,24 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `allowSync` | *bool* | :heavy_check_mark: | N/A | true | -| `art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | -| `composite` | *string* | :heavy_check_mark: | N/A | /library/sections/1/composite/1705615584 | -| `filters` | *bool* | :heavy_check_mark: | N/A | true | -| `refreshing` | *bool* | :heavy_check_mark: | N/A | false | -| `thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/movie.png | -| `key` | *string* | :heavy_check_mark: | N/A | 1 | -| `type` | *string* | :heavy_check_mark: | N/A | movie | -| `title` | *string* | :heavy_check_mark: | N/A | Movies | -| `agent` | *string* | :heavy_check_mark: | N/A | tv.plex.agents.movie | -| `scanner` | *string* | :heavy_check_mark: | N/A | Plex Movie | -| `language` | *string* | :heavy_check_mark: | N/A | en-US | -| `uuid` | *string* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | +| `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 | +| `composite` | *string* | :heavy_check_mark: | The relative path to the composite media item. | /library/sections/1/composite/1743824484 | +| `filters` | *bool* | :heavy_check_mark: | UNKNOWN | true | +| `refreshing` | *bool* | :heavy_check_mark: | Indicates whether the library is currently being refreshed or updated | true | +| `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | +| `key` | *string* | :heavy_check_mark: | The library key representing the unique identifier | 1 | +| `type` | [Operations\GetAllLibrariesType](../../Models/Operations/GetAllLibrariesType.md) | :heavy_check_mark: | N/A | movie | +| `title` | *string* | :heavy_check_mark: | The title of the library | Movies | +| `agent` | *string* | :heavy_check_mark: | The Plex agent used to match and retrieve media metadata. | tv.plex.agents.movie | +| `scanner` | *string* | :heavy_check_mark: | UNKNOWN | Plex Movie | +| `language` | *string* | :heavy_check_mark: | The Plex library language that has been set | en-US | +| `uuid` | *string* | :heavy_check_mark: | The universally unique identifier for the library. | e69655a2-ef48-4aba-bb19-01e7d3cc34d6 | | `updatedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `createdAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | +| `createdAt` | *?int* | :heavy_minus_sign: | N/A | 1556281940 | | `scannedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `content` | *bool* | :heavy_check_mark: | N/A | true | -| `directory` | *bool* | :heavy_check_mark: | N/A | true | -| `contentChangedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `hidden` | *int* | :heavy_check_mark: | N/A | 0 | +| `content` | *bool* | :heavy_check_mark: | UNKNOWN | true | +| `directory` | *bool* | :heavy_check_mark: | UNKNOWN | true | +| `contentChangedAt` | *int* | :heavy_check_mark: | The number of seconds since the content was last changed relative to now. | 9173960 | +| `hidden` | [?Operations\Hidden](../../Models/Operations/Hidden.md) | :heavy_minus_sign: | N/A | 1 | | `location` | array<[Operations\GetAllLibrariesLocation](../../Models/Operations/GetAllLibrariesLocation.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetAllLibrariesLocation.md b/docs/Models/Operations/GetAllLibrariesLocation.md index 3e1d0d0..e3b5767 100644 --- a/docs/Models/Operations/GetAllLibrariesLocation.md +++ b/docs/Models/Operations/GetAllLibrariesLocation.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *int* | :heavy_check_mark: | N/A | 1 | -| `path` | *string* | :heavy_check_mark: | N/A | /movies | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------- | --------------------------- | --------------------------- | --------------------------- | --------------------------- | +| `id` | *int* | :heavy_check_mark: | The ID of the location. | 1 | +| `path` | *string* | :heavy_check_mark: | The path to the media item. | /Movies | \ No newline at end of file diff --git a/docs/Models/Operations/GetAllLibrariesMediaContainer.md b/docs/Models/Operations/GetAllLibrariesMediaContainer.md index d9ffd03..4733c49 100644 --- a/docs/Models/Operations/GetAllLibrariesMediaContainer.md +++ b/docs/Models/Operations/GetAllLibrariesMediaContainer.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| `size` | *int* | :heavy_check_mark: | N/A | 5 | -| `allowSync` | *bool* | :heavy_check_mark: | N/A | false | -| `title1` | *string* | :heavy_check_mark: | N/A | Plex Library | -| `directory` | array<[Operations\GetAllLibrariesDirectory](../../Models/Operations/GetAllLibrariesDirectory.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file +| `size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 | +| `allowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series | +| `directory` | array<[Operations\GetAllLibrariesDirectory](../../Models/Operations/GetAllLibrariesDirectory.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetAllLibrariesResponseBody.md b/docs/Models/Operations/GetAllLibrariesResponseBody.md index 5dae7f8..0ab5590 100644 --- a/docs/Models/Operations/GetAllLibrariesResponseBody.md +++ b/docs/Models/Operations/GetAllLibrariesResponseBody.md @@ -5,6 +5,6 @@ The libraries available on the Server ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `mediaContainer` | [Operations\GetAllLibrariesMediaContainer](../../Models/Operations/GetAllLibrariesMediaContainer.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `mediaContainer` | [?Operations\GetAllLibrariesMediaContainer](../../Models/Operations/GetAllLibrariesMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/GetAllLibrariesType.md b/docs/Models/Operations/GetAllLibrariesType.md new file mode 100644 index 0000000..d484421 --- /dev/null +++ b/docs/Models/Operations/GetAllLibrariesType.md @@ -0,0 +1,15 @@ +# GetAllLibrariesType + +The library type + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | movie | +| `TvShow` | show | +| `Season` | season | +| `Episode` | episode | +| `Artist` | artist | +| `Album` | album | \ No newline at end of file diff --git a/docs/Models/Operations/GetAllMediaLibraryMediaContainer.md b/docs/Models/Operations/GetAllMediaLibraryMediaContainer.md index c42bd2e..8f79333 100644 --- a/docs/Models/Operations/GetAllMediaLibraryMediaContainer.md +++ b/docs/Models/Operations/GetAllMediaLibraryMediaContainer.md @@ -14,6 +14,7 @@ | `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | | `librarySectionID` | *int* | :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` | *int* | :heavy_check_mark: | The version number for media tags. | 1734362201 | | `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | @@ -21,6 +22,5 @@ | `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 | -| `librarySectionUUID` | *?string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | | `meta` | [?Operations\GetAllMediaLibraryMeta](../../Models/Operations/GetAllMediaLibraryMeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | | `metadata` | array<[Operations\GetAllMediaLibraryMetadata](../../Models/Operations/GetAllMediaLibraryMetadata.md)> | :heavy_minus_sign: | An array of metadata items. | | \ No newline at end of file diff --git a/docs/Models/Operations/GetAllMediaLibraryMetadata.md b/docs/Models/Operations/GetAllMediaLibraryMetadata.md index 0814c13..70e65e7 100644 --- a/docs/Models/Operations/GetAllMediaLibraryMetadata.md +++ b/docs/Models/Operations/GetAllMediaLibraryMetadata.md @@ -12,27 +12,27 @@ Unknown | `key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 | | `guid` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 | | `slug` | *string* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas | +| `studio` | *?string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios | | `type` | [Operations\GetAllMediaLibraryLibraryType](../../Models/Operations/GetAllMediaLibraryLibraryType.md) | :heavy_check_mark: | N/A | movie | | `title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water | | `titleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale | +| `contentRating` | *?string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 | | `summary` | *string* | :heavy_check_mark: | A synopsis of the media item. | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.
Once a familiar threat returns to finish what was previously started, Jake must
work with Neytiri and the army of the Na'vi race to protect their home.
| | `rating` | *float* | :heavy_check_mark: | The critic rating for the media item. | 7.6 | | `audienceRating` | *float* | :heavy_check_mark: | The audience rating for the media item. | 9.2 | +| `year` | *?int* | :heavy_minus_sign: | The release year of the media item. | 2022 | | `tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. | | `thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 | | `art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 | | `theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 | | `index` | *int* | :heavy_check_mark: | The index position of the media item. | 1 | +| `leafCount` | *?int* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | +| `viewedLeafCount` | *?int* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 | | `childCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | | `seasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | | `duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | | `originallyAvailableAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | | `addedAt` | *int* | :heavy_check_mark: | N/A | 1556281940 | -| `studio` | *?string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios | -| `contentRating` | *?string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 | -| `year` | *?int* | :heavy_minus_sign: | The release year of the media item. | 2022 | -| `leafCount` | *?int* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | -| `viewedLeafCount` | *?int* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 | | `updatedAt` | *?int* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | | `audienceRatingImage` | *?string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | | `chapterSource` | *?string* | :heavy_minus_sign: | The source from which chapter data is derived. | media | diff --git a/docs/Models/Operations/GetAllMediaLibraryPart.md b/docs/Models/Operations/GetAllMediaLibraryPart.md index 5791ea0..666b1bc 100644 --- a/docs/Models/Operations/GetAllMediaLibraryPart.md +++ b/docs/Models/Operations/GetAllMediaLibraryPart.md @@ -5,14 +5,14 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | -| `id` | *int* | :heavy_check_mark: | Unique part identifier. | 418385 | -| `key` | *string* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | -| `file` | *string* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | -| `size` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 | | `accessible` | *?bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true | | `exists` | *?bool* | :heavy_minus_sign: | Indicates if the part exists. | true | +| `id` | *int* | :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` | *?int* | :heavy_minus_sign: | 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` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 | | `packetLength` | *?int* | :heavy_minus_sign: | N/A | 188 | | `container` | *?string* | :heavy_minus_sign: | Container format of the part. | mkv | | `videoProfile` | *?string* | :heavy_minus_sign: | Video profile for the part. | main 10 | diff --git a/docs/Models/Operations/GetAllMediaLibrarySort.md b/docs/Models/Operations/GetAllMediaLibrarySort.md index ff3652d..79e23af 100644 --- a/docs/Models/Operations/GetAllMediaLibrarySort.md +++ b/docs/Models/Operations/GetAllMediaLibrarySort.md @@ -5,11 +5,11 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| `key` | *string* | :heavy_check_mark: | N/A | titleSort | -| `title` | *string* | :heavy_check_mark: | N/A | Title | | `default` | *?string* | :heavy_minus_sign: | N/A | asc | | `active` | *?bool* | :heavy_minus_sign: | N/A | false | | `activeDirection` | [?Operations\GetAllMediaLibraryActiveDirection](../../Models/Operations/GetAllMediaLibraryActiveDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | | `defaultDirection` | [?Operations\GetAllMediaLibraryDefaultDirection](../../Models/Operations/GetAllMediaLibraryDefaultDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | | `descKey` | *?string* | :heavy_minus_sign: | N/A | titleSort:desc | -| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | \ No newline at end of file +| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *string* | :heavy_check_mark: | N/A | titleSort | +| `title` | *string* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/Models/Operations/GetAllMediaLibraryStream.md b/docs/Models/Operations/GetAllMediaLibraryStream.md index 71b10e0..eab41a2 100644 --- a/docs/Models/Operations/GetAllMediaLibraryStream.md +++ b/docs/Models/Operations/GetAllMediaLibraryStream.md @@ -7,11 +7,9 @@ | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 | | `streamType` | *int* | :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` | *int* | :heavy_check_mark: | Index of the stream. | 0 | -| `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) | -| `default` | *?bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `bitrate` | *?int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | | `language` | *?string* | :heavy_minus_sign: | Language of the stream. | English | | `languageTag` | *?string* | :heavy_minus_sign: | Language tag (e.g., en). | en | @@ -45,6 +43,8 @@ | `embeddedInVideo` | *?string* | :heavy_minus_sign: | N/A | progressive | | `refFrames` | *?int* | :heavy_minus_sign: | Number of reference frames. | 1 | | `width` | *?int* | :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` | *?int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | diff --git a/docs/Models/Operations/GetAllMediaLibraryType.md b/docs/Models/Operations/GetAllMediaLibraryType.md index cc68056..c36e7d1 100644 --- a/docs/Models/Operations/GetAllMediaLibraryType.md +++ b/docs/Models/Operations/GetAllMediaLibraryType.md @@ -7,9 +7,9 @@ | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | | `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | | `type` | *string* | :heavy_check_mark: | N/A | filter | +| `subtype` | *?string* | :heavy_minus_sign: | N/A | clip | | `title` | *string* | :heavy_check_mark: | N/A | TV Shows | | `active` | *bool* | :heavy_check_mark: | N/A | false | -| `subtype` | *?string* | :heavy_minus_sign: | N/A | clip | | `filter` | array<[Operations\GetAllMediaLibraryFilter](../../Models/Operations/GetAllMediaLibraryFilter.md)> | :heavy_minus_sign: | N/A | | | `sort` | array<[Operations\GetAllMediaLibrarySort](../../Models/Operations/GetAllMediaLibrarySort.md)> | :heavy_minus_sign: | N/A | | | `field` | array<[Operations\GetAllMediaLibraryField](../../Models/Operations/GetAllMediaLibraryField.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetBannerImageResponse.md b/docs/Models/Operations/GetBannerImageResponse.md index 7dc9804..04d2370 100644 --- a/docs/Models/Operations/GetBannerImageResponse.md +++ b/docs/Models/Operations/GetBannerImageResponse.md @@ -8,5 +8,5 @@ | `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` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `headers` | array> | :heavy_check_mark: | N/A | -| `bytes` | *?string* | :heavy_minus_sign: | Successful response returning an image | \ No newline at end of file +| `bytes` | *?string* | :heavy_minus_sign: | Successful response returning an image | +| `headers` | array> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/GetGeoDataGeoData.md b/docs/Models/Operations/GetGeoDataGeoData.md index cf543e7..9fa7e8c 100644 --- a/docs/Models/Operations/GetGeoDataGeoData.md +++ b/docs/Models/Operations/GetGeoDataGeoData.md @@ -11,10 +11,10 @@ Geo location data | `continentCode` | *string* | :heavy_check_mark: | The continent code where the country is located. | NA | | `country` | *string* | :heavy_check_mark: | The official name of the country. | United States Virgin Islands | | `city` | *string* | :heavy_check_mark: | The name of the city. | Amsterdam | +| `europeanUnionMember` | *?bool* | :heavy_minus_sign: | Indicates if the country is a member of the European Union. | true | | `timeZone` | *string* | :heavy_check_mark: | The time zone of the country. | America/St_Thomas | | `postalCode` | *string* | :heavy_check_mark: | The postal code of the location. | 802 | -| `subdivisions` | *string* | :heavy_check_mark: | The name of the primary administrative subdivision. | Saint Thomas | -| `coordinates` | *string* | :heavy_check_mark: | The geographical coordinates (latitude, longitude) of the location. | 18.3381, -64.8941 | -| `europeanUnionMember` | *?bool* | :heavy_minus_sign: | Indicates if the country is a member of the European Union. | true | | `inPrivacyRestrictedCountry` | *?bool* | :heavy_minus_sign: | Indicates if the country has privacy restrictions. | true | -| `inPrivacyRestrictedRegion` | *?bool* | :heavy_minus_sign: | Indicates if the region has privacy restrictions. | true | \ No newline at end of file +| `inPrivacyRestrictedRegion` | *?bool* | :heavy_minus_sign: | Indicates if the region has privacy restrictions. | true | +| `subdivisions` | *string* | :heavy_check_mark: | The name of the primary administrative subdivision. | Saint Thomas | +| `coordinates` | *string* | :heavy_check_mark: | The geographical coordinates (latitude, longitude) of the location. | 18.3381, -64.8941 | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryDetailsRequest.md b/docs/Models/Operations/GetLibraryDetailsRequest.md index e6d89a6..dc2ade1 100644 --- a/docs/Models/Operations/GetLibraryDetailsRequest.md +++ b/docs/Models/Operations/GetLibraryDetailsRequest.md @@ -5,5 +5,5 @@ | 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 | -| `includeDetails` | [?Operations\IncludeDetails](../../Models/Operations/IncludeDetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).
Only exists for backwards compatibility, media providers other than the server libraries have it on always.
| | \ No newline at end of file +| `includeDetails` | [?Operations\IncludeDetails](../../Models/Operations/IncludeDetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).
Only exists for backwards compatibility, media providers other than the server libraries have it on always.
| | +| `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 diff --git a/docs/Models/Operations/GetLibraryItemsLibrarySort.md b/docs/Models/Operations/GetLibraryItemsLibrarySort.md index 6e85cc6..15cf018 100644 --- a/docs/Models/Operations/GetLibraryItemsLibrarySort.md +++ b/docs/Models/Operations/GetLibraryItemsLibrarySort.md @@ -5,11 +5,11 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -| `key` | *string* | :heavy_check_mark: | N/A | titleSort | -| `title` | *string* | :heavy_check_mark: | N/A | Title | | `default` | *?string* | :heavy_minus_sign: | N/A | asc | | `active` | *?bool* | :heavy_minus_sign: | N/A | false | | `activeDirection` | [?Operations\GetLibraryItemsLibraryActiveDirection](../../Models/Operations/GetLibraryItemsLibraryActiveDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | | `defaultDirection` | [?Operations\GetLibraryItemsLibraryDefaultDirection](../../Models/Operations/GetLibraryItemsLibraryDefaultDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | | `descKey` | *?string* | :heavy_minus_sign: | N/A | titleSort:desc | -| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | \ No newline at end of file +| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *string* | :heavy_check_mark: | N/A | titleSort | +| `title` | *string* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsMedia.md b/docs/Models/Operations/GetLibraryItemsMedia.md index 420ac6e..a3b927d 100644 --- a/docs/Models/Operations/GetLibraryItemsMedia.md +++ b/docs/Models/Operations/GetLibraryItemsMedia.md @@ -6,8 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | | `id` | *int* | :heavy_check_mark: | N/A | 119534 | -| `container` | *string* | :heavy_check_mark: | N/A | mkv | -| `part` | array<[Operations\GetLibraryItemsPart](../../Models/Operations/GetLibraryItemsPart.md)> | :heavy_check_mark: | N/A | | | `duration` | *?int* | :heavy_minus_sign: | N/A | 11558112 | | `bitrate` | *?int* | :heavy_minus_sign: | N/A | 25025 | | `width` | *?int* | :heavy_minus_sign: | N/A | 3840 | @@ -18,8 +16,10 @@ | `audioCodec` | *?string* | :heavy_minus_sign: | N/A | eac3 | | `videoCodec` | *?string* | :heavy_minus_sign: | N/A | hevc | | `videoResolution` | *?string* | :heavy_minus_sign: | N/A | 4k | +| `container` | *string* | :heavy_check_mark: | N/A | mkv | | `videoFrameRate` | *?string* | :heavy_minus_sign: | N/A | 24p | | `videoProfile` | *?string* | :heavy_minus_sign: | N/A | main 10 | | `hasVoiceActivity` | *?bool* | :heavy_minus_sign: | N/A | false | | `optimizedForStreaming` | [?Operations\GetLibraryItemsOptimizedForStreaming](../../Models/Operations/GetLibraryItemsOptimizedForStreaming.md) | :heavy_minus_sign: | N/A | 1 | -| `has64bitOffsets` | *?bool* | :heavy_minus_sign: | N/A | false | \ No newline at end of file +| `has64bitOffsets` | *?bool* | :heavy_minus_sign: | N/A | false | +| `part` | array<[Operations\GetLibraryItemsPart](../../Models/Operations/GetLibraryItemsPart.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsMediaContainer.md b/docs/Models/Operations/GetLibraryItemsMediaContainer.md index 0cc93c1..ab7cf33 100644 --- a/docs/Models/Operations/GetLibraryItemsMediaContainer.md +++ b/docs/Models/Operations/GetLibraryItemsMediaContainer.md @@ -8,11 +8,14 @@ The Meta object is only included in the response if the `includeMeta` parameter | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `type` | array<[Operations\GetLibraryItemsType](../../Models/Operations/GetLibraryItemsType.md)> | :heavy_minus_sign: | N/A | | +| `fieldType` | array<[Operations\GetLibraryItemsFieldType](../../Models/Operations/GetLibraryItemsFieldType.md)> | :heavy_minus_sign: | N/A | | | `size` | *int* | :heavy_check_mark: | N/A | 70 | | `totalSize` | *int* | :heavy_check_mark: | N/A | 170 | | `offset` | *int* | :heavy_check_mark: | N/A | 0 | | `content` | *string* | :heavy_check_mark: | N/A | secondary | | `allowSync` | *bool* | :heavy_check_mark: | N/A | true | +| `nocache` | *?bool* | :heavy_minus_sign: | N/A | true | | `art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | | `identifier` | *string* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | | `librarySectionID` | *int* | :heavy_check_mark: | N/A | 1 | @@ -24,9 +27,6 @@ The Meta object is only included in the response if the `includeMeta` parameter | `title1` | *string* | :heavy_check_mark: | N/A | Movies | | `title2` | *string* | :heavy_check_mark: | N/A | Recently Released | | `viewGroup` | *string* | :heavy_check_mark: | N/A | movie | -| `type` | array<[Operations\GetLibraryItemsType](../../Models/Operations/GetLibraryItemsType.md)> | :heavy_minus_sign: | N/A | | -| `fieldType` | array<[Operations\GetLibraryItemsFieldType](../../Models/Operations/GetLibraryItemsFieldType.md)> | :heavy_minus_sign: | N/A | | -| `nocache` | *?bool* | :heavy_minus_sign: | N/A | true | | `viewMode` | *?int* | :heavy_minus_sign: | N/A | 65592 | | `mixedParents` | *?bool* | :heavy_minus_sign: | N/A | true | | `metadata` | array<[Operations\GetLibraryItemsMetadata](../../Models/Operations/GetLibraryItemsMetadata.md)> | :heavy_minus_sign: | N/A | | diff --git a/docs/Models/Operations/GetLibraryItemsMetadata.md b/docs/Models/Operations/GetLibraryItemsMetadata.md index c52314c..a1fe1dc 100644 --- a/docs/Models/Operations/GetLibraryItemsMetadata.md +++ b/docs/Models/Operations/GetLibraryItemsMetadata.md @@ -8,17 +8,16 @@ | `ratingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item.
Note: This is always an integer, but is represented as a string in the API.
| 58683 | | `key` | *string* | :heavy_check_mark: | N/A | /library/metadata/58683 | | `guid` | *string* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | -| `type` | [Operations\GetLibraryItemsLibraryType](../../Models/Operations/GetLibraryItemsLibraryType.md) | :heavy_check_mark: | The type of media content
| movie | -| `title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | -| `summary` | *string* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | -| `addedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `studio` | *?string* | :heavy_minus_sign: | N/A | 20th Century Studios | | `skipChildren` | *?bool* | :heavy_minus_sign: | N/A | false | | `librarySectionID` | *?int* | :heavy_minus_sign: | N/A | 1 | | `librarySectionTitle` | *?string* | :heavy_minus_sign: | N/A | Movies | | `librarySectionKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `type` | [Operations\GetLibraryItemsLibraryType](../../Models/Operations/GetLibraryItemsLibraryType.md) | :heavy_check_mark: | The type of media content
| movie | +| `title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | | `slug` | *?string* | :heavy_minus_sign: | N/A | 4-for-texas | | `contentRating` | *?string* | :heavy_minus_sign: | N/A | PG-13 | +| `summary` | *string* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | | `rating` | *?float* | :heavy_minus_sign: | N/A | 7.6 | | `audienceRating` | *?float* | :heavy_minus_sign: | N/A | 9.2 | | `year` | *?int* | :heavy_minus_sign: | N/A | 2022 | @@ -33,6 +32,7 @@ | `banner` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | | `duration` | *?int* | :heavy_minus_sign: | N/A | 11558112 | | `originallyAvailableAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | +| `addedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `updatedAt` | *?int* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | | `audienceRatingImage` | *?string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | | `chapterSource` | *?string* | :heavy_minus_sign: | N/A | media | diff --git a/docs/Models/Operations/GetLibraryItemsPart.md b/docs/Models/Operations/GetLibraryItemsPart.md index ddbd0e1..da81cb1 100644 --- a/docs/Models/Operations/GetLibraryItemsPart.md +++ b/docs/Models/Operations/GetLibraryItemsPart.md @@ -7,10 +7,10 @@ | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | | `id` | *int* | :heavy_check_mark: | N/A | 119542 | | `key` | *string* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | +| `duration` | *?int* | :heavy_minus_sign: | N/A | 11558112 | | `file` | *string* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | | `size` | *int* | :heavy_check_mark: | N/A | 36158371307 | | `container` | *string* | :heavy_check_mark: | The container format of the media file.
| mkv | -| `duration` | *?int* | :heavy_minus_sign: | N/A | 11558112 | | `audioProfile` | *?string* | :heavy_minus_sign: | N/A | dts | | `has64bitOffsets` | *?bool* | :heavy_minus_sign: | N/A | false | | `optimizedForStreaming` | *?bool* | :heavy_minus_sign: | N/A | false | diff --git a/docs/Models/Operations/GetLibraryItemsRequest.md b/docs/Models/Operations/GetLibraryItemsRequest.md index fc23b8c..c5c9dd1 100644 --- a/docs/Models/Operations/GetLibraryItemsRequest.md +++ b/docs/Models/Operations/GetLibraryItemsRequest.md @@ -6,9 +6,9 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `tag` | [Operations\Tag](../../Models/Operations/Tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | +| `includeGuids` | [?Operations\IncludeGuids](../../Models/Operations/IncludeGuids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | | `type` | [Operations\GetLibraryItemsQueryParamType](../../Models/Operations/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 | -| `includeGuids` | [?Operations\IncludeGuids](../../Models/Operations/IncludeGuids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | | `includeMeta` | [?Operations\GetLibraryItemsQueryParamIncludeMeta](../../Models/Operations/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/Operations/GetLibraryItemsSort.md b/docs/Models/Operations/GetLibraryItemsSort.md index 89ff77b..90b88ae 100644 --- a/docs/Models/Operations/GetLibraryItemsSort.md +++ b/docs/Models/Operations/GetLibraryItemsSort.md @@ -5,11 +5,11 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | -| `key` | *string* | :heavy_check_mark: | N/A | titleSort | -| `title` | *string* | :heavy_check_mark: | N/A | Title | | `default` | *?string* | :heavy_minus_sign: | N/A | asc | | `active` | *?bool* | :heavy_minus_sign: | N/A | false | | `activeDirection` | [?Operations\GetLibraryItemsActiveDirection](../../Models/Operations/GetLibraryItemsActiveDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | | `defaultDirection` | [?Operations\GetLibraryItemsDefaultDirection](../../Models/Operations/GetLibraryItemsDefaultDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | | `descKey` | *?string* | :heavy_minus_sign: | N/A | titleSort:desc | -| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | \ No newline at end of file +| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *string* | :heavy_check_mark: | N/A | titleSort | +| `title` | *string* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsStream.md b/docs/Models/Operations/GetLibraryItemsStream.md index 9ea582f..7ed29e6 100644 --- a/docs/Models/Operations/GetLibraryItemsStream.md +++ b/docs/Models/Operations/GetLibraryItemsStream.md @@ -7,10 +7,10 @@ | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | | `id` | *int* | :heavy_check_mark: | N/A | 272796 | | `streamType` | *int* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | -| `codec` | *string* | :heavy_check_mark: | Codec used by the stream | h264 | -| `index` | *int* | :heavy_check_mark: | The index of the stream | 0 | | `default` | *?bool* | :heavy_minus_sign: | Indicates if this is the default stream | true | | `selected` | *?bool* | :heavy_minus_sign: | Indicates if the stream is selected | true | +| `codec` | *string* | :heavy_check_mark: | Codec used by the stream | h264 | +| `index` | *int* | :heavy_check_mark: | The index of the stream | 0 | | `bitrate` | *?int* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | | `colorPrimaries` | *?string* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | | `colorRange` | *?string* | :heavy_minus_sign: | The color range of the video stream | tv | diff --git a/docs/Models/Operations/GetLibraryItemsType.md b/docs/Models/Operations/GetLibraryItemsType.md index 22a47da..5f196ca 100644 --- a/docs/Models/Operations/GetLibraryItemsType.md +++ b/docs/Models/Operations/GetLibraryItemsType.md @@ -7,9 +7,9 @@ | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | | `type` | *string* | :heavy_check_mark: | N/A | filter | +| `subtype` | *?string* | :heavy_minus_sign: | N/A | clip | | `title` | *string* | :heavy_check_mark: | N/A | TV Shows | | `active` | *bool* | :heavy_check_mark: | N/A | false | -| `subtype` | *?string* | :heavy_minus_sign: | N/A | clip | | `filter` | array<[Operations\GetLibraryItemsFilter](../../Models/Operations/GetLibraryItemsFilter.md)> | :heavy_minus_sign: | N/A | | | `sort` | array<[Operations\GetLibraryItemsSort](../../Models/Operations/GetLibraryItemsSort.md)> | :heavy_minus_sign: | N/A | | | `field` | array<[Operations\GetLibraryItemsField](../../Models/Operations/GetLibraryItemsField.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaArtsMetadata.md b/docs/Models/Operations/GetMediaArtsMetadata.md index 0eac7e9..859c4dc 100644 --- a/docs/Models/Operations/GetMediaArtsMetadata.md +++ b/docs/Models/Operations/GetMediaArtsMetadata.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `key` | *string* | :heavy_check_mark: | The URL of the artwork. | https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg | +| `provider` | *?string* | :heavy_minus_sign: | The provider of the artwork. | tmdb | | `ratingKey` | *string* | :heavy_check_mark: | The URL of the artwork. | https://image.tmdb.org/t/p/original/ixgFmf1X59PUZam2qbAfskx2gQr.jpg | | `selected` | *bool* | :heavy_check_mark: | Whether this is the selected artwork. | true | -| `thumb` | *string* | :heavy_check_mark: | The URL of the artwork thumbnail. | https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg | -| `provider` | *?string* | :heavy_minus_sign: | The provider of the artwork. | tmdb | \ No newline at end of file +| `thumb` | *string* | :heavy_check_mark: | The URL of the artwork thumbnail. | https://images.plex.tv/photo?height=270&width=480&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FixgFmf1X59PUZam2qbAfskx2gQr%2Ejpg | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataMediaContainer.md b/docs/Models/Operations/GetMediaMetaDataMediaContainer.md index ace3f33..1c63bc8 100644 --- a/docs/Models/Operations/GetMediaMetaDataMediaContainer.md +++ b/docs/Models/Operations/GetMediaMetaDataMediaContainer.md @@ -10,7 +10,7 @@ | `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | | `librarySectionID` | *int* | :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` | *int* | :heavy_check_mark: | The version number for media tags. | 1734362201 | -| `metadata` | array<[Operations\GetMediaMetaDataMetadata](../../Models/Operations/GetMediaMetaDataMetadata.md)> | :heavy_check_mark: | An array of metadata items. | | -| `librarySectionUUID` | *?string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | \ No newline at end of file +| `metadata` | array<[Operations\GetMediaMetaDataMetadata](../../Models/Operations/GetMediaMetaDataMetadata.md)> | :heavy_check_mark: | An array of metadata items. | | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataMetadata.md b/docs/Models/Operations/GetMediaMetaDataMetadata.md index fd9c1a2..3d6062f 100644 --- a/docs/Models/Operations/GetMediaMetaDataMetadata.md +++ b/docs/Models/Operations/GetMediaMetaDataMetadata.md @@ -6,22 +6,6 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `ratingKey` | *string* | :heavy_check_mark: | The rating key of the metadata item. | 44288 | -| `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 | -| `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 | -| `librarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series | -| `librarySectionID` | *int* | :heavy_check_mark: | The ID of the library section. | 2 | -| `librarySectionKey` | *string* | :heavy_check_mark: | The key of the library section. | /library/sections/2 | -| `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. | -| `year` | *int* | :heavy_check_mark: | The release year. | 2015 | -| `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 | -| `duration` | *int* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 | -| `addedAt` | *int* | :heavy_check_mark: | N/A | 1556281940 | -| `updatedAt` | *int* | :heavy_check_mark: | N/A | 1556281940 | -| `image` | array<[Operations\GetMediaMetaDataImage](../../Models/Operations/GetMediaMetaDataImage.md)> | :heavy_check_mark: | An array of image objects. | | -| `ultraBlurColors` | [Operations\GetMediaMetaDataUltraBlurColors](../../Models/Operations/GetMediaMetaDataUltraBlurColors.md) | :heavy_check_mark: | N/A | | | `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 | @@ -29,10 +13,18 @@ | `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` | *int* | :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_minus_sign: | 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` | *?int* | :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 | @@ -40,22 +32,30 @@ | `viewCount` | *?int* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 | | `skipCount` | *?int* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 | | `lastViewedAt` | *?int* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 | +| `year` | *int* | :heavy_check_mark: | The release year. | 2015 | | `rating` | *?float* | :heavy_minus_sign: | The general rating | 6 | | `ratingImage` | *?string* | :heavy_minus_sign: | The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image). | rottentomatoes://image.rating.ripe | | `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` | *int* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 | | `originallyAvailableAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | The original release date. | 2015-02-08 | | `leafCount` | *?int* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 | | `viewedLeafCount` | *?int* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 | | `childCount` | *?int* | :heavy_minus_sign: | The number of child items. | 6 | +| `addedAt` | *int* | :heavy_check_mark: | N/A | 1556281940 | +| `updatedAt` | *int* | :heavy_check_mark: | N/A | 1556281940 | | `audienceRatingImage` | *?string* | :heavy_minus_sign: | The URL for the audience rating image. | themoviedb://image.rating | | `parentIndex` | *?int* | :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` | array<[Operations\GetMediaMetaDataMedia](../../Models/Operations/GetMediaMetaDataMedia.md)> | :heavy_minus_sign: | N/A | | +| `image` | array<[Operations\GetMediaMetaDataImage](../../Models/Operations/GetMediaMetaDataImage.md)> | :heavy_check_mark: | An array of image objects. | | +| `ultraBlurColors` | [Operations\GetMediaMetaDataUltraBlurColors](../../Models/Operations/GetMediaMetaDataUltraBlurColors.md) | :heavy_check_mark: | N/A | | | `genre` | array<[Operations\GetMediaMetaDataGenre](../../Models/Operations/GetMediaMetaDataGenre.md)> | :heavy_minus_sign: | An array of genre tags. | | | `country` | array<[Operations\GetMediaMetaDataCountry](../../Models/Operations/GetMediaMetaDataCountry.md)> | :heavy_minus_sign: | An array of country tags. | | | `guids` | array<[Operations\GetMediaMetaDataGuids](../../Models/Operations/GetMediaMetaDataGuids.md)> | :heavy_minus_sign: | An array of GUID objects. | | diff --git a/docs/Models/Operations/GetMediaMetaDataPart.md b/docs/Models/Operations/GetMediaMetaDataPart.md index 90d8a1f..9145e8e 100644 --- a/docs/Models/Operations/GetMediaMetaDataPart.md +++ b/docs/Models/Operations/GetMediaMetaDataPart.md @@ -5,14 +5,14 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique part identifier. | 418385 | -| `key` | *string* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | -| `file` | *string* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | -| `size` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 | | `accessible` | *?bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true | | `exists` | *?bool* | :heavy_minus_sign: | Indicates if the part exists. | true | +| `id` | *int* | :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` | *?int* | :heavy_minus_sign: | 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` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 | | `packetLength` | *?int* | :heavy_minus_sign: | N/A | 188 | | `container` | *?string* | :heavy_minus_sign: | Container format of the part. | mkv | | `videoProfile` | *?string* | :heavy_minus_sign: | Video profile for the part. | main 10 | diff --git a/docs/Models/Operations/GetMediaMetaDataStream.md b/docs/Models/Operations/GetMediaMetaDataStream.md index fa04b99..4e42bff 100644 --- a/docs/Models/Operations/GetMediaMetaDataStream.md +++ b/docs/Models/Operations/GetMediaMetaDataStream.md @@ -7,11 +7,9 @@ | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 | | `streamType` | *int* | :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` | *int* | :heavy_check_mark: | Index of the stream. | 0 | -| `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) | -| `default` | *?bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `bitrate` | *?int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | | `language` | *?string* | :heavy_minus_sign: | Language of the stream. | English | | `languageTag` | *?string* | :heavy_minus_sign: | Language tag (e.g., en). | en | @@ -45,6 +43,8 @@ | `embeddedInVideo` | *?string* | :heavy_minus_sign: | N/A | progressive | | `refFrames` | *?int* | :heavy_minus_sign: | Number of reference frames. | 1 | | `width` | *?int* | :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` | *?int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | diff --git a/docs/Models/Operations/GetMediaPostersMetadata.md b/docs/Models/Operations/GetMediaPostersMetadata.md index 04e66b8..63a8fc6 100644 --- a/docs/Models/Operations/GetMediaPostersMetadata.md +++ b/docs/Models/Operations/GetMediaPostersMetadata.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `key` | *string* | :heavy_check_mark: | The URL of the poster. | https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg | +| `provider` | *?string* | :heavy_minus_sign: | The provider of the poster. | tmdb | | `ratingKey` | *string* | :heavy_check_mark: | The URL of the poster. | https://image.tmdb.org/t/p/original/hntBJjqbv4m0Iyniqaztv9xaudI.jpg | | `selected` | *bool* | :heavy_check_mark: | Whether this is the selected poster. | true | -| `thumb` | *string* | :heavy_check_mark: | The URL of the poster thumbnail. | https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg | -| `provider` | *?string* | :heavy_minus_sign: | The provider of the poster. | tmdb | \ No newline at end of file +| `thumb` | *string* | :heavy_check_mark: | The URL of the poster thumbnail. | https://images.plex.tv/photo?height=336&width=225&minSize=1&upscale=1&url=https%3A%2F%2Fimage%2Etmdb%2Eorg%2Ft%2Fp%2Foriginal%2FhntBJjqbv4m0Iyniqaztv9xaudI%2Ejpg | \ No newline at end of file diff --git a/docs/Models/Operations/GetPinAuthPinContainer.md b/docs/Models/Operations/GetPinAuthPinContainer.md index 365f939..1059ad1 100644 --- a/docs/Models/Operations/GetPinAuthPinContainer.md +++ b/docs/Models/Operations/GetPinAuthPinContainer.md @@ -10,12 +10,12 @@ Requests a new pin id used in the authentication flow | `id` | *int* | :heavy_check_mark: | N/A | 308667304 | | `code` | *string* | :heavy_check_mark: | N/A | 7RQZ | | `product` | *string* | :heavy_check_mark: | N/A | Tautulli | +| `trusted` | *?bool* | :heavy_minus_sign: | N/A | | | `qr` | *string* | :heavy_check_mark: | N/A | https://plex.tv/api/v2/pins/qr/7RQZ | | `clientIdentifier` | *string* | :heavy_check_mark: | The X-Client-Identifier used in the request | Tautulli | | `location` | [Operations\GeoData](../../Models/Operations/GeoData.md) | :heavy_check_mark: | Geo location data | {
"code": "VI",
"continent_code": "NA",
"country": "United States Virgin Islands",
"city": "Amsterdam",
"european_union_member": true,
"time_zone": "America/St_Thomas",
"postal_code": 802,
"in_privacy_restricted_country": true,
"in_privacy_restricted_region": true,
"subdivisions": "Saint Thomas",
"coordinates": "18.3381, -64.8941"
} | +| `expiresIn` | *?int* | :heavy_minus_sign: | The number of seconds this pin expires, by default 900 seconds | 876 | | `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | 2024-07-16T17:03:05Z | | `expiresAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | 2024-07-16T17:18:05Z | -| `trusted` | *?bool* | :heavy_minus_sign: | N/A | | -| `expiresIn` | *?int* | :heavy_minus_sign: | The number of seconds this pin expires, by default 900 seconds | 876 | | `authToken` | *?string* | :heavy_minus_sign: | N/A | gcgzw5rz2xovp84b4vha3a40 | | `newRegistration` | *mixed* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetPinRequest.md b/docs/Models/Operations/GetPinRequest.md index 4f96acd..6ca6ca6 100644 --- a/docs/Models/Operations/GetPinRequest.md +++ b/docs/Models/Operations/GetPinRequest.md @@ -5,8 +5,8 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | -| `clientID` | *string* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 | | `strong` | *?bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call
Strong codes are used for Pin authentication flows
Non-Strong codes are used for `Plex.tv/link`
| | +| `clientID` | *string* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 | | `clientName` | *?string* | :heavy_minus_sign: | The name of the client application. (Plex Web, Plex Media Server, etc.) | Plex for Roku | | `deviceNickname` | *?string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 | | `clientVersion` | *?string* | :heavy_minus_sign: | The version of the client application. | 2.4.1 | diff --git a/docs/Models/Operations/GetRecentlyAddedLibraryRequest.md b/docs/Models/Operations/GetRecentlyAddedLibraryRequest.md index 73eba09..fb8746a 100644 --- a/docs/Models/Operations/GetRecentlyAddedLibraryRequest.md +++ b/docs/Models/Operations/GetRecentlyAddedLibraryRequest.md @@ -5,10 +5,10 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | [Operations\QueryParamType](../../Models/Operations/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 | | `contentDirectoryID` | *?int* | :heavy_minus_sign: | N/A | 2 | | `pinnedContentDirectoryID` | array<*int*> | :heavy_minus_sign: | N/A | [
3,
5,
7,
13,
12,
1,
6,
14,
2,
10,
16,
17
] | | `sectionID` | *?int* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `type` | [Operations\QueryParamType](../../Models/Operations/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` | [?Operations\QueryParamIncludeMeta](../../Models/Operations/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/Operations/GetRecentlyAddedLibraryType.md b/docs/Models/Operations/GetRecentlyAddedLibraryType.md index 105e044..676000c 100644 --- a/docs/Models/Operations/GetRecentlyAddedLibraryType.md +++ b/docs/Models/Operations/GetRecentlyAddedLibraryType.md @@ -7,9 +7,9 @@ | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | | `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | | `type` | *string* | :heavy_check_mark: | N/A | filter | +| `subtype` | *?string* | :heavy_minus_sign: | N/A | clip | | `title` | *string* | :heavy_check_mark: | N/A | TV Shows | | `active` | *bool* | :heavy_check_mark: | N/A | false | -| `subtype` | *?string* | :heavy_minus_sign: | N/A | clip | | `filter` | array<[Operations\GetRecentlyAddedLibraryFilter](../../Models/Operations/GetRecentlyAddedLibraryFilter.md)> | :heavy_minus_sign: | N/A | | | `sort` | array<[Operations\Sort](../../Models/Operations/Sort.md)> | :heavy_minus_sign: | N/A | | | `field` | array<[Operations\Field](../../Models/Operations/Field.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetRecentlyAddedMetadata.md b/docs/Models/Operations/GetRecentlyAddedMetadata.md index dde3313..57887b9 100644 --- a/docs/Models/Operations/GetRecentlyAddedMetadata.md +++ b/docs/Models/Operations/GetRecentlyAddedMetadata.md @@ -10,34 +10,14 @@ Unknown | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `addedAt` | *int* | :heavy_check_mark: | N/A | 1556281940 | | `art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 | -| `audienceRating` | *float* | :heavy_check_mark: | The audience rating for the media item. | 9.2 | -| `childCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | -| `duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | -| `guid` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 | -| `index` | *int* | :heavy_check_mark: | The index position of the media item. | 1 | -| `key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 | -| `librarySectionID` | *int* | :heavy_check_mark: | The identifier for the library section. | 1 | -| `librarySectionKey` | *string* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | -| `librarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | Movies | -| `originallyAvailableAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | -| `parentStudio` | *string* | :heavy_check_mark: | The studio of the parent media item. | UCP | -| `parentTheme` | *string* | :heavy_check_mark: | The theme URL for the parent media item. | /library/metadata/66/theme/1705716261 | -| `ratingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 | -| `rating` | *float* | :heavy_check_mark: | The critic rating for the media item. | 7.6 | -| `seasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | -| `slug` | *string* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas | -| `summary` | *string* | :heavy_check_mark: | A synopsis of the media item. | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.
Once a familiar threat returns to finish what was previously started, Jake must
work with Neytiri and the army of the Na'vi race to protect their home.
| -| `tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. | -| `theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 | -| `thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 | -| `titleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale | -| `title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water | -| `type` | [Operations\GetRecentlyAddedHubsType](../../Models/Operations/GetRecentlyAddedHubsType.md) | :heavy_check_mark: | N/A | movie | | `audienceRatingImage` | *?string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | +| `audienceRating` | *float* | :heavy_check_mark: | The audience rating for the media item. | 9.2 | | `chapterSource` | *?string* | :heavy_minus_sign: | The source from which chapter data is derived. | media | +| `childCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | | `contentRating` | *?string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 | | `createdAtAccuracy` | *?string* | :heavy_minus_sign: | The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). | epoch,local | | `createdAtTZOffset` | *?string* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 | +| `duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | | `grandparentArt` | *?string* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 | | `grandparentGuid` | *?string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 | | `grandparentKey` | *?string* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 | @@ -46,23 +26,43 @@ Unknown | `grandparentTheme` | *?string* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 | | `grandparentThumb` | *?string* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 | | `grandparentTitle` | *?string* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica | +| `guid` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 | +| `index` | *int* | :heavy_check_mark: | The index position of the media item. | 1 | +| `key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 | | `lastRatedAt` | *?int* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 | | `lastViewedAt` | *?int* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 | | `leafCount` | *?int* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | +| `librarySectionID` | *int* | :heavy_check_mark: | The identifier for the library section. | 1 | +| `librarySectionKey` | *string* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | +| `librarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | Movies | | `originalTitle` | *?string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 | +| `originallyAvailableAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | | `parentGuid` | *?string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 | | `parentIndex` | *?int* | :heavy_minus_sign: | The index position of the parent media item. | 1 | | `parentKey` | *?string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 | | `parentRatingKey` | *?string* | :heavy_minus_sign: | The rating key of the parent media item. | 66 | | `parentSlug` | *?string* | :heavy_minus_sign: | The slug for the parent media item. | alice-in-borderland-2020 | +| `parentStudio` | *string* | :heavy_check_mark: | The studio of the parent media item. | UCP | +| `parentTheme` | *string* | :heavy_check_mark: | The theme URL for the parent media item. | /library/metadata/66/theme/1705716261 | | `parentThumb` | *?string* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 | | `parentTitle` | *?string* | :heavy_minus_sign: | The title of the parent media item. | Caprica | | `parentYear` | *?int* | :heavy_minus_sign: | The release year of the parent media item. | 2010 | | `primaryExtraKey` | *?string* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 | | `ratingImage` | *?string* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe | +| `ratingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 | +| `rating` | *float* | :heavy_check_mark: | The critic rating for the media item. | 7.6 | +| `seasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | | `skipCount` | *?int* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 | +| `slug` | *string* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas | | `studio` | *?string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios | | `subtype` | *?string* | :heavy_minus_sign: | A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. | clip | +| `summary` | *string* | :heavy_check_mark: | A synopsis of the media item. | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.
Once a familiar threat returns to finish what was previously started, Jake must
work with Neytiri and the army of the Na'vi race to protect their home.
| +| `tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. | +| `theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 | +| `thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 | +| `titleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale | +| `title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water | +| `type` | [Operations\GetRecentlyAddedHubsType](../../Models/Operations/GetRecentlyAddedHubsType.md) | :heavy_check_mark: | N/A | movie | | `updatedAt` | *?int* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | | `userRating` | *?float* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 | | `viewCount` | *?int* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 | diff --git a/docs/Models/Operations/GetRecentlyAddedRequest.md b/docs/Models/Operations/GetRecentlyAddedRequest.md index 987f351..6ac41b0 100644 --- a/docs/Models/Operations/GetRecentlyAddedRequest.md +++ b/docs/Models/Operations/GetRecentlyAddedRequest.md @@ -6,9 +6,9 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `contentDirectoryID` | *int* | :heavy_check_mark: | The content directory ID. | | -| `type` | [Operations\Type](../../Models/Operations/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 | | `pinnedContentDirectoryID` | *?string* | :heavy_minus_sign: | Comma-separated list of pinned content directory IDs. | | | `sectionID` | *?int* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `type` | [Operations\Type](../../Models/Operations/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` | [?Operations\IncludeMeta](../../Models/Operations/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/Operations/GetRecentlyAddedSort.md b/docs/Models/Operations/GetRecentlyAddedSort.md index 57ffb3e..04bd889 100644 --- a/docs/Models/Operations/GetRecentlyAddedSort.md +++ b/docs/Models/Operations/GetRecentlyAddedSort.md @@ -5,11 +5,11 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -| `key` | *string* | :heavy_check_mark: | N/A | titleSort | -| `title` | *string* | :heavy_check_mark: | N/A | Title | | `default` | *?string* | :heavy_minus_sign: | N/A | asc | | `active` | *?bool* | :heavy_minus_sign: | N/A | false | | `activeDirection` | [?Operations\GetRecentlyAddedActiveDirection](../../Models/Operations/GetRecentlyAddedActiveDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | | `defaultDirection` | [?Operations\GetRecentlyAddedDefaultDirection](../../Models/Operations/GetRecentlyAddedDefaultDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | | `descKey` | *?string* | :heavy_minus_sign: | N/A | titleSort:desc | -| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | \ No newline at end of file +| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *string* | :heavy_check_mark: | N/A | titleSort | +| `title` | *string* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/Models/Operations/GetRecentlyAddedType.md b/docs/Models/Operations/GetRecentlyAddedType.md index 807e0ba..cf4a760 100644 --- a/docs/Models/Operations/GetRecentlyAddedType.md +++ b/docs/Models/Operations/GetRecentlyAddedType.md @@ -7,9 +7,9 @@ | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | | `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | | `type` | *string* | :heavy_check_mark: | N/A | filter | +| `subtype` | *?string* | :heavy_minus_sign: | N/A | clip | | `title` | *string* | :heavy_check_mark: | N/A | TV Shows | | `active` | *bool* | :heavy_check_mark: | N/A | false | -| `subtype` | *?string* | :heavy_minus_sign: | N/A | clip | | `filter` | array<[Operations\GetRecentlyAddedFilter](../../Models/Operations/GetRecentlyAddedFilter.md)> | :heavy_minus_sign: | N/A | | | `sort` | array<[Operations\GetRecentlyAddedSort](../../Models/Operations/GetRecentlyAddedSort.md)> | :heavy_minus_sign: | N/A | | | `field` | array<[Operations\GetRecentlyAddedField](../../Models/Operations/GetRecentlyAddedField.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetRefreshLibraryMetadataRequest.md b/docs/Models/Operations/GetRefreshLibraryMetadataRequest.md index 1b080e0..8db8703 100644 --- a/docs/Models/Operations/GetRefreshLibraryMetadataRequest.md +++ b/docs/Models/Operations/GetRefreshLibraryMetadataRequest.md @@ -5,5 +5,5 @@ | 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 | -| `force` | [?Operations\Force](../../Models/Operations/Force.md) | :heavy_minus_sign: | Force the refresh even if the library is already being refreshed. | 0 | \ No newline at end of file +| `force` | [?Operations\Force](../../Models/Operations/Force.md) | :heavy_minus_sign: | Force the refresh even if the library is already being refreshed. | 0 | +| `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 diff --git a/docs/Models/Operations/GetSearchAllLibrariesMedia.md b/docs/Models/Operations/GetSearchAllLibrariesMedia.md index 32e91b1..ae22ed6 100644 --- a/docs/Models/Operations/GetSearchAllLibrariesMedia.md +++ b/docs/Models/Operations/GetSearchAllLibrariesMedia.md @@ -6,8 +6,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | `id` | *int* | :heavy_check_mark: | N/A | 119534 | -| `container` | *string* | :heavy_check_mark: | N/A | mkv | -| `part` | array<[Operations\GetSearchAllLibrariesPart](../../Models/Operations/GetSearchAllLibrariesPart.md)> | :heavy_check_mark: | N/A | | | `duration` | *?int* | :heavy_minus_sign: | N/A | 11558112 | | `bitrate` | *?int* | :heavy_minus_sign: | N/A | 25025 | | `width` | *?int* | :heavy_minus_sign: | N/A | 3840 | @@ -18,8 +16,10 @@ | `audioCodec` | *?string* | :heavy_minus_sign: | N/A | eac3 | | `videoCodec` | *?string* | :heavy_minus_sign: | N/A | hevc | | `videoResolution` | *?string* | :heavy_minus_sign: | N/A | 4k | +| `container` | *string* | :heavy_check_mark: | N/A | mkv | | `videoFrameRate` | *?string* | :heavy_minus_sign: | N/A | 24p | | `videoProfile` | *?string* | :heavy_minus_sign: | N/A | main 10 | | `hasVoiceActivity` | *?bool* | :heavy_minus_sign: | N/A | false | | `optimizedForStreaming` | [?Operations\GetSearchAllLibrariesOptimizedForStreaming](../../Models/Operations/GetSearchAllLibrariesOptimizedForStreaming.md) | :heavy_minus_sign: | N/A | 1 | -| `has64bitOffsets` | *?bool* | :heavy_minus_sign: | N/A | false | \ No newline at end of file +| `has64bitOffsets` | *?bool* | :heavy_minus_sign: | N/A | false | +| `part` | array<[Operations\GetSearchAllLibrariesPart](../../Models/Operations/GetSearchAllLibrariesPart.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetSearchAllLibrariesMetadata.md b/docs/Models/Operations/GetSearchAllLibrariesMetadata.md index 4da103d..9288bac 100644 --- a/docs/Models/Operations/GetSearchAllLibrariesMetadata.md +++ b/docs/Models/Operations/GetSearchAllLibrariesMetadata.md @@ -8,17 +8,16 @@ | `ratingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item.
Note: This is always an integer, but is represented as a string in the API.
| 58683 | | `key` | *string* | :heavy_check_mark: | N/A | /library/metadata/58683 | | `guid` | *string* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | -| `type` | [Operations\GetSearchAllLibrariesType](../../Models/Operations/GetSearchAllLibrariesType.md) | :heavy_check_mark: | The type of media content
| movie | -| `title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | -| `summary` | *string* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | -| `addedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `studio` | *?string* | :heavy_minus_sign: | N/A | 20th Century Studios | | `skipChildren` | *?bool* | :heavy_minus_sign: | N/A | false | | `librarySectionID` | *?int* | :heavy_minus_sign: | N/A | 1 | | `librarySectionTitle` | *?string* | :heavy_minus_sign: | N/A | Movies | | `librarySectionKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `type` | [Operations\GetSearchAllLibrariesType](../../Models/Operations/GetSearchAllLibrariesType.md) | :heavy_check_mark: | The type of media content
| movie | +| `title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | | `slug` | *?string* | :heavy_minus_sign: | N/A | 4-for-texas | | `contentRating` | *?string* | :heavy_minus_sign: | N/A | PG-13 | +| `summary` | *string* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | | `rating` | *?float* | :heavy_minus_sign: | N/A | 7.6 | | `audienceRating` | *?float* | :heavy_minus_sign: | N/A | 9.2 | | `year` | *?int* | :heavy_minus_sign: | N/A | 2022 | @@ -33,6 +32,7 @@ | `banner` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | | `duration` | *?int* | :heavy_minus_sign: | N/A | 11558112 | | `originallyAvailableAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | +| `addedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `updatedAt` | *?int* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | | `audienceRatingImage` | *?string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | | `chapterSource` | *?string* | :heavy_minus_sign: | N/A | media | diff --git a/docs/Models/Operations/GetSearchAllLibrariesPart.md b/docs/Models/Operations/GetSearchAllLibrariesPart.md index 08266d4..b83710d 100644 --- a/docs/Models/Operations/GetSearchAllLibrariesPart.md +++ b/docs/Models/Operations/GetSearchAllLibrariesPart.md @@ -7,10 +7,10 @@ | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | | `id` | *int* | :heavy_check_mark: | N/A | 119542 | | `key` | *string* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | +| `duration` | *?int* | :heavy_minus_sign: | N/A | 11558112 | | `file` | *string* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | | `size` | *int* | :heavy_check_mark: | N/A | 36158371307 | | `container` | *string* | :heavy_check_mark: | The container format of the media file.
| mkv | -| `duration` | *?int* | :heavy_minus_sign: | N/A | 11558112 | | `audioProfile` | *?string* | :heavy_minus_sign: | N/A | dts | | `has64bitOffsets` | *?bool* | :heavy_minus_sign: | N/A | false | | `optimizedForStreaming` | *?bool* | :heavy_minus_sign: | N/A | false | diff --git a/docs/Models/Operations/GetSearchAllLibrariesStream.md b/docs/Models/Operations/GetSearchAllLibrariesStream.md index 32cf88a..d3b85a7 100644 --- a/docs/Models/Operations/GetSearchAllLibrariesStream.md +++ b/docs/Models/Operations/GetSearchAllLibrariesStream.md @@ -7,10 +7,10 @@ | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | | `id` | *int* | :heavy_check_mark: | N/A | 272796 | | `streamType` | *int* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | -| `codec` | *string* | :heavy_check_mark: | Codec used by the stream | h264 | -| `index` | *int* | :heavy_check_mark: | The index of the stream | 0 | | `default` | *?bool* | :heavy_minus_sign: | Indicates if this is the default stream | true | | `selected` | *?bool* | :heavy_minus_sign: | Indicates if the stream is selected | true | +| `codec` | *string* | :heavy_check_mark: | Codec used by the stream | h264 | +| `index` | *int* | :heavy_check_mark: | The index of the stream | 0 | | `bitrate` | *?int* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | | `colorPrimaries` | *?string* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | | `colorRange` | *?string* | :heavy_minus_sign: | The color range of the video stream | tv | diff --git a/docs/Models/Operations/GetServerResourcesRequest.md b/docs/Models/Operations/GetServerResourcesRequest.md index 1d3ab8e..0102f59 100644 --- a/docs/Models/Operations/GetServerResourcesRequest.md +++ b/docs/Models/Operations/GetServerResourcesRequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | -| `clientID` | *string* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 | | `includeHttps` | [?Operations\IncludeHttps](../../Models/Operations/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 | | `includeRelay` | [?Operations\IncludeRelay](../../Models/Operations/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
| 1 | -| `includeIPv6` | [?Operations\IncludeIPv6](../../Models/Operations/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | \ No newline at end of file +| `includeIPv6` | [?Operations\IncludeIPv6](../../Models/Operations/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | +| `clientID` | *string* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 | \ No newline at end of file diff --git a/docs/Models/Operations/GetThumbImageResponse.md b/docs/Models/Operations/GetThumbImageResponse.md index 4816a64..4cf43fe 100644 --- a/docs/Models/Operations/GetThumbImageResponse.md +++ b/docs/Models/Operations/GetThumbImageResponse.md @@ -8,5 +8,5 @@ | `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` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `headers` | array> | :heavy_check_mark: | N/A | -| `bytes` | *?string* | :heavy_minus_sign: | Successful response returning an image | \ No newline at end of file +| `bytes` | *?string* | :heavy_minus_sign: | Successful response returning an image | +| `headers` | array> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/GetTokenByPinIdAuthPinContainer.md b/docs/Models/Operations/GetTokenByPinIdAuthPinContainer.md index c2d58cc..17ffce7 100644 --- a/docs/Models/Operations/GetTokenByPinIdAuthPinContainer.md +++ b/docs/Models/Operations/GetTokenByPinIdAuthPinContainer.md @@ -10,12 +10,12 @@ The Pin with a non-null authToken when it has been verified by the user | `id` | *int* | :heavy_check_mark: | N/A | 308667304 | | `code` | *string* | :heavy_check_mark: | N/A | 7RQZ | | `product` | *string* | :heavy_check_mark: | N/A | Tautulli | +| `trusted` | *?bool* | :heavy_minus_sign: | N/A | | | `qr` | *string* | :heavy_check_mark: | N/A | https://plex.tv/api/v2/pins/qr/7RQZ | | `clientIdentifier` | *string* | :heavy_check_mark: | The X-Client-Identifier used in the request | Tautulli | | `location` | [Operations\GetTokenByPinIdGeoData](../../Models/Operations/GetTokenByPinIdGeoData.md) | :heavy_check_mark: | Geo location data | {
"code": "VI",
"continent_code": "NA",
"country": "United States Virgin Islands",
"city": "Amsterdam",
"european_union_member": true,
"time_zone": "America/St_Thomas",
"postal_code": 802,
"in_privacy_restricted_country": true,
"in_privacy_restricted_region": true,
"subdivisions": "Saint Thomas",
"coordinates": "18.3381, -64.8941"
} | +| `expiresIn` | *?int* | :heavy_minus_sign: | The number of seconds this pin expires, by default 900 seconds | 876 | | `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | 2024-07-16T17:03:05Z | | `expiresAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | 2024-07-16T17:18:05Z | -| `trusted` | *?bool* | :heavy_minus_sign: | N/A | | -| `expiresIn` | *?int* | :heavy_minus_sign: | The number of seconds this pin expires, by default 900 seconds | 876 | | `authToken` | *?string* | :heavy_minus_sign: | N/A | gcgzw5rz2xovp84b4vha3a40 | | `newRegistration` | *mixed* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetTokenByPinIdGeoData.md b/docs/Models/Operations/GetTokenByPinIdGeoData.md index 02b8549..752d74e 100644 --- a/docs/Models/Operations/GetTokenByPinIdGeoData.md +++ b/docs/Models/Operations/GetTokenByPinIdGeoData.md @@ -11,10 +11,10 @@ Geo location data | `continentCode` | *string* | :heavy_check_mark: | The continent code where the country is located. | NA | | `country` | *string* | :heavy_check_mark: | The official name of the country. | United States Virgin Islands | | `city` | *string* | :heavy_check_mark: | The name of the city. | Amsterdam | +| `europeanUnionMember` | *?bool* | :heavy_minus_sign: | Indicates if the country is a member of the European Union. | true | | `timeZone` | *string* | :heavy_check_mark: | The time zone of the country. | America/St_Thomas | | `postalCode` | *string* | :heavy_check_mark: | The postal code of the location. | 802 | -| `subdivisions` | *string* | :heavy_check_mark: | The name of the primary administrative subdivision. | Saint Thomas | -| `coordinates` | *string* | :heavy_check_mark: | The geographical coordinates (latitude, longitude) of the location. | 18.3381, -64.8941 | -| `europeanUnionMember` | *?bool* | :heavy_minus_sign: | Indicates if the country is a member of the European Union. | true | | `inPrivacyRestrictedCountry` | *?bool* | :heavy_minus_sign: | Indicates if the country has privacy restrictions. | true | -| `inPrivacyRestrictedRegion` | *?bool* | :heavy_minus_sign: | Indicates if the region has privacy restrictions. | true | \ No newline at end of file +| `inPrivacyRestrictedRegion` | *?bool* | :heavy_minus_sign: | Indicates if the region has privacy restrictions. | true | +| `subdivisions` | *string* | :heavy_check_mark: | The name of the primary administrative subdivision. | Saint Thomas | +| `coordinates` | *string* | :heavy_check_mark: | The geographical coordinates (latitude, longitude) of the location. | 18.3381, -64.8941 | \ No newline at end of file diff --git a/docs/Models/Operations/GetTokenDetailsSubscription.md b/docs/Models/Operations/GetTokenDetailsSubscription.md index e9bbd1b..9df65a3 100644 --- a/docs/Models/Operations/GetTokenDetailsSubscription.md +++ b/docs/Models/Operations/GetTokenDetailsSubscription.md @@ -7,7 +7,7 @@ | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | `features` | array<*string*> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | | `active` | *?bool* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true | -| `status` | [?Operations\GetTokenDetailsAuthenticationResponseStatus](../../Models/Operations/GetTokenDetailsAuthenticationResponseStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | | `subscribedAt` | *?string* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z | +| `status` | [?Operations\GetTokenDetailsAuthenticationResponseStatus](../../Models/Operations/GetTokenDetailsAuthenticationResponseStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | | `paymentService` | *?string* | :heavy_minus_sign: | Payment service used for your Plex Pass subscription | | | `plan` | *?string* | :heavy_minus_sign: | Name of Plex Pass subscription plan | | \ No newline at end of file diff --git a/docs/Models/Operations/GetTokenDetailsUserPlexAccount.md b/docs/Models/Operations/GetTokenDetailsUserPlexAccount.md index 5a5fb3d..91f203f 100644 --- a/docs/Models/Operations/GetTokenDetailsUserPlexAccount.md +++ b/docs/Models/Operations/GetTokenDetailsUserPlexAccount.md @@ -7,44 +7,44 @@ Logged in user details | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `authToken` | *string* | :heavy_check_mark: | The account token | CxoUzBTSV5hsxjTpFKaf | -| `country` | *string* | :heavy_check_mark: | The account country | US | -| `email` | *string* | :heavy_check_mark: | The account email address | username@email.com | -| `friendlyName` | *string* | :heavy_check_mark: | Your account full name | friendlyUsername | -| `entitlements` | array<*string*> | :heavy_check_mark: | List of devices your allowed to use with this account | | -| `homeSize` | *int* | :heavy_check_mark: | The number of accounts in the Plex Home | 1 | -| `id` | *int* | :heavy_check_mark: | The Plex account ID | 13692262 | -| `joinedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `mailingListStatus` | [Operations\MailingListStatus](../../Models/Operations/MailingListStatus.md) | :heavy_check_mark: | Your current mailing list status (active or unsubscribed) | active | -| `maxHomeSize` | *int* | :heavy_check_mark: | The maximum number of accounts allowed in the Plex Home | 15 | -| `profile` | [Operations\UserProfile](../../Models/Operations/UserProfile.md) | :heavy_check_mark: | N/A | | -| `rememberExpiresAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `scrobbleTypes` | *string* | :heavy_check_mark: | Unknown | | -| `services` | array<[Operations\Services](../../Models/Operations/Services.md)> | :heavy_check_mark: | N/A | | -| `subscription` | [Operations\Subscription](../../Models/Operations/Subscription.md) | :heavy_check_mark: | If the account’s Plex Pass subscription is active | | -| `thumb` | *string* | :heavy_check_mark: | URL of the account thumbnail | https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101 | -| `title` | *string* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle | -| `username` | *string* | :heavy_check_mark: | The account username | Username | -| `uuid` | *string* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f | | `adsConsent` | *bool* | :heavy_check_mark: | Unknown | | | `adsConsentReminderAt` | *int* | :heavy_check_mark: | N/A | 1556281940 | | `adsConsentSetAt` | *int* | :heavy_check_mark: | N/A | 1556281940 | +| `anonymous` | *?bool* | :heavy_minus_sign: | Unknown | | +| `authToken` | *string* | :heavy_check_mark: | The account token | CxoUzBTSV5hsxjTpFKaf | | `backupCodesCreated` | *?bool* | :heavy_minus_sign: | If the two-factor authentication backup codes have been created | | | `confirmed` | *?bool* | :heavy_minus_sign: | If the account has been confirmed | | +| `country` | *string* | :heavy_check_mark: | The account country | US | +| `email` | *string* | :heavy_check_mark: | The account email address | username@email.com | | `emailOnlyAuth` | *?bool* | :heavy_minus_sign: | If login with email only is enabled | | | `experimentalFeatures` | *?bool* | :heavy_minus_sign: | If experimental features are enabled | | +| `friendlyName` | *string* | :heavy_check_mark: | Your account full name | friendlyUsername | +| `entitlements` | array<*string*> | :heavy_check_mark: | List of devices your allowed to use with this account | | | `guest` | *?bool* | :heavy_minus_sign: | If the account is a Plex Home guest user | | | `hasPassword` | *?bool* | :heavy_minus_sign: | If the account has a password | | | `home` | *?bool* | :heavy_minus_sign: | If the account is a Plex Home user | | | `homeAdmin` | *?bool* | :heavy_minus_sign: | If the account is the Plex Home admin | | +| `homeSize` | *int* | :heavy_check_mark: | The number of accounts in the Plex Home | 1 | +| `id` | *int* | :heavy_check_mark: | The Plex account ID | 13692262 | +| `joinedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `locale` | *string* | :heavy_check_mark: | The account locale | | | `mailingListActive` | *?bool* | :heavy_minus_sign: | If you are subscribed to the Plex newsletter | | +| `mailingListStatus` | [Operations\MailingListStatus](../../Models/Operations/MailingListStatus.md) | :heavy_check_mark: | Your current mailing list status (active or unsubscribed) | active | +| `maxHomeSize` | *int* | :heavy_check_mark: | The maximum number of accounts allowed in the Plex Home | 15 | | ~~`pin`~~ | *?string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

[Might be removed] The hashed Plex Home PIN | | +| `profile` | [Operations\UserProfile](../../Models/Operations/UserProfile.md) | :heavy_check_mark: | N/A | | | `protected` | *?bool* | :heavy_minus_sign: | If the account has a Plex Home PIN enabled | | +| `rememberExpiresAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `restricted` | *?bool* | :heavy_minus_sign: | If the account is a Plex Home managed user | | | `roles` | array<*string*> | :heavy_minus_sign: | [Might be removed] List of account roles. Plexpass membership listed here | | +| `scrobbleTypes` | *string* | :heavy_check_mark: | Unknown | | +| `services` | array<[Operations\Services](../../Models/Operations/Services.md)> | :heavy_check_mark: | N/A | | +| `subscription` | [Operations\Subscription](../../Models/Operations/Subscription.md) | :heavy_check_mark: | If the account’s Plex Pass subscription is active | | | `subscriptionDescription` | *string* | :heavy_check_mark: | Description of the Plex Pass subscription | | | `subscriptions` | array<[Operations\GetTokenDetailsSubscription](../../Models/Operations/GetTokenDetailsSubscription.md)> | :heavy_minus_sign: | N/A | | +| `thumb` | *string* | :heavy_check_mark: | URL of the account thumbnail | https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101 | +| `title` | *string* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle | | `twoFactorEnabled` | *?bool* | :heavy_minus_sign: | If two-factor authentication is enabled | | -| `attributionPartner` | *string* | :heavy_check_mark: | N/A | | -| `anonymous` | *?bool* | :heavy_minus_sign: | Unknown | | \ No newline at end of file +| `username` | *string* | :heavy_check_mark: | The account username | Username | +| `uuid` | *string* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f | +| `attributionPartner` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetTopWatchedContentRequest.md b/docs/Models/Operations/GetTopWatchedContentRequest.md index 50b5435..a2a3c63 100644 --- a/docs/Models/Operations/GetTopWatchedContentRequest.md +++ b/docs/Models/Operations/GetTopWatchedContentRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | [Operations\GetTopWatchedContentQueryParamType](../../Models/Operations/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` | *?int* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | \ No newline at end of file +| `includeGuids` | *?int* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| `type` | [Operations\GetTopWatchedContentQueryParamType](../../Models/Operations/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 | \ No newline at end of file diff --git a/docs/Models/Operations/GetUsersRequest.md b/docs/Models/Operations/GetUsersRequest.md index f2356c3..4650bea 100644 --- a/docs/Models/Operations/GetUsersRequest.md +++ b/docs/Models/Operations/GetUsersRequest.md @@ -6,7 +6,6 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | | `clientID` | *string* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 | -| `xPlexToken` | *string* | :heavy_check_mark: | An authentication token, obtained from plex.tv | CV5xoxjTpFKUzBTShsaf | | `clientName` | *?string* | :heavy_minus_sign: | The name of the client application. (Plex Web, Plex Media Server, etc.) | Plex for Roku | | `deviceNickname` | *?string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 | | `deviceName` | *?string* | :heavy_minus_sign: | The name of the device the client application is running on. This is used to track the client application and its usage. (Chrome, Safari, etc.) | Chrome | @@ -17,4 +16,5 @@ | `model` | *?string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X | | `xPlexSessionId` | *?string* | :heavy_minus_sign: | The session ID of the client application. This is used to track the client application and its usage. (97e136ef-4ddd-4ff3-89a7-a5820c96c2ca) | 97e136ef-4ddd-4ff3-89a7-a5820c96c2ca | | `xPlexLanguage` | *?string* | :heavy_minus_sign: | The language of the client application. | en | -| `platformVersion` | *?string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 | \ No newline at end of file +| `platformVersion` | *?string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 | +| `xPlexToken` | *string* | :heavy_check_mark: | An authentication token, obtained from plex.tv | CV5xoxjTpFKUzBTShsaf | \ No newline at end of file diff --git a/docs/Models/Operations/GetWatchListRequest.md b/docs/Models/Operations/GetWatchListRequest.md index 6988f98..cc52d5b 100644 --- a/docs/Models/Operations/GetWatchListRequest.md +++ b/docs/Models/Operations/GetWatchListRequest.md @@ -6,11 +6,11 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `filter` | [Operations\Filter](../../Models/Operations/Filter.md) | :heavy_check_mark: | Filter | | -| `xPlexToken` | *string* | :heavy_check_mark: | An authentication token, obtained from plex.tv | CV5xoxjTpFKUzBTShsaf | | `sort` | *?string* | :heavy_minus_sign: | In the format "field:dir". Available fields are "watchlistedAt" (Added At),
"titleSort" (Title), "originallyAvailableAt" (Release Date), or "rating" (Critic Rating).
"dir" can be "asc" or "desc"
| | | `libtype` | [?Operations\Libtype](../../Models/Operations/Libtype.md) | :heavy_minus_sign: | The type of library to filter. Can be "movie" or "show", or all if not present.
| | | `maxresults` | *?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.
| | | `includeCollections` | [?Operations\IncludeCollections](../../Models/Operations/IncludeCollections.md) | :heavy_minus_sign: | include collections in the results
| | | `includeExternalMedia` | [?Operations\IncludeExternalMedia](../../Models/Operations/IncludeExternalMedia.md) | :heavy_minus_sign: | include external media in the results
| | | `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 +| `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 | +| `xPlexToken` | *string* | :heavy_check_mark: | An authentication token, obtained from plex.tv | CV5xoxjTpFKUzBTShsaf | \ No newline at end of file diff --git a/docs/Models/Operations/Hidden.md b/docs/Models/Operations/Hidden.md new file mode 100644 index 0000000..2a97814 --- /dev/null +++ b/docs/Models/Operations/Hidden.md @@ -0,0 +1,11 @@ +# Hidden + +UNKNOWN + + +## Values + +| Name | Value | +| --------- | --------- | +| `Disable` | 0 | +| `Enable` | 1 | \ No newline at end of file diff --git a/docs/Models/Operations/Part.md b/docs/Models/Operations/Part.md index 47e820e..b993376 100644 --- a/docs/Models/Operations/Part.md +++ b/docs/Models/Operations/Part.md @@ -5,14 +5,14 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique part identifier. | 418385 | -| `key` | *string* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | -| `file` | *string* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | -| `size` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 | | `accessible` | *?bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true | | `exists` | *?bool* | :heavy_minus_sign: | Indicates if the part exists. | true | +| `id` | *int* | :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` | *?int* | :heavy_minus_sign: | 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` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 | | `packetLength` | *?int* | :heavy_minus_sign: | N/A | 188 | | `container` | *?string* | :heavy_minus_sign: | Container format of the part. | mkv | | `videoProfile` | *?string* | :heavy_minus_sign: | Video profile for the part. | main 10 | diff --git a/docs/Models/Operations/PastSubscription.md b/docs/Models/Operations/PastSubscription.md index 53b7a75..e21c55c 100644 --- a/docs/Models/Operations/PastSubscription.md +++ b/docs/Models/Operations/PastSubscription.md @@ -5,9 +5,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | -| `type` | *string* | :heavy_check_mark: | N/A | plexpass | -| `state` | [Operations\PostUsersSignInDataState](../../Models/Operations/PostUsersSignInDataState.md) | :heavy_check_mark: | N/A | ended | -| `billing` | [Operations\Billing](../../Models/Operations/Billing.md) | :heavy_check_mark: | N/A | | | `id` | *string* | :heavy_check_mark: | N/A | | | `mode` | *string* | :heavy_check_mark: | N/A | | | `renewsAt` | *int* | :heavy_check_mark: | N/A | 1556281940 | @@ -19,4 +16,7 @@ | `canUpgrade` | *?bool* | :heavy_minus_sign: | N/A | false | | `canDowngrade` | *?bool* | :heavy_minus_sign: | N/A | false | | `canConvert` | *?bool* | :heavy_minus_sign: | N/A | false | -| `transfer` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file +| `type` | *string* | :heavy_check_mark: | N/A | plexpass | +| `transfer` | *string* | :heavy_check_mark: | N/A | | +| `state` | [Operations\PostUsersSignInDataState](../../Models/Operations/PostUsersSignInDataState.md) | :heavy_check_mark: | N/A | ended | +| `billing` | [Operations\Billing](../../Models/Operations/Billing.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/PlexDevice.md b/docs/Models/Operations/PlexDevice.md index 6de1b2c..c6c27c4 100644 --- a/docs/Models/Operations/PlexDevice.md +++ b/docs/Models/Operations/PlexDevice.md @@ -8,10 +8,15 @@ | `name` | *string* | :heavy_check_mark: | N/A | | | `product` | *string* | :heavy_check_mark: | N/A | | | `productVersion` | *string* | :heavy_check_mark: | N/A | | +| `platform` | *string* | :heavy_check_mark: | N/A | | +| `platformVersion` | *string* | :heavy_check_mark: | N/A | | +| `device` | *string* | :heavy_check_mark: | N/A | | | `clientIdentifier` | *string* | :heavy_check_mark: | N/A | | | `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | 2019-06-24T11:38:02Z | | `lastSeenAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | 2019-06-24T11:38:02Z | | `provides` | *string* | :heavy_check_mark: | N/A | | +| `ownerId` | *int* | :heavy_check_mark: | ownerId is null when the device is owned by the token used to send the request | | +| `sourceTitle` | *string* | :heavy_check_mark: | N/A | | | `publicAddress` | *string* | :heavy_check_mark: | N/A | | | `accessToken` | *string* | :heavy_check_mark: | N/A | | | `owned` | *bool* | :heavy_check_mark: | N/A | | @@ -23,9 +28,4 @@ | `publicAddressMatches` | *bool* | :heavy_check_mark: | N/A | | | `dnsRebindingProtection` | *bool* | :heavy_check_mark: | N/A | | | `natLoopbackSupported` | *bool* | :heavy_check_mark: | N/A | | -| `connections` | array<[Operations\Connections](../../Models/Operations/Connections.md)> | :heavy_check_mark: | N/A | | -| `platform` | *string* | :heavy_check_mark: | N/A | | -| `platformVersion` | *string* | :heavy_check_mark: | N/A | | -| `device` | *string* | :heavy_check_mark: | N/A | | -| `ownerId` | *int* | :heavy_check_mark: | ownerId is null when the device is owned by the token used to send the request | | -| `sourceTitle` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file +| `connections` | array<[Operations\Connections](../../Models/Operations/Connections.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/PostUsersSignInDataAuthenticationSubscription.md b/docs/Models/Operations/PostUsersSignInDataAuthenticationSubscription.md index 2f15d51..6806124 100644 --- a/docs/Models/Operations/PostUsersSignInDataAuthenticationSubscription.md +++ b/docs/Models/Operations/PostUsersSignInDataAuthenticationSubscription.md @@ -7,7 +7,7 @@ | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | `features` | array<*string*> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | | `active` | *?bool* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true | -| `status` | [?Operations\PostUsersSignInDataAuthenticationResponseStatus](../../Models/Operations/PostUsersSignInDataAuthenticationResponseStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | | `subscribedAt` | *?string* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z | +| `status` | [?Operations\PostUsersSignInDataAuthenticationResponseStatus](../../Models/Operations/PostUsersSignInDataAuthenticationResponseStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | | `paymentService` | *?string* | :heavy_minus_sign: | Payment service used for your Plex Pass subscription | | | `plan` | *?string* | :heavy_minus_sign: | Name of Plex Pass subscription plan | | \ No newline at end of file diff --git a/docs/Models/Operations/PostUsersSignInDataServices.md b/docs/Models/Operations/PostUsersSignInDataServices.md index 552d050..20e0757 100644 --- a/docs/Models/Operations/PostUsersSignInDataServices.md +++ b/docs/Models/Operations/PostUsersSignInDataServices.md @@ -7,6 +7,6 @@ | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `identifier` | *string* | :heavy_check_mark: | N/A | metadata-dev | | `endpoint` | *string* | :heavy_check_mark: | N/A | https://epg.provider.plex.tv | -| `status` | [Operations\PostUsersSignInDataStatus](../../Models/Operations/PostUsersSignInDataStatus.md) | :heavy_check_mark: | N/A | online | | `token` | *string* | :heavy_check_mark: | N/A | DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv | -| `secret` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file +| `secret` | *string* | :heavy_check_mark: | N/A | | +| `status` | [Operations\PostUsersSignInDataStatus](../../Models/Operations/PostUsersSignInDataStatus.md) | :heavy_check_mark: | N/A | online | \ No newline at end of file diff --git a/docs/Models/Operations/PostUsersSignInDataSubscription.md b/docs/Models/Operations/PostUsersSignInDataSubscription.md index bf8fa7f..9f3c130 100644 --- a/docs/Models/Operations/PostUsersSignInDataSubscription.md +++ b/docs/Models/Operations/PostUsersSignInDataSubscription.md @@ -9,7 +9,7 @@ If the account’s Plex Pass subscription is active | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | `features` | array<*string*> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | | `active` | *?bool* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true | -| `status` | [?Operations\PostUsersSignInDataAuthenticationStatus](../../Models/Operations/PostUsersSignInDataAuthenticationStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | | `subscribedAt` | *?string* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z | +| `status` | [?Operations\PostUsersSignInDataAuthenticationStatus](../../Models/Operations/PostUsersSignInDataAuthenticationStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | | `paymentService` | *?string* | :heavy_minus_sign: | Payment service used for your Plex Pass subscription | | | `plan` | *?string* | :heavy_minus_sign: | Name of Plex Pass subscription plan | | \ No newline at end of file diff --git a/docs/Models/Operations/PostUsersSignInDataUserPlexAccount.md b/docs/Models/Operations/PostUsersSignInDataUserPlexAccount.md index bf6255f..3123a14 100644 --- a/docs/Models/Operations/PostUsersSignInDataUserPlexAccount.md +++ b/docs/Models/Operations/PostUsersSignInDataUserPlexAccount.md @@ -7,46 +7,46 @@ Returns the user account data with a valid auth token | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `authToken` | *string* | :heavy_check_mark: | The account token | CxoUzBTSV5hsxjTpFKaf | -| `country` | *string* | :heavy_check_mark: | The account country | US | -| `email` | *string* | :heavy_check_mark: | The account email address | username@email.com | -| `friendlyName` | *string* | :heavy_check_mark: | Your account full name | friendlyUsername | -| `entitlements` | array<*string*> | :heavy_check_mark: | List of devices your allowed to use with this account | | -| `homeSize` | *int* | :heavy_check_mark: | The number of accounts in the Plex Home | 1 | -| `id` | *int* | :heavy_check_mark: | The Plex account ID | 13692262 | -| `joinedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `mailingListStatus` | [Operations\PostUsersSignInDataMailingListStatus](../../Models/Operations/PostUsersSignInDataMailingListStatus.md) | :heavy_check_mark: | Your current mailing list status (active or unsubscribed) | active | -| `maxHomeSize` | *int* | :heavy_check_mark: | The maximum number of accounts allowed in the Plex Home | 15 | -| `profile` | [Operations\PostUsersSignInDataUserProfile](../../Models/Operations/PostUsersSignInDataUserProfile.md) | :heavy_check_mark: | N/A | | -| `rememberExpiresAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `scrobbleTypes` | *string* | :heavy_check_mark: | Unknown | | -| `services` | array<[Operations\PostUsersSignInDataServices](../../Models/Operations/PostUsersSignInDataServices.md)> | :heavy_check_mark: | N/A | | -| `subscription` | [Operations\PostUsersSignInDataSubscription](../../Models/Operations/PostUsersSignInDataSubscription.md) | :heavy_check_mark: | If the account’s Plex Pass subscription is active | | -| `thumb` | *string* | :heavy_check_mark: | URL of the account thumbnail | https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101 | -| `title` | *string* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle | -| `username` | *string* | :heavy_check_mark: | The account username | Username | -| `uuid` | *string* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f | -| `pastSubscriptions` | array<[Operations\PastSubscription](../../Models/Operations/PastSubscription.md)> | :heavy_check_mark: | N/A | | -| `trials` | array<[Operations\Trials](../../Models/Operations/Trials.md)> | :heavy_check_mark: | N/A | | | `adsConsent` | *bool* | :heavy_check_mark: | Unknown | | | `adsConsentReminderAt` | *int* | :heavy_check_mark: | N/A | 1556281940 | | `adsConsentSetAt` | *int* | :heavy_check_mark: | N/A | 1556281940 | +| `anonymous` | *?bool* | :heavy_minus_sign: | Unknown | | +| `authToken` | *string* | :heavy_check_mark: | The account token | CxoUzBTSV5hsxjTpFKaf | | `backupCodesCreated` | *?bool* | :heavy_minus_sign: | If the two-factor authentication backup codes have been created | | | `confirmed` | *?bool* | :heavy_minus_sign: | If the account has been confirmed | | +| `country` | *string* | :heavy_check_mark: | The account country | US | +| `email` | *string* | :heavy_check_mark: | The account email address | username@email.com | | `emailOnlyAuth` | *?bool* | :heavy_minus_sign: | If login with email only is enabled | | | `experimentalFeatures` | *?bool* | :heavy_minus_sign: | If experimental features are enabled | | +| `friendlyName` | *string* | :heavy_check_mark: | Your account full name | friendlyUsername | +| `entitlements` | array<*string*> | :heavy_check_mark: | List of devices your allowed to use with this account | | | `guest` | *?bool* | :heavy_minus_sign: | If the account is a Plex Home guest user | | | `hasPassword` | *?bool* | :heavy_minus_sign: | If the account has a password | | | `home` | *?bool* | :heavy_minus_sign: | If the account is a Plex Home user | | | `homeAdmin` | *?bool* | :heavy_minus_sign: | If the account is the Plex Home admin | | +| `homeSize` | *int* | :heavy_check_mark: | The number of accounts in the Plex Home | 1 | +| `id` | *int* | :heavy_check_mark: | The Plex account ID | 13692262 | +| `joinedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `locale` | *string* | :heavy_check_mark: | The account locale | | | `mailingListActive` | *?bool* | :heavy_minus_sign: | If you are subscribed to the Plex newsletter | | +| `mailingListStatus` | [Operations\PostUsersSignInDataMailingListStatus](../../Models/Operations/PostUsersSignInDataMailingListStatus.md) | :heavy_check_mark: | Your current mailing list status (active or unsubscribed) | active | +| `maxHomeSize` | *int* | :heavy_check_mark: | The maximum number of accounts allowed in the Plex Home | 15 | | ~~`pin`~~ | *?string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

[Might be removed] The hashed Plex Home PIN | | +| `profile` | [Operations\PostUsersSignInDataUserProfile](../../Models/Operations/PostUsersSignInDataUserProfile.md) | :heavy_check_mark: | N/A | | | `protected` | *?bool* | :heavy_minus_sign: | If the account has a Plex Home PIN enabled | | +| `rememberExpiresAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `restricted` | *?bool* | :heavy_minus_sign: | If the account is a Plex Home managed user | | | `roles` | array<*string*> | :heavy_minus_sign: | [Might be removed] List of account roles. Plexpass membership listed here | | +| `scrobbleTypes` | *string* | :heavy_check_mark: | Unknown | | +| `services` | array<[Operations\PostUsersSignInDataServices](../../Models/Operations/PostUsersSignInDataServices.md)> | :heavy_check_mark: | N/A | | +| `subscription` | [Operations\PostUsersSignInDataSubscription](../../Models/Operations/PostUsersSignInDataSubscription.md) | :heavy_check_mark: | If the account’s Plex Pass subscription is active | | | `subscriptionDescription` | *string* | :heavy_check_mark: | Description of the Plex Pass subscription | | | `subscriptions` | array<[Operations\PostUsersSignInDataAuthenticationSubscription](../../Models/Operations/PostUsersSignInDataAuthenticationSubscription.md)> | :heavy_minus_sign: | N/A | | +| `thumb` | *string* | :heavy_check_mark: | URL of the account thumbnail | https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101 | +| `title` | *string* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle | | `twoFactorEnabled` | *?bool* | :heavy_minus_sign: | If two-factor authentication is enabled | | +| `username` | *string* | :heavy_check_mark: | The account username | Username | +| `uuid` | *string* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f | | `attributionPartner` | *string* | :heavy_check_mark: | N/A | | -| `anonymous` | *?bool* | :heavy_minus_sign: | Unknown | | \ No newline at end of file +| `pastSubscriptions` | array<[Operations\PastSubscription](../../Models/Operations/PastSubscription.md)> | :heavy_check_mark: | N/A | | +| `trials` | array<[Operations\Trials](../../Models/Operations/Trials.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/Services.md b/docs/Models/Operations/Services.md index 6633792..eedb7a9 100644 --- a/docs/Models/Operations/Services.md +++ b/docs/Models/Operations/Services.md @@ -7,6 +7,6 @@ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | | `identifier` | *string* | :heavy_check_mark: | N/A | metadata-dev | | `endpoint` | *string* | :heavy_check_mark: | N/A | https://epg.provider.plex.tv | -| `status` | [Operations\GetTokenDetailsStatus](../../Models/Operations/GetTokenDetailsStatus.md) | :heavy_check_mark: | N/A | online | | `token` | *string* | :heavy_check_mark: | N/A | DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv | -| `secret` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file +| `secret` | *string* | :heavy_check_mark: | N/A | | +| `status` | [Operations\GetTokenDetailsStatus](../../Models/Operations/GetTokenDetailsStatus.md) | :heavy_check_mark: | N/A | online | \ No newline at end of file diff --git a/docs/Models/Operations/Sort.md b/docs/Models/Operations/Sort.md index e091f2b..01a0a06 100644 --- a/docs/Models/Operations/Sort.md +++ b/docs/Models/Operations/Sort.md @@ -5,11 +5,11 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -| `key` | *string* | :heavy_check_mark: | N/A | titleSort | -| `title` | *string* | :heavy_check_mark: | N/A | Title | | `default` | *?string* | :heavy_minus_sign: | N/A | asc | | `active` | *?bool* | :heavy_minus_sign: | N/A | false | | `activeDirection` | [?Operations\ActiveDirection](../../Models/Operations/ActiveDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | | `defaultDirection` | [?Operations\DefaultDirection](../../Models/Operations/DefaultDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | | `descKey` | *?string* | :heavy_minus_sign: | N/A | titleSort:desc | -| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | \ No newline at end of file +| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *string* | :heavy_check_mark: | N/A | titleSort | +| `title` | *string* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/Models/Operations/Stream.md b/docs/Models/Operations/Stream.md index 2ec5fab..0cd10f7 100644 --- a/docs/Models/Operations/Stream.md +++ b/docs/Models/Operations/Stream.md @@ -7,11 +7,9 @@ | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 | | `streamType` | *int* | :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` | *int* | :heavy_check_mark: | Index of the stream. | 0 | -| `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) | -| `default` | *?bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `bitrate` | *?int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | | `language` | *?string* | :heavy_minus_sign: | Language of the stream. | English | | `languageTag` | *?string* | :heavy_minus_sign: | Language tag (e.g., en). | en | @@ -45,6 +43,8 @@ | `embeddedInVideo` | *?string* | :heavy_minus_sign: | N/A | progressive | | `refFrames` | *?int* | :heavy_minus_sign: | Number of reference frames. | 1 | | `width` | *?int* | :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` | *?int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | diff --git a/docs/Models/Operations/Subscription.md b/docs/Models/Operations/Subscription.md index 9045004..a82cf17 100644 --- a/docs/Models/Operations/Subscription.md +++ b/docs/Models/Operations/Subscription.md @@ -9,7 +9,7 @@ If the account’s Plex Pass subscription is active | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | | `features` | array<*string*> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | | `active` | *?bool* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true | -| `status` | [?Operations\GetTokenDetailsAuthenticationStatus](../../Models/Operations/GetTokenDetailsAuthenticationStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | | `subscribedAt` | *?string* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z | +| `status` | [?Operations\GetTokenDetailsAuthenticationStatus](../../Models/Operations/GetTokenDetailsAuthenticationStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | | `paymentService` | *?string* | :heavy_minus_sign: | Payment service used for your Plex Pass subscription | | | `plan` | *?string* | :heavy_minus_sign: | Name of Plex Pass subscription plan | | \ No newline at end of file diff --git a/docs/Models/Operations/User.md b/docs/Models/Operations/User.md index 9792230..0f91411 100644 --- a/docs/Models/Operations/User.md +++ b/docs/Models/Operations/User.md @@ -9,8 +9,8 @@ | `title` | *string* | :heavy_check_mark: | User's display name. | Plex User | | `username` | *string* | :heavy_check_mark: | User's username. | zgfuc7krcqfimrmb9lsl5j | | `email` | *string* | :heavy_check_mark: | User's email address. | zgfuc7krcqfimrmb9lsl5j@protonmail.com | +| `recommendationsPlaylistId` | *?string* | :heavy_minus_sign: | ID of the user's recommendation playlist. | | | `thumb` | *string* | :heavy_check_mark: | URL to the user's avatar image. | https://plex.tv/users/3346028014e93acd/avatar?c=1731605021 | -| `server` | array<[Operations\GetUsersServer](../../Models/Operations/GetUsersServer.md)> | :heavy_check_mark: | List of servers owned by the user. | | | `protected` | [?Operations\ProtectedT](../../Models/Operations/ProtectedT.md) | :heavy_minus_sign: | N/A | 1 | | `home` | [?Operations\Home](../../Models/Operations/Home.md) | :heavy_minus_sign: | N/A | 1 | | `allowTuners` | [?Operations\AllowTuners](../../Models/Operations/AllowTuners.md) | :heavy_minus_sign: | N/A | 1 | @@ -18,10 +18,10 @@ | `allowCameraUpload` | [?Operations\AllowCameraUpload](../../Models/Operations/AllowCameraUpload.md) | :heavy_minus_sign: | N/A | 1 | | `allowChannels` | [?Operations\AllowChannels](../../Models/Operations/AllowChannels.md) | :heavy_minus_sign: | N/A | 1 | | `allowSubtitleAdmin` | [?Operations\AllowSubtitleAdmin](../../Models/Operations/AllowSubtitleAdmin.md) | :heavy_minus_sign: | N/A | 1 | -| `filterTelevision` | *?string* | :heavy_minus_sign: | Filters applied for television. | | -| `restricted` | [?Operations\Restricted](../../Models/Operations/Restricted.md) | :heavy_minus_sign: | N/A | 1 | -| `recommendationsPlaylistId` | *?string* | :heavy_minus_sign: | ID of the user's recommendation playlist. | | | `filterAll` | *?string* | :heavy_minus_sign: | Filters applied for all content. | | | `filterMovies` | *?string* | :heavy_minus_sign: | Filters applied for movies. | | | `filterMusic` | *?string* | :heavy_minus_sign: | Filters applied for music. | | -| `filterPhotos` | *?string* | :heavy_minus_sign: | Filters applied for photos. | | \ No newline at end of file +| `filterPhotos` | *?string* | :heavy_minus_sign: | Filters applied for photos. | | +| `filterTelevision` | *?string* | :heavy_minus_sign: | Filters applied for television. | | +| `restricted` | [?Operations\Restricted](../../Models/Operations/Restricted.md) | :heavy_minus_sign: | N/A | 1 | +| `server` | array<[Operations\GetUsersServer](../../Models/Operations/GetUsersServer.md)> | :heavy_check_mark: | List of servers owned by the user. | | \ No newline at end of file diff --git a/docs/sdks/activities/README.md b/docs/sdks/activities/README.md index ed429b1..40d86b5 100644 --- a/docs/sdks/activities/README.md +++ b/docs/sdks/activities/README.md @@ -14,8 +14,50 @@ Activities are optional cancellable. If cancellable, they may be cancelled via t ### Available Operations -* [cancelServerActivities](#cancelserveractivities) - Cancel Server Activities * [getServerActivities](#getserveractivities) - Get Server Activities +* [cancelServerActivities](#cancelserveractivities) - Cancel Server Activities + +## getServerActivities + +Get Server Activities + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->activities->getServerActivities( + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Response + +**[?Operations\GetServerActivitiesResponse](../../Models/Operations/GetServerActivitiesResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | +| Errors\GetServerActivitiesBadRequest | 400 | application/json | +| Errors\GetServerActivitiesUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | ## cancelServerActivities @@ -63,46 +105,4 @@ if ($response->statusCode === 200) { | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | | Errors\CancelServerActivitiesBadRequest | 400 | application/json | | Errors\CancelServerActivitiesUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## getServerActivities - -Get Server Activities - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->activities->getServerActivities( - -); - -if ($response->object !== null) { - // handle response -} -``` - -### Response - -**[?Operations\GetServerActivitiesResponse](../../Models/Operations/GetServerActivitiesResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------------------- | -------------------------------------- | -------------------------------------- | -| Errors\GetServerActivitiesBadRequest | 400 | application/json | -| Errors\GetServerActivitiesUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/authentication/README.md b/docs/sdks/authentication/README.md index fcad538..c190b88 100644 --- a/docs/sdks/authentication/README.md +++ b/docs/sdks/authentication/README.md @@ -8,11 +8,64 @@ API Calls regarding authentication for Plex Media Server ### Available Operations +* [getTransientToken](#gettransienttoken) - Get a Transient Token * [getSourceConnectionInformation](#getsourceconnectioninformation) - Get Source Connection Information * [getTokenDetails](#gettokendetails) - Get Token Details -* [getTransientToken](#gettransienttoken) - Get a Transient Token * [postUsersSignInData](#postuserssignindata) - Get User Sign In Data +## getTransientToken + +This endpoint provides the caller with a temporary token with the same access level as the caller's token. These tokens are valid for up to 48 hours and are destroyed if the server instance is restarted. + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->authentication->getTransientToken( + type: Operations\GetTransientTokenQueryParamType::Delegation, + scope: Operations\Scope::All + +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `type` | [Operations\GetTransientTokenQueryParamType](../../Models/Operations/GetTransientTokenQueryParamType.md) | :heavy_check_mark: | `delegation` - This is the only supported `type` parameter. | +| `scope` | [Operations\Scope](../../Models/Operations/Scope.md) | :heavy_check_mark: | `all` - This is the only supported `scope` parameter. | + +### Response + +**[?Operations\GetTransientTokenResponse](../../Models/Operations/GetTransientTokenResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | +| Errors\GetTransientTokenBadRequest | 400 | application/json | +| Errors\GetTransientTokenUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + ## getSourceConnectionInformation If a caller requires connection details and a transient token for a source that is known to the server, for example a cloud media provider or shared PMS, then this endpoint can be called. This endpoint is only accessible with either an admin token or a valid transient token generated from an admin token. @@ -111,59 +164,6 @@ if ($response->userPlexAccount !== null) { | Errors\GetTokenDetailsUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | -## getTransientToken - -This endpoint provides the caller with a temporary token with the same access level as the caller's token. These tokens are valid for up to 48 hours and are destroyed if the server instance is restarted. - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->authentication->getTransientToken( - type: Operations\GetTransientTokenQueryParamType::Delegation, - scope: Operations\Scope::All - -); - -if ($response->statusCode === 200) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -| `type` | [Operations\GetTransientTokenQueryParamType](../../Models/Operations/GetTransientTokenQueryParamType.md) | :heavy_check_mark: | `delegation` - This is the only supported `type` parameter. | -| `scope` | [Operations\Scope](../../Models/Operations/Scope.md) | :heavy_check_mark: | `all` - This is the only supported `scope` parameter. | - -### Response - -**[?Operations\GetTransientTokenResponse](../../Models/Operations/GetTransientTokenResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ------------------------------------ | ------------------------------------ | ------------------------------------ | -| Errors\GetTransientTokenBadRequest | 400 | application/json | -| Errors\GetTransientTokenUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - ## postUsersSignInData Sign in user with username and password and return user data with Plex authentication token diff --git a/docs/sdks/butler/README.md b/docs/sdks/butler/README.md index 4bda7aa..4c92677 100644 --- a/docs/sdks/butler/README.md +++ b/docs/sdks/butler/README.md @@ -10,8 +10,8 @@ Butler is the task manager of the Plex Media Server Ecosystem. * [getButlerTasks](#getbutlertasks) - Get Butler tasks * [startAllTasks](#startalltasks) - Start all Butler tasks -* [startTask](#starttask) - Start a single Butler task * [stopAllTasks](#stopalltasks) - Stop all Butler tasks +* [startTask](#starttask) - Start a single Butler task * [stopTask](#stoptask) - Stop a single Butler task ## getButlerTasks @@ -103,6 +103,49 @@ if ($response->statusCode === 200) { | Errors\StartAllTasksUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | +## stopAllTasks + +This endpoint will stop all currently running tasks and remove any scheduled tasks from the queue. + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->butler->stopAllTasks( + +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Response + +**[?Operations\StopAllTasksResponse](../../Models/Operations/StopAllTasksResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------- | ------------------------------- | ------------------------------- | +| Errors\StopAllTasksBadRequest | 400 | application/json | +| Errors\StopAllTasksUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + ## startTask This endpoint will attempt to start a single Butler task that is enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria: @@ -157,49 +200,6 @@ if ($response->statusCode === 200) { | Errors\StartTaskUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | -## stopAllTasks - -This endpoint will stop all currently running tasks and remove any scheduled tasks from the queue. - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->butler->stopAllTasks( - -); - -if ($response->statusCode === 200) { - // handle response -} -``` - -### Response - -**[?Operations\StopAllTasksResponse](../../Models/Operations/StopAllTasksResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ------------------------------- | ------------------------------- | ------------------------------- | -| Errors\StopAllTasksBadRequest | 400 | application/json | -| Errors\StopAllTasksUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - ## stopTask This endpoint will stop a currently running task by name, or remove it from the list of scheduled tasks if it exists. See the section above for a list of task names for this endpoint. diff --git a/docs/sdks/hubs/README.md b/docs/sdks/hubs/README.md index a193a9b..64d2fab 100644 --- a/docs/sdks/hubs/README.md +++ b/docs/sdks/hubs/README.md @@ -8,62 +8,10 @@ Hubs are a structured two-dimensional container for media, generally represented ### Available Operations -* [getRecentlyAdded](#getrecentlyadded) - Get Recently Added * [getGlobalHubs](#getglobalhubs) - Get Global Hubs +* [getRecentlyAdded](#getrecentlyadded) - Get Recently Added * [getLibraryHubs](#getlibraryhubs) - Get library specific hubs -## getRecentlyAdded - -This endpoint will return the recently added content. - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - -$request = new Operations\GetRecentlyAddedRequest( - contentDirectoryID: 470161, - type: Operations\Type::TvShow, - sectionID: 2, -); - -$response = $sdk->hubs->getRecentlyAdded( - request: $request -); - -if ($response->object !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| `$request` | [Operations\GetRecentlyAddedRequest](../../Models/Operations/GetRecentlyAddedRequest.md) | :heavy_check_mark: | The request object to use for the request. | - -### Response - -**[?Operations\GetRecentlyAddedResponse](../../Models/Operations/GetRecentlyAddedResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ------------------- | ------------------- | ------------------- | -| Errors\SDKException | 4XX, 5XX | \*/\* | - ## getGlobalHubs Get Global Hubs filtered by the parameters provided. @@ -116,6 +64,58 @@ if ($response->object !== null) { | Errors\GetGlobalHubsUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | +## getRecentlyAdded + +This endpoint will return the recently added content. + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\GetRecentlyAddedRequest( + contentDirectoryID: 470161, + sectionID: 2, + type: Operations\Type::TvShow, +); + +$response = $sdk->hubs->getRecentlyAdded( + request: $request +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `$request` | [Operations\GetRecentlyAddedRequest](../../Models/Operations/GetRecentlyAddedRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\GetRecentlyAddedResponse](../../Models/Operations/GetRecentlyAddedResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------- | ------------------- | ------------------- | +| Errors\SDKException | 4XX, 5XX | \*/\* | + ## getLibraryHubs This endpoint will return a list of library specific hubs diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 25985fd..8f8294a 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -8,30 +8,30 @@ API Calls interacting with Plex Media Server Libraries ### Available Operations -* [deleteLibrary](#deletelibrary) - Delete Library Section -* [getActorsLibrary](#getactorslibrary) - Get Actors of library media -* [getAllLibraries](#getalllibraries) - Get All Libraries -* [getAllMediaLibrary](#getallmedialibrary) - Get all media of library -* [getCountriesLibrary](#getcountrieslibrary) - Get Countries of library media -* [getGenresLibrary](#getgenreslibrary) - Get Genres of library media -* [getLibraryDetails](#getlibrarydetails) - Get Library Details -* [getLibraryItems](#getlibraryitems) - Get Library Items -* [getMediaArts](#getmediaarts) - Get Media Background Artwork -* [getMediaMetaData](#getmediametadata) - Get Media Metadata -* [getMediaPosters](#getmediaposters) - Get Media Posters -* [getRecentlyAddedLibrary](#getrecentlyaddedlibrary) - Get Recently Added -* [getRefreshLibraryMetadata](#getrefreshlibrarymetadata) - Refresh Metadata Of The Library -* [getSearchAllLibraries](#getsearchalllibraries) - Search All Libraries -* [getSearchLibrary](#getsearchlibrary) - Search Library * [getFileHash](#getfilehash) - Get Hash Value +* [getRecentlyAddedLibrary](#getrecentlyaddedlibrary) - Get Recently Added +* [getAllLibraries](#getalllibraries) - Get All Libraries +* [getLibraryDetails](#getlibrarydetails) - Get Library Details +* [deleteLibrary](#deletelibrary) - Delete Library Section +* [getLibraryItems](#getlibraryitems) - Get Library Items +* [getAllMediaLibrary](#getallmedialibrary) - Get all media of library +* [getRefreshLibraryMetadata](#getrefreshlibrarymetadata) - Refresh Metadata Of The Library +* [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 +* [getMediaMetaData](#getmediametadata) - Get Media Metadata +* [getMediaArts](#getmediaarts) - Get Media Background Artwork +* [postMediaArts](#postmediaarts) - Upload Media Background Artwork +* [getMediaPosters](#getmediaposters) - Get Media Posters +* [postMediaPoster](#postmediaposter) - Upload Media Poster * [getMetadataChildren](#getmetadatachildren) - Get Items Children * [getTopWatchedContent](#gettopwatchedcontent) - Get Top Watched Content -* [postMediaArts](#postmediaarts) - Upload Media Background Artwork -* [postMediaPoster](#postmediaposter) - Upload Media Poster -## deleteLibrary +## getFileHash -Delete a library using a specific section id +This resource returns hash values for local files ### Example Usage @@ -50,8 +50,10 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->library->deleteLibrary( - sectionKey: 9518 +$response = $sdk->library->getFileHash( + url: 'file://C:\Image.png&type=13', + type: 4462.17 + ); if ($response->statusCode === 200) { @@ -61,25 +63,26 @@ if ($response->statusCode === 200) { ### 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 | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `url` | *string* | :heavy_check_mark: | This is the path to the local file, must be prefixed by `file://` | file://C:\Image.png&type=13 | +| `type` | *?float* | :heavy_minus_sign: | Item type | | ### Response -**[?Operations\DeleteLibraryResponse](../../Models/Operations/DeleteLibraryResponse.md)** +**[?Operations\GetFileHashResponse](../../Models/Operations/GetFileHashResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| -------------------------------- | -------------------------------- | -------------------------------- | -| Errors\DeleteLibraryBadRequest | 400 | application/json | -| Errors\DeleteLibraryUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ------------------------------ | ------------------------------ | ------------------------------ | +| Errors\GetFileHashBadRequest | 400 | application/json | +| Errors\GetFileHashUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | -## getActorsLibrary +## getRecentlyAddedLibrary -Retrieves a list of all the actors that are found for the media in this library. +This endpoint will return the recently added content. ### Example Usage @@ -98,12 +101,28 @@ $sdk = Plex_API\PlexAPI::builder() ) ->build(); +$request = new Operations\GetRecentlyAddedLibraryRequest( + contentDirectoryID: 2, + pinnedContentDirectoryID: [ + 3, + 5, + 7, + 13, + 12, + 1, + 6, + 14, + 2, + 10, + 16, + 17, + ], + sectionID: 2, + type: Operations\QueryParamType::TvShow, +); - -$response = $sdk->library->getActorsLibrary( - sectionKey: 9518, - type: Operations\GetActorsLibraryQueryParamType::TvShow - +$response = $sdk->library->getRecentlyAddedLibrary( + request: $request ); if ($response->object !== null) { @@ -113,22 +132,21 @@ if ($response->object !== null) { ### 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` | [Operations\GetActorsLibraryQueryParamType](../../Models/Operations/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 | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `$request` | [Operations\GetRecentlyAddedLibraryRequest](../../Models/Operations/GetRecentlyAddedLibraryRequest.md) | :heavy_check_mark: | The request object to use for the request. | ### Response -**[?Operations\GetActorsLibraryResponse](../../Models/Operations/GetActorsLibraryResponse.md)** +**[?Operations\GetRecentlyAddedLibraryResponse](../../Models/Operations/GetRecentlyAddedLibraryResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| ----------------------------------- | ----------------------------------- | ----------------------------------- | -| Errors\GetActorsLibraryBadRequest | 400 | application/json | -| Errors\GetActorsLibraryUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | +| Errors\GetRecentlyAddedLibraryBadRequest | 400 | application/json | +| Errors\GetRecentlyAddedLibraryUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | ## getAllLibraries @@ -178,165 +196,6 @@ if ($response->object !== null) { | Errors\GetAllLibrariesUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | -## getAllMediaLibrary - -Retrieves a list of all general media data for this library. - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - -$request = new Operations\GetAllMediaLibraryRequest( - sectionKey: 9518, - type: Operations\GetAllMediaLibraryQueryParamType::TvShow, -); - -$response = $sdk->library->getAllMediaLibrary( - request: $request -); - -if ($response->object !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -| `$request` | [Operations\GetAllMediaLibraryRequest](../../Models/Operations/GetAllMediaLibraryRequest.md) | :heavy_check_mark: | The request object to use for the request. | - -### Response - -**[?Operations\GetAllMediaLibraryResponse](../../Models/Operations/GetAllMediaLibraryResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ------------------------------------- | ------------------------------------- | ------------------------------------- | -| Errors\GetAllMediaLibraryBadRequest | 400 | application/json | -| Errors\GetAllMediaLibraryUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## getCountriesLibrary - -Retrieves a list of all the countries that are found for the media in this library. - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->library->getCountriesLibrary( - sectionKey: 9518, - type: Operations\GetCountriesLibraryQueryParamType::TvShow - -); - -if ($response->object !== null) { - // 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` | [Operations\GetCountriesLibraryQueryParamType](../../Models/Operations/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 - -**[?Operations\GetCountriesLibraryResponse](../../Models/Operations/GetCountriesLibraryResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------------------- | -------------------------------------- | -------------------------------------- | -| Errors\GetCountriesLibraryBadRequest | 400 | application/json | -| Errors\GetCountriesLibraryUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## getGenresLibrary - -Retrieves a list of all the genres that are found for the media in this library. - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->library->getGenresLibrary( - sectionKey: 9518, - type: Operations\GetGenresLibraryQueryParamType::TvShow - -); - -if ($response->object !== null) { - // 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` | [Operations\GetGenresLibraryQueryParamType](../../Models/Operations/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 - -**[?Operations\GetGenresLibraryResponse](../../Models/Operations/GetGenresLibraryResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ----------------------------------- | ----------------------------------- | ----------------------------------- | -| Errors\GetGenresLibraryBadRequest | 400 | application/json | -| Errors\GetGenresLibraryUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - ## getLibraryDetails ## Library Details Endpoint @@ -428,6 +287,54 @@ if ($response->object !== null) { | Errors\GetLibraryDetailsUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | +## deleteLibrary + +Delete a library using a specific section id + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->library->deleteLibrary( + sectionKey: 9518 +); + +if ($response->statusCode === 200) { + // 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 | + +### Response + +**[?Operations\DeleteLibraryResponse](../../Models/Operations/DeleteLibraryResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| Errors\DeleteLibraryBadRequest | 400 | application/json | +| Errors\DeleteLibraryUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + ## getLibraryItems Fetches details from a specific section of the library identified by a section key and a tag. The tag parameter accepts the following values: @@ -502,55 +409,9 @@ if ($response->object !== null) { | Errors\GetLibraryItemsUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | -## getMediaArts +## getAllMediaLibrary -Returns the background artwork for a library item. - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->library->getMediaArts( - ratingKey: 16099 -); - -if ($response->object !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | Example | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `ratingKey` | *int* | :heavy_check_mark: | the id of the library item to return the artwork of. | 16099 | - -### Response - -**[?Operations\GetMediaArtsResponse](../../Models/Operations/GetMediaArtsResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ------------------- | ------------------- | ------------------- | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## getMediaMetaData - -This endpoint will return all the (meta)data of a library item specified with by the ratingKey. +Retrieves a list of all general media data for this library. ### Example Usage @@ -569,24 +430,12 @@ $sdk = Plex_API\PlexAPI::builder() ) ->build(); -$request = new Operations\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, +$request = new Operations\GetAllMediaLibraryRequest( + sectionKey: 9518, + type: Operations\GetAllMediaLibraryQueryParamType::TvShow, ); -$response = $sdk->library->getMediaMetaData( +$response = $sdk->library->getAllMediaLibrary( request: $request ); @@ -597,135 +446,21 @@ if ($response->object !== null) { ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| `$request` | [Operations\GetMediaMetaDataRequest](../../Models/Operations/GetMediaMetaDataRequest.md) | :heavy_check_mark: | The request object to use for the request. | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `$request` | [Operations\GetAllMediaLibraryRequest](../../Models/Operations/GetAllMediaLibraryRequest.md) | :heavy_check_mark: | The request object to use for the request. | ### Response -**[?Operations\GetMediaMetaDataResponse](../../Models/Operations/GetMediaMetaDataResponse.md)** +**[?Operations\GetAllMediaLibraryResponse](../../Models/Operations/GetAllMediaLibraryResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| ----------------------------------- | ----------------------------------- | ----------------------------------- | -| Errors\GetMediaMetaDataBadRequest | 400 | application/json | -| Errors\GetMediaMetaDataUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## getMediaPosters - -Returns the available posters for a library item. - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->library->getMediaPosters( - ratingKey: 16099 -); - -if ($response->object !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | Example | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `ratingKey` | *int* | :heavy_check_mark: | the id of the library item to return the posters of. | 16099 | - -### Response - -**[?Operations\GetMediaPostersResponse](../../Models/Operations/GetMediaPostersResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ------------------- | ------------------- | ------------------- | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## getRecentlyAddedLibrary - -This endpoint will return the recently added content. - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - -$request = new Operations\GetRecentlyAddedLibraryRequest( - type: Operations\QueryParamType::TvShow, - contentDirectoryID: 2, - pinnedContentDirectoryID: [ - 3, - 5, - 7, - 13, - 12, - 1, - 6, - 14, - 2, - 10, - 16, - 17, - ], - sectionID: 2, -); - -$response = $sdk->library->getRecentlyAddedLibrary( - request: $request -); - -if ($response->object !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | -| `$request` | [Operations\GetRecentlyAddedLibraryRequest](../../Models/Operations/GetRecentlyAddedLibraryRequest.md) | :heavy_check_mark: | The request object to use for the request. | - -### Response - -**[?Operations\GetRecentlyAddedLibraryResponse](../../Models/Operations/GetRecentlyAddedLibraryResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | -| Errors\GetRecentlyAddedLibraryBadRequest | 400 | application/json | -| Errors\GetRecentlyAddedLibraryUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | +| Errors\GetAllMediaLibraryBadRequest | 400 | application/json | +| Errors\GetAllMediaLibraryUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | ## getRefreshLibraryMetadata @@ -780,62 +515,6 @@ if ($response->statusCode === 200) { | Errors\GetRefreshLibraryMetadataUnauthorized | 401 | application/json | | 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. - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - -$request = new Operations\GetSearchAllLibrariesRequest( - query: '', - clientID: '3381b62b-9ab7-4e37-827b-203e9809eb58', - searchTypes: [ - Operations\SearchTypes::People, - ], -); - -$response = $sdk->library->getSearchAllLibraries( - request: $request -); - -if ($response->object !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| `$request` | [Operations\GetSearchAllLibrariesRequest](../../Models/Operations/GetSearchAllLibrariesRequest.md) | :heavy_check_mark: | The request object to use for the request. | - -### Response - -**[?Operations\GetSearchAllLibrariesResponse](../../Models/Operations/GetSearchAllLibrariesResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -| Errors\GetSearchAllLibrariesBadRequest | 400 | application/json | -| Errors\GetSearchAllLibrariesUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - ## getSearchLibrary Search for content within a specific section of the library. @@ -906,9 +585,289 @@ if ($response->object !== null) { | Errors\GetSearchLibraryUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | -## getFileHash +## getGenresLibrary -This resource returns hash values for local files +Retrieves a list of all the genres that are found for the media in this library. + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->library->getGenresLibrary( + sectionKey: 9518, + type: Operations\GetGenresLibraryQueryParamType::TvShow + +); + +if ($response->object !== null) { + // 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` | [Operations\GetGenresLibraryQueryParamType](../../Models/Operations/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 + +**[?Operations\GetGenresLibraryResponse](../../Models/Operations/GetGenresLibraryResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| Errors\GetGenresLibraryBadRequest | 400 | application/json | +| Errors\GetGenresLibraryUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## getCountriesLibrary + +Retrieves a list of all the countries that are found for the media in this library. + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->library->getCountriesLibrary( + sectionKey: 9518, + type: Operations\GetCountriesLibraryQueryParamType::TvShow + +); + +if ($response->object !== null) { + // 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` | [Operations\GetCountriesLibraryQueryParamType](../../Models/Operations/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 + +**[?Operations\GetCountriesLibraryResponse](../../Models/Operations/GetCountriesLibraryResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | +| Errors\GetCountriesLibraryBadRequest | 400 | application/json | +| Errors\GetCountriesLibraryUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## getActorsLibrary + +Retrieves a list of all the actors that are found for the media in this library. + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->library->getActorsLibrary( + sectionKey: 9518, + type: Operations\GetActorsLibraryQueryParamType::TvShow + +); + +if ($response->object !== null) { + // 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` | [Operations\GetActorsLibraryQueryParamType](../../Models/Operations/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 + +**[?Operations\GetActorsLibraryResponse](../../Models/Operations/GetActorsLibraryResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| Errors\GetActorsLibraryBadRequest | 400 | application/json | +| Errors\GetActorsLibraryUnauthorized | 401 | application/json | +| 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. + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\GetSearchAllLibrariesRequest( + query: '', + clientID: '3381b62b-9ab7-4e37-827b-203e9809eb58', + searchTypes: [ + Operations\SearchTypes::People, + ], +); + +$response = $sdk->library->getSearchAllLibraries( + request: $request +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `$request` | [Operations\GetSearchAllLibrariesRequest](../../Models/Operations/GetSearchAllLibrariesRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\GetSearchAllLibrariesResponse](../../Models/Operations/GetSearchAllLibrariesResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| Errors\GetSearchAllLibrariesBadRequest | 400 | application/json | +| Errors\GetSearchAllLibrariesUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## getMediaMetaData + +This endpoint will return all the (meta)data of a library item specified with by the ratingKey. + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\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, +); + +$response = $sdk->library->getMediaMetaData( + request: $request +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `$request` | [Operations\GetMediaMetaDataRequest](../../Models/Operations/GetMediaMetaDataRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\GetMediaMetaDataResponse](../../Models/Operations/GetMediaMetaDataResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| Errors\GetMediaMetaDataBadRequest | 400 | application/json | +| Errors\GetMediaMetaDataUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## getMediaArts + +Returns the background artwork for a library item. ### Example Usage @@ -927,9 +886,56 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->library->getFileHash( - url: 'file://C:\Image.png&type=13', - type: 4462.17 +$response = $sdk->library->getMediaArts( + ratingKey: 16099 +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `ratingKey` | *int* | :heavy_check_mark: | the id of the library item to return the artwork of. | 16099 | + +### Response + +**[?Operations\GetMediaArtsResponse](../../Models/Operations/GetMediaArtsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------- | ------------------- | ------------------- | +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## postMediaArts + +Uploads an image to use as the background artwork for a library item, either from a local file or a remote URL + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->library->postMediaArts( + ratingKey: 2268, + url: 'https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b', + requestBody: '0xee51EFC6De' ); @@ -940,22 +946,118 @@ if ($response->statusCode === 200) { ### Parameters -| Parameter | Type | Required | Description | Example | -| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | -| `url` | *string* | :heavy_check_mark: | This is the path to the local file, must be prefixed by `file://` | file://C:\Image.png&type=13 | -| `type` | *?float* | :heavy_minus_sign: | Item type | | +| Parameter | Type | Required | Description | Example | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `ratingKey` | *int* | :heavy_check_mark: | the id of the library item to return the posters of. | 2268 | +| `url` | *?string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b | +| `requestBody` | *?string* | :heavy_minus_sign: | The contents of the image, if uploading a local file | | ### Response -**[?Operations\GetFileHashResponse](../../Models/Operations/GetFileHashResponse.md)** +**[?Operations\PostMediaArtsResponse](../../Models/Operations/PostMediaArtsResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| ------------------------------ | ------------------------------ | ------------------------------ | -| Errors\GetFileHashBadRequest | 400 | application/json | -| Errors\GetFileHashUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ------------------- | ------------------- | ------------------- | +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## getMediaPosters + +Returns the available posters for a library item. + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->library->getMediaPosters( + ratingKey: 16099 +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `ratingKey` | *int* | :heavy_check_mark: | the id of the library item to return the posters of. | 16099 | + +### Response + +**[?Operations\GetMediaPostersResponse](../../Models/Operations/GetMediaPostersResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------- | ------------------- | ------------------- | +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## postMediaPoster + +Uploads a poster to a library item, either from a local file or a remote URL + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->library->postMediaPoster( + ratingKey: 2268, + url: 'https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b', + requestBody: '0x7C3d45ad4B' + +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `ratingKey` | *int* | :heavy_check_mark: | the id of the library item to return the posters of. | 2268 | +| `url` | *?string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b | +| `requestBody` | *?string* | :heavy_minus_sign: | The contents of the image, if uploading a local file | | + +### Response + +**[?Operations\PostMediaPosterResponse](../../Models/Operations/PostMediaPosterResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------- | ------------------- | ------------------- | +| Errors\SDKException | 4XX, 5XX | \*/\* | ## getMetadataChildren @@ -1060,106 +1162,4 @@ if ($response->object !== null) { | --------------------------------------- | --------------------------------------- | --------------------------------------- | | Errors\GetTopWatchedContentBadRequest | 400 | application/json | | Errors\GetTopWatchedContentUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## postMediaArts - -Uploads an image to use as the background artwork for a library item, either from a local file or a remote URL - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->library->postMediaArts( - ratingKey: 2268, - url: 'https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b', - requestBody: '0xee51EFC6De' - -); - -if ($response->statusCode === 200) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `ratingKey` | *int* | :heavy_check_mark: | the id of the library item to return the posters of. | 2268 | -| `url` | *?string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b | -| `requestBody` | *?string* | :heavy_minus_sign: | The contents of the image, if uploading a local file | | - -### Response - -**[?Operations\PostMediaArtsResponse](../../Models/Operations/PostMediaArtsResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ------------------- | ------------------- | ------------------- | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## postMediaPoster - -Uploads a poster to a library item, either from a local file or a remote URL - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->library->postMediaPoster( - ratingKey: 2268, - url: 'https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b', - requestBody: '0x7C3d45ad4B' - -); - -if ($response->statusCode === 200) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `ratingKey` | *int* | :heavy_check_mark: | the id of the library item to return the posters of. | 2268 | -| `url` | *?string* | :heavy_minus_sign: | The URL of the image, if uploading a remote image | https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b | -| `requestBody` | *?string* | :heavy_minus_sign: | The contents of the image, if uploading a local file | | - -### Response - -**[?Operations\PostMediaPosterResponse](../../Models/Operations/PostMediaPosterResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ------------------- | ------------------- | ------------------- | -| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/log/README.md b/docs/sdks/log/README.md index f973eed..6d105f0 100644 --- a/docs/sdks/log/README.md +++ b/docs/sdks/log/README.md @@ -8,52 +8,9 @@ Submit logs to the Log Handler for Plex Media Server ### Available Operations -* [enablePaperTrail](#enablepapertrail) - Enabling Papertrail * [logLine](#logline) - Logging a single line message. * [logMultiLine](#logmultiline) - Logging a multi-line message - -## enablePaperTrail - -This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail networked logging site for a period of time. - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->log->enablePaperTrail( - -); - -if ($response->statusCode === 200) { - // handle response -} -``` - -### Response - -**[?Operations\EnablePaperTrailResponse](../../Models/Operations/EnablePaperTrailResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ----------------------------------- | ----------------------------------- | ----------------------------------- | -| Errors\EnablePaperTrailBadRequest | 400 | application/json | -| Errors\EnablePaperTrailUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +* [enablePaperTrail](#enablepapertrail) - Enabling Papertrail ## logLine @@ -179,4 +136,47 @@ if ($response->statusCode === 200) { | ------------------------------- | ------------------------------- | ------------------------------- | | Errors\LogMultiLineBadRequest | 400 | application/json | | Errors\LogMultiLineUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## enablePaperTrail + +This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail networked logging site for a period of time. + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->log->enablePaperTrail( + +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Response + +**[?Operations\EnablePaperTrailResponse](../../Models/Operations/EnablePaperTrailResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| Errors\EnablePaperTrailBadRequest | 400 | application/json | +| Errors\EnablePaperTrailUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/media/README.md b/docs/sdks/media/README.md index 7e39124..6725bbe 100644 --- a/docs/sdks/media/README.md +++ b/docs/sdks/media/README.md @@ -8,123 +8,11 @@ API Calls interacting with Plex Media Server Media ### Available Operations -* [getBannerImage](#getbannerimage) - Get Banner Image -* [getThumbImage](#getthumbimage) - Get Thumb Image * [markPlayed](#markplayed) - Mark Media Played * [markUnplayed](#markunplayed) - Mark Media Unplayed * [updatePlayProgress](#updateplayprogress) - Update Media Play Progress - -## getBannerImage - -Gets the banner image of the media item - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - -$request = new Operations\GetBannerImageRequest( - ratingKey: 9518, - width: 396, - height: 396, - minSize: 1, - upscale: 1, - xPlexToken: 'CV5xoxjTpFKUzBTShsaf', -); - -$response = $sdk->media->getBannerImage( - request: $request -); - -if ($response->bytes !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| `$request` | [Operations\GetBannerImageRequest](../../Models/Operations/GetBannerImageRequest.md) | :heavy_check_mark: | The request object to use for the request. | - -### Response - -**[?Operations\GetBannerImageResponse](../../Models/Operations/GetBannerImageResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| --------------------------------- | --------------------------------- | --------------------------------- | -| Errors\GetBannerImageBadRequest | 400 | application/json | -| Errors\GetBannerImageUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## getThumbImage - -Gets the thumbnail image of the media item - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - -$request = new Operations\GetThumbImageRequest( - ratingKey: 9518, - width: 396, - height: 396, - minSize: 1, - upscale: 1, - xPlexToken: 'CV5xoxjTpFKUzBTShsaf', -); - -$response = $sdk->media->getThumbImage( - request: $request -); - -if ($response->bytes !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `$request` | [Operations\GetThumbImageRequest](../../Models/Operations/GetThumbImageRequest.md) | :heavy_check_mark: | The request object to use for the request. | - -### Response - -**[?Operations\GetThumbImageResponse](../../Models/Operations/GetThumbImageResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------------- | -------------------------------- | -------------------------------- | -| Errors\GetThumbImageBadRequest | 400 | application/json | -| Errors\GetThumbImageUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +* [getBannerImage](#getbannerimage) - Get Banner Image +* [getThumbImage](#getthumbimage) - Get Thumb Image ## markPlayed @@ -274,4 +162,116 @@ if ($response->statusCode === 200) { | ------------------------------------- | ------------------------------------- | ------------------------------------- | | Errors\UpdatePlayProgressBadRequest | 400 | application/json | | Errors\UpdatePlayProgressUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## getBannerImage + +Gets the banner image of the media item + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\GetBannerImageRequest( + ratingKey: 9518, + width: 396, + height: 396, + minSize: 1, + upscale: 1, + xPlexToken: 'CV5xoxjTpFKUzBTShsaf', +); + +$response = $sdk->media->getBannerImage( + request: $request +); + +if ($response->bytes !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | +| `$request` | [Operations\GetBannerImageRequest](../../Models/Operations/GetBannerImageRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\GetBannerImageResponse](../../Models/Operations/GetBannerImageResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| --------------------------------- | --------------------------------- | --------------------------------- | +| Errors\GetBannerImageBadRequest | 400 | application/json | +| Errors\GetBannerImageUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## getThumbImage + +Gets the thumbnail image of the media item + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\GetThumbImageRequest( + ratingKey: 9518, + width: 396, + height: 396, + minSize: 1, + upscale: 1, + xPlexToken: 'CV5xoxjTpFKUzBTShsaf', +); + +$response = $sdk->media->getThumbImage( + request: $request +); + +if ($response->bytes !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `$request` | [Operations\GetThumbImageRequest](../../Models/Operations/GetThumbImageRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\GetThumbImageResponse](../../Models/Operations/GetThumbImageResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| Errors\GetThumbImageBadRequest | 400 | application/json | +| Errors\GetThumbImageUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index 271282b..1a44eaa 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -11,120 +11,16 @@ This may cause the duration and number of items to change. ### Available Operations -* [addPlaylistContents](#addplaylistcontents) - Adding to a Playlist -* [clearPlaylistContents](#clearplaylistcontents) - Delete Playlist Contents * [createPlaylist](#createplaylist) - Create a Playlist -* [deletePlaylist](#deleteplaylist) - Deletes a Playlist -* [getPlaylist](#getplaylist) - Retrieve Playlist -* [getPlaylistContents](#getplaylistcontents) - Retrieve Playlist Contents * [getPlaylists](#getplaylists) - Get All Playlists +* [getPlaylist](#getplaylist) - Retrieve Playlist +* [deletePlaylist](#deleteplaylist) - Deletes a Playlist * [updatePlaylist](#updateplaylist) - Update a Playlist +* [getPlaylistContents](#getplaylistcontents) - Retrieve Playlist Contents +* [clearPlaylistContents](#clearplaylistcontents) - Delete Playlist Contents +* [addPlaylistContents](#addplaylistcontents) - Adding to a Playlist * [uploadPlaylist](#uploadplaylist) - Upload Playlist -## addPlaylistContents - -Adds a generator to a playlist, same parameters as the POST to create. With a dumb playlist, this adds the specified items to the playlist. -With a smart playlist, passing a new `uri` parameter replaces the rules for the playlist. Returns the playlist. - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->playlists->addPlaylistContents( - playlistID: 8502.01, - uri: 'server://12345/com.plexapp.plugins.library/library/metadata/1', - playQueueID: 123 - -); - -if ($response->object !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | -| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | | -| `uri` | *string* | :heavy_check_mark: | the content URI for the playlist | server://12345/com.plexapp.plugins.library/library/metadata/1 | -| `playQueueID` | *?float* | :heavy_minus_sign: | the play queue to add to a playlist | 123 | - -### Response - -**[?Operations\AddPlaylistContentsResponse](../../Models/Operations/AddPlaylistContentsResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------------------- | -------------------------------------- | -------------------------------------- | -| Errors\AddPlaylistContentsBadRequest | 400 | application/json | -| Errors\AddPlaylistContentsUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## clearPlaylistContents - -Clears a playlist, only works with dumb playlists. Returns the playlist. - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->playlists->clearPlaylistContents( - playlistID: 1893.18 -); - -if ($response->statusCode === 200) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | - -### Response - -**[?Operations\ClearPlaylistContentsResponse](../../Models/Operations/ClearPlaylistContentsResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -| Errors\ClearPlaylistContentsBadRequest | 400 | application/json | -| Errors\ClearPlaylistContentsUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - ## createPlaylist Create a new playlist. By default the playlist is blank. To create a playlist along with a first item, pass: @@ -182,10 +78,9 @@ if ($response->object !== null) { | Errors\CreatePlaylistUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | -## deletePlaylist - -This endpoint will delete a playlist +## getPlaylists +Get All Playlists given the specified filters. ### Example Usage @@ -195,6 +90,7 @@ declare(strict_types=1); require 'vendor/autoload.php'; use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; $sdk = Plex_API\PlexAPI::builder() ->setSecurity( @@ -204,32 +100,35 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->playlists->deletePlaylist( - playlistID: 216.22 +$response = $sdk->playlists->getPlaylists( + playlistType: Operations\PlaylistType::Audio, + smart: Operations\QueryParamSmart::Zero + ); -if ($response->statusCode === 200) { +if ($response->object !== null) { // handle response } ``` ### Parameters -| Parameter | Type | Required | Description | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `playlistType` | [?Operations\PlaylistType](../../Models/Operations/PlaylistType.md) | :heavy_minus_sign: | limit to a type of playlist. | +| `smart` | [?Operations\QueryParamSmart](../../Models/Operations/QueryParamSmart.md) | :heavy_minus_sign: | type of playlists to return (default is all). | ### Response -**[?Operations\DeletePlaylistResponse](../../Models/Operations/DeletePlaylistResponse.md)** +**[?Operations\GetPlaylistsResponse](../../Models/Operations/GetPlaylistsResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| --------------------------------- | --------------------------------- | --------------------------------- | -| Errors\DeletePlaylistBadRequest | 400 | application/json | -| Errors\DeletePlaylistUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ------------------------------- | ------------------------------- | ------------------------------- | +| Errors\GetPlaylistsBadRequest | 400 | application/json | +| Errors\GetPlaylistsUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | ## getPlaylist @@ -281,6 +180,109 @@ if ($response->object !== null) { | Errors\GetPlaylistUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | +## deletePlaylist + +This endpoint will delete a playlist + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->playlists->deletePlaylist( + playlistID: 216.22 +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | + +### Response + +**[?Operations\DeletePlaylistResponse](../../Models/Operations/DeletePlaylistResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| --------------------------------- | --------------------------------- | --------------------------------- | +| Errors\DeletePlaylistBadRequest | 400 | application/json | +| Errors\DeletePlaylistUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## updatePlaylist + +From PMS version 1.9.1 clients can also edit playlist metadata using this endpoint as they would via `PUT /library/metadata/{playlistID}` + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->playlists->updatePlaylist( + playlistID: 3915, + title: '', + summary: '' + +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | +| `title` | *?string* | :heavy_minus_sign: | name of the playlist | +| `summary` | *?string* | :heavy_minus_sign: | summary description of the playlist | + +### Response + +**[?Operations\UpdatePlaylistResponse](../../Models/Operations/UpdatePlaylistResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| --------------------------------- | --------------------------------- | --------------------------------- | +| Errors\UpdatePlaylistBadRequest | 400 | application/json | +| Errors\UpdatePlaylistUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + ## getPlaylistContents Gets the contents of a playlist. Should be paged by clients via standard mechanisms. @@ -337,9 +339,10 @@ if ($response->object !== null) { | Errors\GetPlaylistContentsUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | -## getPlaylists +## clearPlaylistContents + +Clears a playlist, only works with dumb playlists. Returns the playlist. -Get All Playlists given the specified filters. ### Example Usage @@ -349,7 +352,6 @@ declare(strict_types=1); require 'vendor/autoload.php'; use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; $sdk = Plex_API\PlexAPI::builder() ->setSecurity( @@ -359,9 +361,60 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->playlists->getPlaylists( - playlistType: Operations\PlaylistType::Audio, - smart: Operations\QueryParamSmart::Zero +$response = $sdk->playlists->clearPlaylistContents( + playlistID: 1893.18 +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | + +### Response + +**[?Operations\ClearPlaylistContentsResponse](../../Models/Operations/ClearPlaylistContentsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| Errors\ClearPlaylistContentsBadRequest | 400 | application/json | +| Errors\ClearPlaylistContentsUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## addPlaylistContents + +Adds a generator to a playlist, same parameters as the POST to create. With a dumb playlist, this adds the specified items to the playlist. +With a smart playlist, passing a new `uri` parameter replaces the rules for the playlist. Returns the playlist. + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->playlists->addPlaylistContents( + playlistID: 8502.01, + uri: 'server://12345/com.plexapp.plugins.library/library/metadata/1', + playQueueID: 123 ); @@ -372,76 +425,23 @@ if ($response->object !== null) { ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -| `playlistType` | [?Operations\PlaylistType](../../Models/Operations/PlaylistType.md) | :heavy_minus_sign: | limit to a type of playlist. | -| `smart` | [?Operations\QueryParamSmart](../../Models/Operations/QueryParamSmart.md) | :heavy_minus_sign: | type of playlists to return (default is all). | +| Parameter | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | | +| `uri` | *string* | :heavy_check_mark: | the content URI for the playlist | server://12345/com.plexapp.plugins.library/library/metadata/1 | +| `playQueueID` | *?float* | :heavy_minus_sign: | the play queue to add to a playlist | 123 | ### Response -**[?Operations\GetPlaylistsResponse](../../Models/Operations/GetPlaylistsResponse.md)** +**[?Operations\AddPlaylistContentsResponse](../../Models/Operations/AddPlaylistContentsResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| ------------------------------- | ------------------------------- | ------------------------------- | -| Errors\GetPlaylistsBadRequest | 400 | application/json | -| Errors\GetPlaylistsUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## updatePlaylist - -From PMS version 1.9.1 clients can also edit playlist metadata using this endpoint as they would via `PUT /library/metadata/{playlistID}` - - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->playlists->updatePlaylist( - playlistID: 3915, - title: '', - summary: '' - -); - -if ($response->statusCode === 200) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | -| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | -| `title` | *?string* | :heavy_minus_sign: | name of the playlist | -| `summary` | *?string* | :heavy_minus_sign: | summary description of the playlist | - -### Response - -**[?Operations\UpdatePlaylistResponse](../../Models/Operations/UpdatePlaylistResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| --------------------------------- | --------------------------------- | --------------------------------- | -| Errors\UpdatePlaylistBadRequest | 400 | application/json | -| Errors\UpdatePlaylistUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | +| Errors\AddPlaylistContentsBadRequest | 400 | application/json | +| Errors\AddPlaylistContentsUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | ## uploadPlaylist diff --git a/docs/sdks/plex/README.md b/docs/sdks/plex/README.md index 80945f3..109ca74 100644 --- a/docs/sdks/plex/README.md +++ b/docs/sdks/plex/README.md @@ -8,70 +8,13 @@ API Calls that perform operations directly against https://Plex.tv ### Available Operations -* [getServerResources](#getserverresources) - Get Server Resources * [getCompanionsData](#getcompanionsdata) - Get Companions Data +* [getUserFriends](#getuserfriends) - Get list of friends of the user logged in * [getGeoData](#getgeodata) - Get Geo Data * [getHomeData](#gethomedata) - Get Plex Home Data +* [getServerResources](#getserverresources) - Get Server Resources * [getPin](#getpin) - Get a Pin * [getTokenByPinId](#gettokenbypinid) - Get Access Token by PinId -* [getUserFriends](#getuserfriends) - Get list of friends of the user logged in - -## getServerResources - -Get Plex server access tokens and server connections - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->plex->getServerResources( - clientID: '3381b62b-9ab7-4e37-827b-203e9809eb58', - includeHttps: Operations\IncludeHttps::Enable, - includeRelay: Operations\IncludeRelay::Enable, - includeIPv6: Operations\IncludeIPv6::Enable - -); - -if ($response->plexDevices !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | -| `clientID` | *string* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 | -| `includeHttps` | [?Operations\IncludeHttps](../../Models/Operations/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 | -| `includeRelay` | [?Operations\IncludeRelay](../../Models/Operations/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
| 1 | -| `includeIPv6` | [?Operations\IncludeIPv6](../../Models/Operations/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | -| `$serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 | - -### Response - -**[?Operations\GetServerResourcesResponse](../../Models/Operations/GetServerResourcesResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ------------------------------------- | ------------------------------------- | ------------------------------------- | -| Errors\GetServerResourcesBadRequest | 400 | application/json | -| Errors\GetServerResourcesUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | ## getCompanionsData @@ -121,6 +64,54 @@ if ($response->responseBodies !== null) { | Errors\GetCompanionsDataUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | +## getUserFriends + +Get friends of provided auth token. + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->plex->getUserFriends( + +); + +if ($response->friends !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | +| `$serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | + +### Response + +**[?Operations\GetUserFriendsResponse](../../Models/Operations/GetUserFriendsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| --------------------------------- | --------------------------------- | --------------------------------- | +| Errors\GetUserFriendsBadRequest | 400 | application/json | +| Errors\GetUserFriendsUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + ## getGeoData Returns the geolocation and locale data of the caller @@ -207,6 +198,63 @@ if ($response->object !== null) { | Errors\GetHomeDataUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | +## getServerResources + +Get Plex server access tokens and server connections + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->plex->getServerResources( + clientID: '3381b62b-9ab7-4e37-827b-203e9809eb58', + includeHttps: Operations\IncludeHttps::Enable, + includeRelay: Operations\IncludeRelay::Enable, + includeIPv6: Operations\IncludeIPv6::Enable + +); + +if ($response->plexDevices !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `clientID` | *string* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 | +| `includeHttps` | [?Operations\IncludeHttps](../../Models/Operations/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 | +| `includeRelay` | [?Operations\IncludeRelay](../../Models/Operations/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
| 1 | +| `includeIPv6` | [?Operations\IncludeIPv6](../../Models/Operations/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | +| `$serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 | + +### Response + +**[?Operations\GetServerResourcesResponse](../../Models/Operations/GetServerResourcesResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | +| Errors\GetServerResourcesBadRequest | 400 | application/json | +| Errors\GetServerResourcesUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + ## getPin Retrieve a Pin ID from Plex.tv to use for authentication flows @@ -309,52 +357,4 @@ if ($response->authPinContainer !== null) { | ---------------------------------- | ---------------------------------- | ---------------------------------- | | Errors\GetTokenByPinIdBadRequest | 400 | application/json | | Errors\GetTokenByPinIdResponseBody | 404 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## getUserFriends - -Get friends of provided auth token. - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->plex->getUserFriends( - -); - -if ($response->friends !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | -| `$serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | - -### Response - -**[?Operations\GetUserFriendsResponse](../../Models/Operations/GetUserFriendsResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| --------------------------------- | --------------------------------- | --------------------------------- | -| Errors\GetUserFriendsBadRequest | 400 | application/json | -| Errors\GetUserFriendsUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/search/README.md b/docs/sdks/search/README.md index 2526b82..47c47a4 100644 --- a/docs/sdks/search/README.md +++ b/docs/sdks/search/README.md @@ -8,57 +8,9 @@ API Calls that perform search operations with Plex Media Server ### Available Operations -* [getSearchResults](#getsearchresults) - Get Search Results * [performSearch](#performsearch) - Perform a search * [performVoiceSearch](#performvoicesearch) - Perform a voice search - -## getSearchResults - -This will search the database for the string provided. - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->search->getSearchResults( - query: '110' -); - -if ($response->object !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | Example | -| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | -| `query` | *string* | :heavy_check_mark: | The search query string to use | 110 | - -### Response - -**[?Operations\GetSearchResultsResponse](../../Models/Operations/GetSearchResultsResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ----------------------------------- | ----------------------------------- | ----------------------------------- | -| Errors\GetSearchResultsBadRequest | 400 | application/json | -| Errors\GetSearchResultsUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +* [getSearchResults](#getsearchresults) - Get Search Results ## performSearch @@ -180,4 +132,52 @@ if ($response->statusCode === 200) { | ------------------------------------- | ------------------------------------- | ------------------------------------- | | Errors\PerformVoiceSearchBadRequest | 400 | application/json | | Errors\PerformVoiceSearchUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## getSearchResults + +This will search the database for the string provided. + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->search->getSearchResults( + query: '110' +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | +| `query` | *string* | :heavy_check_mark: | The search query string to use | 110 | + +### Response + +**[?Operations\GetSearchResultsResponse](../../Models/Operations/GetSearchResultsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| Errors\GetSearchResultsBadRequest | 400 | application/json | +| Errors\GetSearchResultsUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/server/README.md b/docs/sdks/server/README.md index 63096c3..0d9d231 100644 --- a/docs/sdks/server/README.md +++ b/docs/sdks/server/README.md @@ -8,19 +8,19 @@ Operations against the Plex Media Server System. ### Available Operations -* [getMediaProviders](#getmediaproviders) - Get Media Providers -* [getServerIdentity](#getserveridentity) - Get Server Identity +* [getServerCapabilities](#getservercapabilities) - Get Server Capabilities +* [getServerPreferences](#getserverpreferences) - Get Server Preferences * [getAvailableClients](#getavailableclients) - Get Available Clients * [getDevices](#getdevices) - Get Devices +* [getServerIdentity](#getserveridentity) - Get Server Identity * [getMyPlexAccount](#getmyplexaccount) - Get MyPlex Account * [getResizedPhoto](#getresizedphoto) - Get a Resized Photo -* [getServerCapabilities](#getservercapabilities) - Get Server Capabilities +* [getMediaProviders](#getmediaproviders) - Get Media Providers * [getServerList](#getserverlist) - Get Server List -* [getServerPreferences](#getserverpreferences) - Get Server Preferences -## getMediaProviders +## getServerCapabilities -Retrieves media providers and their features from the Plex server. +Get Server Capabilities ### Example Usage @@ -39,8 +39,8 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->server->getMediaProviders( - xPlexToken: 'CV5xoxjTpFKUzBTShsaf' +$response = $sdk->server->getServerCapabilities( + ); if ($response->object !== null) { @@ -48,27 +48,21 @@ if ($response->object !== null) { } ``` -### Parameters - -| Parameter | Type | Required | Description | Example | -| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | -| `xPlexToken` | *string* | :heavy_check_mark: | An authentication token, obtained from plex.tv | CV5xoxjTpFKUzBTShsaf | - ### Response -**[?Operations\GetMediaProvidersResponse](../../Models/Operations/GetMediaProvidersResponse.md)** +**[?Operations\GetServerCapabilitiesResponse](../../Models/Operations/GetServerCapabilitiesResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| ------------------------------------ | ------------------------------------ | ------------------------------------ | -| Errors\GetMediaProvidersBadRequest | 400 | application/json | -| Errors\GetMediaProvidersUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| Errors\GetServerCapabilitiesBadRequest | 400 | application/json | +| Errors\GetServerCapabilitiesUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | -## getServerIdentity +## getServerPreferences -This request is useful to determine if the server is online or offline +Get Server Preferences ### Example Usage @@ -79,11 +73,15 @@ require 'vendor/autoload.php'; use LukeHagar\Plex_API; -$sdk = Plex_API\PlexAPI::builder()->build(); +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); -$response = $sdk->server->getServerIdentity( +$response = $sdk->server->getServerPreferences( ); @@ -94,14 +92,15 @@ if ($response->object !== null) { ### Response -**[?Operations\GetServerIdentityResponse](../../Models/Operations/GetServerIdentityResponse.md)** +**[?Operations\GetServerPreferencesResponse](../../Models/Operations/GetServerPreferencesResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| -------------------------------------- | -------------------------------------- | -------------------------------------- | -| Errors\GetServerIdentityRequestTimeout | 408 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | +| Errors\GetServerPreferencesBadRequest | 400 | application/json | +| Errors\GetServerPreferencesUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | ## getAvailableClients @@ -187,6 +186,43 @@ if ($response->object !== null) { | Errors\GetDevicesUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | +## getServerIdentity + +This request is useful to determine if the server is online or offline + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder()->build(); + + + +$response = $sdk->server->getServerIdentity( + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Response + +**[?Operations\GetServerIdentityResponse](../../Models/Operations/GetServerIdentityResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | +| Errors\GetServerIdentityRequestTimeout | 408 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + ## getMyPlexAccount Returns MyPlex Account Information @@ -287,9 +323,9 @@ if ($response->statusCode === 200) { | Errors\GetResizedPhotoUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | -## getServerCapabilities +## getMediaProviders -Get Server Capabilities +Retrieves media providers and their features from the Plex server. ### Example Usage @@ -308,8 +344,8 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->server->getServerCapabilities( - +$response = $sdk->server->getMediaProviders( + xPlexToken: 'CV5xoxjTpFKUzBTShsaf' ); if ($response->object !== null) { @@ -317,17 +353,23 @@ if ($response->object !== null) { } ``` +### Parameters + +| Parameter | Type | Required | Description | Example | +| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | +| `xPlexToken` | *string* | :heavy_check_mark: | An authentication token, obtained from plex.tv | CV5xoxjTpFKUzBTShsaf | + ### Response -**[?Operations\GetServerCapabilitiesResponse](../../Models/Operations/GetServerCapabilitiesResponse.md)** +**[?Operations\GetMediaProvidersResponse](../../Models/Operations/GetMediaProvidersResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -| Errors\GetServerCapabilitiesBadRequest | 400 | application/json | -| Errors\GetServerCapabilitiesUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | +| Errors\GetMediaProvidersBadRequest | 400 | application/json | +| Errors\GetMediaProvidersUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | ## getServerList @@ -369,46 +411,4 @@ if ($response->object !== null) { | -------------------------------- | -------------------------------- | -------------------------------- | | Errors\GetServerListBadRequest | 400 | application/json | | Errors\GetServerListUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## getServerPreferences - -Get Server Preferences - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->server->getServerPreferences( - -); - -if ($response->object !== null) { - // handle response -} -``` - -### Response - -**[?Operations\GetServerPreferencesResponse](../../Models/Operations/GetServerPreferencesResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| --------------------------------------- | --------------------------------------- | --------------------------------------- | -| Errors\GetServerPreferencesBadRequest | 400 | application/json | -| Errors\GetServerPreferencesUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/sessions/README.md b/docs/sdks/sessions/README.md index 2216a99..24606a5 100644 --- a/docs/sdks/sessions/README.md +++ b/docs/sdks/sessions/README.md @@ -8,11 +8,53 @@ API Calls that perform search operations with Plex Media Server Sessions ### Available Operations -* [getSessionHistory](#getsessionhistory) - Get Session History * [getSessions](#getsessions) - Get Active Sessions +* [getSessionHistory](#getsessionhistory) - Get Session History * [getTranscodeSessions](#gettranscodesessions) - Get Transcode Sessions * [stopTranscodeSession](#stoptranscodesession) - Stop a Transcode Session +## getSessions + +This will retrieve the "Now Playing" Information of the PMS. + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->sessions->getSessions( + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Response + +**[?Operations\GetSessionsResponse](../../Models/Operations/GetSessionsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------ | ------------------------------ | ------------------------------ | +| Errors\GetSessionsBadRequest | 400 | application/json | +| Errors\GetSessionsUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + ## getSessionHistory This will Retrieve a listing of all history views. @@ -69,48 +111,6 @@ if ($response->object !== null) { | Errors\GetSessionHistoryUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | -## getSessions - -This will retrieve the "Now Playing" Information of the PMS. - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->sessions->getSessions( - -); - -if ($response->object !== null) { - // handle response -} -``` - -### Response - -**[?Operations\GetSessionsResponse](../../Models/Operations/GetSessionsResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ------------------------------ | ------------------------------ | ------------------------------ | -| Errors\GetSessionsBadRequest | 400 | application/json | -| Errors\GetSessionsUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - ## getTranscodeSessions Get Transcode Sessions diff --git a/docs/sdks/statistics/README.md b/docs/sdks/statistics/README.md index d7a9ba9..0f148cf 100644 --- a/docs/sdks/statistics/README.md +++ b/docs/sdks/statistics/README.md @@ -8,13 +8,13 @@ API Calls that perform operations with Plex Media Server Statistics ### Available Operations -* [getBandwidthStatistics](#getbandwidthstatistics) - Get Bandwidth Statistics -* [getResourcesStatistics](#getresourcesstatistics) - Get Resources Statistics * [getStatistics](#getstatistics) - Get Media Statistics +* [getResourcesStatistics](#getresourcesstatistics) - Get Resources Statistics +* [getBandwidthStatistics](#getbandwidthstatistics) - Get Bandwidth Statistics -## getBandwidthStatistics +## getStatistics -This will return the bandwidth statistics for the server +This will return the media statistics for the server ### Example Usage @@ -33,7 +33,7 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->statistics->getBandwidthStatistics( +$response = $sdk->statistics->getStatistics( timespan: 4 ); @@ -50,15 +50,15 @@ if ($response->object !== null) { ### Response -**[?Operations\GetBandwidthStatisticsResponse](../../Models/Operations/GetBandwidthStatisticsResponse.md)** +**[?Operations\GetStatisticsResponse](../../Models/Operations/GetStatisticsResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | -| Errors\GetBandwidthStatisticsBadRequest | 400 | application/json | -| Errors\GetBandwidthStatisticsUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| Errors\GetStatisticsBadRequest | 400 | application/json | +| Errors\GetStatisticsUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | ## getResourcesStatistics @@ -108,9 +108,9 @@ if ($response->object !== null) { | Errors\GetResourcesStatisticsUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | -## getStatistics +## getBandwidthStatistics -This will return the media statistics for the server +This will return the bandwidth statistics for the server ### Example Usage @@ -129,7 +129,7 @@ $sdk = Plex_API\PlexAPI::builder() -$response = $sdk->statistics->getStatistics( +$response = $sdk->statistics->getBandwidthStatistics( timespan: 4 ); @@ -146,12 +146,12 @@ if ($response->object !== null) { ### Response -**[?Operations\GetStatisticsResponse](../../Models/Operations/GetStatisticsResponse.md)** +**[?Operations\GetBandwidthStatisticsResponse](../../Models/Operations/GetBandwidthStatisticsResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| -------------------------------- | -------------------------------- | -------------------------------- | -| Errors\GetStatisticsBadRequest | 400 | application/json | -| Errors\GetStatisticsUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Error Type | Status Code | Content Type | +| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | +| Errors\GetBandwidthStatisticsBadRequest | 400 | application/json | +| Errors\GetBandwidthStatisticsUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/updater/README.md b/docs/sdks/updater/README.md index 7b8f0c5..232e1a3 100644 --- a/docs/sdks/updater/README.md +++ b/docs/sdks/updater/README.md @@ -9,9 +9,100 @@ Updates to the status can be observed via the Event API. ### Available Operations -* [applyUpdates](#applyupdates) - Apply Updates -* [checkForUpdates](#checkforupdates) - Checking for updates * [getUpdateStatus](#getupdatestatus) - Querying status of updates +* [checkForUpdates](#checkforupdates) - Checking for updates +* [applyUpdates](#applyupdates) - Apply Updates + +## getUpdateStatus + +Querying status of updates + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->updater->getUpdateStatus( + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Response + +**[?Operations\GetUpdateStatusResponse](../../Models/Operations/GetUpdateStatusResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | +| Errors\GetUpdateStatusBadRequest | 400 | application/json | +| Errors\GetUpdateStatusUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + +## checkForUpdates + +Checking for updates + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->updater->checkForUpdates( + download: Operations\Download::One +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `download` | [?Operations\Download](../../Models/Operations/Download.md) | :heavy_minus_sign: | Indicate that you want to start download any updates found. | 1 | + +### Response + +**[?Operations\CheckForUpdatesResponse](../../Models/Operations/CheckForUpdatesResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | +| Errors\CheckForUpdatesBadRequest | 400 | application/json | +| Errors\CheckForUpdatesUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | ## applyUpdates @@ -64,95 +155,4 @@ if ($response->statusCode === 200) { | ------------------------------- | ------------------------------- | ------------------------------- | | Errors\ApplyUpdatesBadRequest | 400 | application/json | | Errors\ApplyUpdatesUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## checkForUpdates - -Checking for updates - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; -use LukeHagar\Plex_API\Models\Operations; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->updater->checkForUpdates( - download: Operations\Download::One -); - -if ($response->statusCode === 200) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | Example | -| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | -| `download` | [?Operations\Download](../../Models/Operations/Download.md) | :heavy_minus_sign: | Indicate that you want to start download any updates found. | 1 | - -### Response - -**[?Operations\CheckForUpdatesResponse](../../Models/Operations/CheckForUpdatesResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | -| Errors\CheckForUpdatesBadRequest | 400 | application/json | -| Errors\CheckForUpdatesUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | - -## getUpdateStatus - -Querying status of updates - -### Example Usage - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use LukeHagar\Plex_API; - -$sdk = Plex_API\PlexAPI::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->updater->getUpdateStatus( - -); - -if ($response->object !== null) { - // handle response -} -``` - -### Response - -**[?Operations\GetUpdateStatusResponse](../../Models/Operations/GetUpdateStatusResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | -| Errors\GetUpdateStatusBadRequest | 400 | application/json | -| Errors\GetUpdateStatusUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\SDKException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/users/README.md b/docs/sdks/users/README.md index 043dddf..8fc4edf 100644 --- a/docs/sdks/users/README.md +++ b/docs/sdks/users/README.md @@ -25,7 +25,6 @@ $sdk = Plex_API\PlexAPI::builder()->build(); $request = new Operations\GetUsersRequest( clientID: '3381b62b-9ab7-4e37-827b-203e9809eb58', - xPlexToken: 'CV5xoxjTpFKUzBTShsaf', clientName: 'Plex for Roku', deviceNickname: 'Roku 3', deviceName: 'Chrome', @@ -37,6 +36,7 @@ $request = new Operations\GetUsersRequest( xPlexSessionId: '97e136ef-4ddd-4ff3-89a7-a5820c96c2ca', xPlexLanguage: 'en', platformVersion: '4.3 build 1057', + xPlexToken: 'CV5xoxjTpFKUzBTShsaf', ); $response = $sdk->users->getUsers( diff --git a/src/Models/Operations/GetAllLibrariesDirectory.php b/src/Models/Operations/GetAllLibrariesDirectory.php index 650dada..3f2acd2 100644 --- a/src/Models/Operations/GetAllLibrariesDirectory.php +++ b/src/Models/Operations/GetAllLibrariesDirectory.php @@ -12,6 +12,7 @@ namespace LukeHagar\Plex_API\Models\Operations; class GetAllLibrariesDirectory { /** + * Indicates whether syncing is allowed. * * @var bool $allowSync */ @@ -19,6 +20,7 @@ class GetAllLibrariesDirectory public bool $allowSync; /** + * URL for the background artwork of the media container. * * @var string $art */ @@ -26,6 +28,7 @@ class GetAllLibrariesDirectory public string $art; /** + * The relative path to the composite media item. * * @var string $composite */ @@ -33,6 +36,7 @@ class GetAllLibrariesDirectory public string $composite; /** + * UNKNOWN * * @var bool $filters */ @@ -40,6 +44,7 @@ class GetAllLibrariesDirectory public bool $filters; /** + * Indicates whether the library is currently being refreshed or updated * * @var bool $refreshing */ @@ -47,6 +52,7 @@ class GetAllLibrariesDirectory public bool $refreshing; /** + * URL for the thumbnail image of the media container. * * @var string $thumb */ @@ -54,6 +60,7 @@ class GetAllLibrariesDirectory public string $thumb; /** + * The library key representing the unique identifier * * @var string $key */ @@ -62,12 +69,14 @@ class GetAllLibrariesDirectory /** * - * @var string $type + * @var GetAllLibrariesType $type */ #[\Speakeasy\Serializer\Annotation\SerializedName('type')] - public string $type; + #[\Speakeasy\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\GetAllLibrariesType')] + public GetAllLibrariesType $type; /** + * The title of the library * * @var string $title */ @@ -75,6 +84,7 @@ class GetAllLibrariesDirectory public string $title; /** + * The Plex agent used to match and retrieve media metadata. * * @var string $agent */ @@ -82,6 +92,7 @@ class GetAllLibrariesDirectory public string $agent; /** + * UNKNOWN * * @var string $scanner */ @@ -89,6 +100,7 @@ class GetAllLibrariesDirectory public string $scanner; /** + * The Plex library language that has been set * * @var string $language */ @@ -96,6 +108,7 @@ class GetAllLibrariesDirectory public string $language; /** + * The universally unique identifier for the library. * * @var string $uuid */ @@ -110,14 +123,6 @@ class GetAllLibrariesDirectory #[\Speakeasy\Serializer\Annotation\SerializedName('updatedAt')] public int $updatedAt; - /** - * Unix epoch datetime in seconds - * - * @var int $createdAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('createdAt')] - public int $createdAt; - /** * Unix epoch datetime in seconds * @@ -127,6 +132,7 @@ class GetAllLibrariesDirectory public int $scannedAt; /** + * UNKNOWN * * @var bool $content */ @@ -134,6 +140,7 @@ class GetAllLibrariesDirectory public bool $content; /** + * UNKNOWN * * @var bool $directory */ @@ -141,20 +148,13 @@ class GetAllLibrariesDirectory public bool $directory; /** - * Unix epoch datetime in seconds + * The number of seconds since the content was last changed relative to now. * * @var int $contentChangedAt */ #[\Speakeasy\Serializer\Annotation\SerializedName('contentChangedAt')] public int $contentChangedAt; - /** - * - * @var int $hidden - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('hidden')] - public int $hidden; - /** * $location * @@ -164,6 +164,23 @@ class GetAllLibrariesDirectory #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetAllLibrariesLocation>')] public array $location; + /** + * + * @var ?int $createdAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('createdAt')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $createdAt = null; + + /** + * + * @var ?Hidden $hidden + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('hidden')] + #[\Speakeasy\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\Hidden|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Hidden $hidden = null; + /** * @param bool $allowSync * @param string $art @@ -172,23 +189,23 @@ class GetAllLibrariesDirectory * @param bool $refreshing * @param string $thumb * @param string $key - * @param string $type + * @param GetAllLibrariesType $type * @param string $title * @param string $agent * @param string $scanner * @param string $language * @param string $uuid * @param int $updatedAt - * @param int $createdAt * @param int $scannedAt * @param bool $content * @param bool $directory * @param int $contentChangedAt - * @param int $hidden * @param array $location + * @param ?int $createdAt + * @param ?Hidden $hidden * @phpstan-pure */ - public function __construct(bool $allowSync, string $art, string $composite, bool $filters, bool $refreshing, string $thumb, string $key, string $type, string $title, string $agent, string $scanner, string $language, string $uuid, int $updatedAt, int $createdAt, int $scannedAt, bool $content, bool $directory, int $contentChangedAt, int $hidden, array $location) + public function __construct(bool $allowSync, string $art, string $composite, bool $filters, bool $refreshing, string $thumb, string $key, GetAllLibrariesType $type, string $title, string $agent, string $scanner, string $language, string $uuid, int $updatedAt, int $scannedAt, bool $content, bool $directory, int $contentChangedAt, array $location, ?int $createdAt = null, ?Hidden $hidden = Hidden::Disable) { $this->allowSync = $allowSync; $this->art = $art; @@ -204,12 +221,12 @@ class GetAllLibrariesDirectory $this->language = $language; $this->uuid = $uuid; $this->updatedAt = $updatedAt; - $this->createdAt = $createdAt; $this->scannedAt = $scannedAt; $this->content = $content; $this->directory = $directory; $this->contentChangedAt = $contentChangedAt; - $this->hidden = $hidden; $this->location = $location; + $this->createdAt = $createdAt; + $this->hidden = $hidden; } } \ No newline at end of file diff --git a/src/Models/Operations/GetAllLibrariesLocation.php b/src/Models/Operations/GetAllLibrariesLocation.php index 4e88295..7f1d29d 100644 --- a/src/Models/Operations/GetAllLibrariesLocation.php +++ b/src/Models/Operations/GetAllLibrariesLocation.php @@ -12,6 +12,7 @@ namespace LukeHagar\Plex_API\Models\Operations; class GetAllLibrariesLocation { /** + * The ID of the location. * * @var int $id */ @@ -19,6 +20,7 @@ class GetAllLibrariesLocation public int $id; /** + * The path to the media item. * * @var string $path */ diff --git a/src/Models/Operations/GetAllLibrariesMediaContainer.php b/src/Models/Operations/GetAllLibrariesMediaContainer.php index 0f5b0b7..c0b53c5 100644 --- a/src/Models/Operations/GetAllLibrariesMediaContainer.php +++ b/src/Models/Operations/GetAllLibrariesMediaContainer.php @@ -12,6 +12,7 @@ namespace LukeHagar\Plex_API\Models\Operations; class GetAllLibrariesMediaContainer { /** + * Number of media items returned in this response. * * @var int $size */ @@ -19,6 +20,7 @@ class GetAllLibrariesMediaContainer public int $size; /** + * Indicates whether syncing is allowed. * * @var bool $allowSync */ @@ -26,6 +28,7 @@ class GetAllLibrariesMediaContainer public bool $allowSync; /** + * The primary title of the media container. * * @var string $title1 */ @@ -35,20 +38,21 @@ class GetAllLibrariesMediaContainer /** * $directory * - * @var array $directory + * @var ?array $directory */ #[\Speakeasy\Serializer\Annotation\SerializedName('Directory')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetAllLibrariesDirectory>')] - public array $directory; + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetAllLibrariesDirectory>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $directory = null; /** * @param int $size * @param bool $allowSync * @param string $title1 - * @param array $directory + * @param ?array $directory * @phpstan-pure */ - public function __construct(int $size, bool $allowSync, string $title1, array $directory) + public function __construct(int $size, bool $allowSync, string $title1, ?array $directory = null) { $this->size = $size; $this->allowSync = $allowSync; diff --git a/src/Models/Operations/GetAllLibrariesResponseBody.php b/src/Models/Operations/GetAllLibrariesResponseBody.php index a885f28..b0e26a4 100644 --- a/src/Models/Operations/GetAllLibrariesResponseBody.php +++ b/src/Models/Operations/GetAllLibrariesResponseBody.php @@ -14,17 +14,18 @@ class GetAllLibrariesResponseBody { /** * - * @var GetAllLibrariesMediaContainer $mediaContainer + * @var ?GetAllLibrariesMediaContainer $mediaContainer */ #[\Speakeasy\Serializer\Annotation\SerializedName('MediaContainer')] - #[\Speakeasy\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\GetAllLibrariesMediaContainer')] - public GetAllLibrariesMediaContainer $mediaContainer; + #[\Speakeasy\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\GetAllLibrariesMediaContainer|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?GetAllLibrariesMediaContainer $mediaContainer = null; /** - * @param GetAllLibrariesMediaContainer $mediaContainer + * @param ?GetAllLibrariesMediaContainer $mediaContainer * @phpstan-pure */ - public function __construct(GetAllLibrariesMediaContainer $mediaContainer) + public function __construct(?GetAllLibrariesMediaContainer $mediaContainer = null) { $this->mediaContainer = $mediaContainer; } diff --git a/src/Models/Operations/GetAllLibrariesType.php b/src/Models/Operations/GetAllLibrariesType.php new file mode 100644 index 0000000..0d61a28 --- /dev/null +++ b/src/Models/Operations/GetAllLibrariesType.php @@ -0,0 +1,21 @@ +