From f9354a4ec2a2c20e44a05ced833033163bf849cd Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Fri, 2 May 2025 00:11:12 +0000 Subject: [PATCH] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.531.4 --- .gitignore | 2 + .speakeasy/gen.lock | 30 +- .speakeasy/gen.yaml | 3 +- .speakeasy/workflow.lock | 12 +- Gemfile.lock | 2 +- RELEASES.md | 12 +- docs/models/operations/attributes.md | 11 + docs/models/operations/chapter.md | 15 + docs/models/operations/extras.md | 8 + .../operations/getallmedialibrarystream.md | 104 +++---- .../getallmedialibrarystreamtype.md | 16 ++ .../operations/getmediametadatacountry.md | 12 +- .../operations/getmediametadatadirector.md | 15 +- .../operations/getmediametadatagenre.md | 12 +- .../operations/getmediametadataimage.md | 10 +- .../operations/getmediametadatalibrarytype.md | 11 + .../operations/getmediametadatametadata.md | 141 +++++----- .../models/operations/getmediametadatarole.md | 16 +- .../operations/getmediametadatastream.md | 104 +++---- .../operations/getmediametadatastreamtype.md | 16 ++ .../models/operations/getmediametadatatype.md | 16 ++ .../getmediametadataultrablurcolors.md | 12 +- .../operations/getmediametadatawriter.md | 15 +- docs/models/operations/marker.md | 15 + docs/models/operations/stream.md | 104 +++---- docs/models/operations/streamtype.md | 16 ++ lib/plex_ruby_sdk/models/operations.rb | 9 + .../models/operations/attributes.rb | 37 +++ .../models/operations/chapter.rb | 53 ++++ lib/plex_ruby_sdk/models/operations/extras.rb | 33 +++ .../get_all_media_library_stream.rb | 28 +- .../get_all_media_library_streamtype.rb | 25 ++ .../operations/get_media_meta_data_country.rb | 18 +- .../get_media_meta_data_director.rb | 20 +- .../operations/get_media_meta_data_genre.rb | 9 +- .../operations/get_media_meta_data_image.rb | 10 +- .../get_media_meta_data_library_type.rb | 22 ++ .../get_media_meta_data_metadata.rb | 239 +++++++++------- .../operations/get_media_meta_data_role.rb | 22 +- .../operations/get_media_meta_data_stream.rb | 28 +- .../get_media_meta_data_streamtype.rb | 25 ++ .../operations/get_media_meta_data_type.rb | 25 ++ .../get_media_meta_data_ultrablurcolors.rb | 8 +- .../operations/get_media_meta_data_writer.rb | 20 +- lib/plex_ruby_sdk/models/operations/marker.rb | 53 ++++ lib/plex_ruby_sdk/models/operations/stream.rb | 28 +- .../models/operations/streamtype.rb | 25 ++ lib/plex_ruby_sdk/sdkconfiguration.rb | 6 +- plex_ruby_sdk.gemspec | 2 +- sorbet/rbi/gems/faraday-multipart@1.1.0.rbi | 258 ++++++++++++++++++ sorbet/rbi/gems/faraday-net_http@3.4.0.rbi | 146 ++++++++++ 51 files changed, 1423 insertions(+), 456 deletions(-) create mode 100644 docs/models/operations/attributes.md create mode 100644 docs/models/operations/chapter.md create mode 100644 docs/models/operations/extras.md create mode 100644 docs/models/operations/getallmedialibrarystreamtype.md create mode 100644 docs/models/operations/getmediametadatalibrarytype.md create mode 100644 docs/models/operations/getmediametadatastreamtype.md create mode 100644 docs/models/operations/getmediametadatatype.md create mode 100644 docs/models/operations/marker.md create mode 100644 docs/models/operations/streamtype.md create mode 100644 lib/plex_ruby_sdk/models/operations/attributes.rb create mode 100644 lib/plex_ruby_sdk/models/operations/chapter.rb create mode 100644 lib/plex_ruby_sdk/models/operations/extras.rb create mode 100644 lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb create mode 100644 lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_type.rb create mode 100644 lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb create mode 100644 lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb create mode 100644 lib/plex_ruby_sdk/models/operations/marker.rb create mode 100644 lib/plex_ruby_sdk/models/operations/streamtype.rb create mode 100644 sorbet/rbi/gems/faraday-multipart@1.1.0.rbi create mode 100644 sorbet/rbi/gems/faraday-net_http@3.4.0.rbi diff --git a/.gitignore b/.gitignore index be8123c..281b2af 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +**/.speakeasy/temp/ +**/.speakeasy/logs/ *.gem .rbenv-gemsets .DS_Store diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 47e73c3..9d40177 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: aa9449e7-c19d-411d-b8e2-f9c5fe982f6f management: - docChecksum: 89dadbc8c2d01913eaf905dadd40f814 + docChecksum: d79f1dea291e60a9e3b3fc2de2e0da83 docVersion: 0.0.3 speakeasyVersion: 1.531.4 generationVersion: 2.570.4 - releaseVersion: 0.11.1 - configChecksum: 8a24419ec9bfe8a7eb24ce8f5a74b4a1 + releaseVersion: 0.12.1 + configChecksum: 20fc5fc2fa807de5bbff3e0f1c3de8d6 repoURL: https://github.com/LukeHagar/plexruby.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexruby @@ -359,12 +359,14 @@ generatedFiles: - docs/models/operations/allowtuners.md - docs/models/operations/applyupdatesrequest.md - docs/models/operations/applyupdatesresponse.md + - docs/models/operations/attributes.md - docs/models/operations/autoselectsubtitle.md - docs/models/operations/billing.md - docs/models/operations/butlertask.md - docs/models/operations/butlertasks.md - docs/models/operations/cancelserveractivitiesrequest.md - docs/models/operations/cancelserveractivitiesresponse.md + - docs/models/operations/chapter.md - docs/models/operations/checkforupdatesrequest.md - docs/models/operations/checkforupdatesresponse.md - docs/models/operations/clearplaylistcontentsrequest.md @@ -393,6 +395,7 @@ generatedFiles: - docs/models/operations/enablecreditsmarkergeneration.md - docs/models/operations/enablepapertrailresponse.md - docs/models/operations/episodesort.md + - docs/models/operations/extras.md - docs/models/operations/feature.md - docs/models/operations/field.md - docs/models/operations/fieldtype.md @@ -445,6 +448,7 @@ generatedFiles: - docs/models/operations/getallmedialibraryrole.md - docs/models/operations/getallmedialibrarysort.md - docs/models/operations/getallmedialibrarystream.md + - docs/models/operations/getallmedialibrarystreamtype.md - docs/models/operations/getallmedialibrarytype.md - docs/models/operations/getallmedialibraryultrablurcolors.md - docs/models/operations/getallmedialibrarywriter.md @@ -564,6 +568,7 @@ generatedFiles: - docs/models/operations/getmediametadatahasthumbnail.md - docs/models/operations/getmediametadataimage.md - docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md + - docs/models/operations/getmediametadatalibrarytype.md - docs/models/operations/getmediametadatalocation.md - docs/models/operations/getmediametadatamedia.md - docs/models/operations/getmediametadatamediacontainer.md @@ -579,6 +584,8 @@ generatedFiles: - docs/models/operations/getmediametadatarole.md - docs/models/operations/getmediametadatasimilar.md - docs/models/operations/getmediametadatastream.md + - docs/models/operations/getmediametadatastreamtype.md + - docs/models/operations/getmediametadatatype.md - docs/models/operations/getmediametadataultrablurcolors.md - docs/models/operations/getmediametadatawriter.md - docs/models/operations/getmediapostersmediacontainer.md @@ -815,6 +822,7 @@ generatedFiles: - docs/models/operations/loglineresponse.md - docs/models/operations/logmultilineresponse.md - docs/models/operations/mailingliststatus.md + - docs/models/operations/marker.md - docs/models/operations/markplayedrequest.md - docs/models/operations/markplayedresponse.md - docs/models/operations/markunplayedrequest.md @@ -918,6 +926,7 @@ generatedFiles: - docs/models/operations/stoptranscodesessionrequest.md - docs/models/operations/stoptranscodesessionresponse.md - docs/models/operations/stream.md + - docs/models/operations/streamtype.md - docs/models/operations/subscription.md - docs/models/operations/tag.md - docs/models/operations/taskname.md @@ -1299,12 +1308,14 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/allowtuners.rb - lib/plex_ruby_sdk/models/operations/applyupdates_request.rb - lib/plex_ruby_sdk/models/operations/applyupdates_response.rb + - lib/plex_ruby_sdk/models/operations/attributes.rb - lib/plex_ruby_sdk/models/operations/autoselectsubtitle.rb - lib/plex_ruby_sdk/models/operations/billing.rb - lib/plex_ruby_sdk/models/operations/butlertask.rb - lib/plex_ruby_sdk/models/operations/butlertasks.rb - lib/plex_ruby_sdk/models/operations/cancelserveractivities_request.rb - lib/plex_ruby_sdk/models/operations/cancelserveractivities_response.rb + - lib/plex_ruby_sdk/models/operations/chapter.rb - lib/plex_ruby_sdk/models/operations/checkforupdates_request.rb - lib/plex_ruby_sdk/models/operations/checkforupdates_response.rb - lib/plex_ruby_sdk/models/operations/clearplaylistcontents_request.rb @@ -1333,6 +1344,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb - lib/plex_ruby_sdk/models/operations/enablepapertrail_response.rb - lib/plex_ruby_sdk/models/operations/episodesort.rb + - lib/plex_ruby_sdk/models/operations/extras.rb - lib/plex_ruby_sdk/models/operations/feature.rb - lib/plex_ruby_sdk/models/operations/field.rb - lib/plex_ruby_sdk/models/operations/fieldtype.rb @@ -1385,6 +1397,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_all_media_library_role.rb - lib/plex_ruby_sdk/models/operations/get_all_media_library_sort.rb - lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb + - lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb - lib/plex_ruby_sdk/models/operations/get_all_media_library_type.rb - lib/plex_ruby_sdk/models/operations/get_all_media_library_ultrablurcolors.rb - lib/plex_ruby_sdk/models/operations/get_all_media_library_writer.rb @@ -1465,6 +1478,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_image.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb + - lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_type.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_location.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb @@ -1480,6 +1494,8 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_similar.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb + - lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb + - lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_ultrablurcolors.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb - lib/plex_ruby_sdk/models/operations/get_media_posters_mediacontainer.rb @@ -1755,6 +1771,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/logline_response.rb - lib/plex_ruby_sdk/models/operations/logmultiline_response.rb - lib/plex_ruby_sdk/models/operations/mailingliststatus.rb + - lib/plex_ruby_sdk/models/operations/marker.rb - lib/plex_ruby_sdk/models/operations/markplayed_request.rb - lib/plex_ruby_sdk/models/operations/markplayed_response.rb - lib/plex_ruby_sdk/models/operations/markunplayed_request.rb @@ -1858,6 +1875,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/stoptranscodesession_request.rb - lib/plex_ruby_sdk/models/operations/stoptranscodesession_response.rb - lib/plex_ruby_sdk/models/operations/stream.rb + - lib/plex_ruby_sdk/models/operations/streamtype.rb - lib/plex_ruby_sdk/models/operations/subscription.rb - lib/plex_ruby_sdk/models/operations/tag.rb - lib/plex_ruby_sdk/models/operations/taskname.rb @@ -2307,7 +2325,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", "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"}]}]}} + 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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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: @@ -2450,7 +2468,7 @@ examples: 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"}]}]}} + 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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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": @@ -2561,7 +2579,7 @@ examples: 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"}]}, {"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"}]}]}} + 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": "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"}, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "tag": "Crime", "filter": "genre=19"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}, {"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Guid": [{"id": "imdb://tt3032476"}, {"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "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"}], "Chapter": [{"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}], "Marker": [{"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}], "Extras": {"size": 1}}, {"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"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "tag": "Crime", "filter": "genre=19"}, {"id": 259, "tag": "Crime", "filter": "genre=19"}, {"id": 259, "tag": "Crime", "filter": "genre=19"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}], "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"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Guid": [{"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "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"}], "Chapter": [{"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}], "Marker": [{"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}], "Extras": {"size": 1}}, {"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"}, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "format": "srt", "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, "key": "/library/streams/216389", "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, "tag": "Crime", "filter": "genre=19"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}], "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"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Guid": [{"id": "imdb://tt3032476"}, {"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "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"}], "Chapter": [{"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}], "Marker": [{"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}], "Extras": {"size": 1}}]}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index d09d889..d37e3e8 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -11,11 +11,12 @@ generation: parameterOrderingFeb2024: true requestResponseComponentNamesFeb2024: true securityFeb2025: false + sharedErrorComponentsApr2025: false auth: oAuth2ClientCredentialsEnabled: false oAuth2PasswordEnabled: false ruby: - version: 0.11.1 + version: 0.12.1 additionalDependencies: development: {} runtime: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 9d4c343..db50e03 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -9,19 +9,19 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615 - sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9 + sourceRevisionDigest: sha256:31ab7b2e65ccf1e0349bcd8b35791d1ce80091313481874749163fc0c80fd8ed + sourceBlobDigest: sha256:d971fff9723c626fe70403a2a83d813c396a20b06ccd6b899263762038cfdbb0 tags: - latest - - speakeasy-sdk-regen-1745107771 + - speakeasy-sdk-regen-1746144545 targets: plexruby: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615 - sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9 + sourceRevisionDigest: sha256:31ab7b2e65ccf1e0349bcd8b35791d1ce80091313481874749163fc0c80fd8ed + sourceBlobDigest: sha256:d971fff9723c626fe70403a2a83d813c396a20b06ccd6b899263762038cfdbb0 codeSamplesNamespace: code-samples-ruby-plexruby - codeSamplesRevisionDigest: sha256:198b59e6e22a3e54d0d70313049b6eb164324914688a30921eb7a81f89ee4e08 + codeSamplesRevisionDigest: sha256:19decd0842d9054e6319e190ba63514ca8ee2e51e23ff636c936b890024e7870 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/Gemfile.lock b/Gemfile.lock index 1aabe96..c0bfdbf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - plex_ruby_sdk (0.11.1) + plex_ruby_sdk (0.12.1) faraday faraday-multipart faraday-retry (~> 2.2.1) diff --git a/RELEASES.md b/RELEASES.md index a6b757a..46ffc8a 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -796,4 +796,14 @@ Based on: ### Generated - [ruby v0.11.1] . ### Releases -- [Ruby Gems v0.11.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.11.1 - . \ No newline at end of file +- [Ruby Gems v0.11.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.11.1 - . + +## 2025-05-02 00:08:48 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.531.4 (2.570.4) https://github.com/speakeasy-api/speakeasy +### Generated +- [ruby v0.12.1] . +### Releases +- [Ruby Gems v0.12.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.12.1 - . \ No newline at end of file diff --git a/docs/models/operations/attributes.md b/docs/models/operations/attributes.md new file mode 100644 index 0000000..18305d2 --- /dev/null +++ b/docs/models/operations/attributes.md @@ -0,0 +1,11 @@ +# Attributes + +Attributes associated with the marker. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | The identifier for the attributes. | 306970 | +| `version` | *T.nilable(::Integer)* | :heavy_minus_sign: | The version number of the marker attributes. | 4 | \ No newline at end of file diff --git a/docs/models/operations/chapter.md b/docs/models/operations/chapter.md new file mode 100644 index 0000000..2f3b48e --- /dev/null +++ b/docs/models/operations/chapter.md @@ -0,0 +1,15 @@ +# Chapter + +The thumbnail for the chapter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 4 | +| `filter` | *::String* | :heavy_check_mark: | N/A | thumb=4 | +| `index` | *::Integer* | :heavy_check_mark: | N/A | 1 | +| `start_time_offset` | *::Integer* | :heavy_check_mark: | N/A | 0 | +| `end_time_offset` | *::Integer* | :heavy_check_mark: | N/A | 100100 | +| `thumb` | *::String* | :heavy_check_mark: | N/A | /library/media/46883/chapterImages/1 | \ No newline at end of file diff --git a/docs/models/operations/extras.md b/docs/models/operations/extras.md new file mode 100644 index 0000000..e46cb7f --- /dev/null +++ b/docs/models/operations/extras.md @@ -0,0 +1,8 @@ +# Extras + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `size` | *T.nilable(::Integer)* | :heavy_minus_sign: | The size of the extras. | 1 | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarystream.md b/docs/models/operations/getallmedialibrarystream.md index 21c269b..6f0ed2d 100644 --- a/docs/models/operations/getallmedialibrarystream.md +++ b/docs/models/operations/getallmedialibrarystream.md @@ -3,54 +3,56 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `stream_type` | *::Integer* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | -| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is default. | true | -| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream. | hevc | -| `index` | *::Integer* | :heavy_check_mark: | Index of the stream. | 0 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `language` | *T.nilable(::String)* | :heavy_minus_sign: | Language of the stream. | English | -| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag (e.g., en). | en | -| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | ISO language code. | eng | -| `header_compression` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | -| `dovibl_compat_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | -| `dovibl_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | -| `doviel_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | -| `dovi_level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision level. | 6 | -| `dovi_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | -| `dovi_profile` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision profile. | 8 | -| `dovirpu_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | -| `dovi_version` | *T.nilable(::String)* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | -| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | -| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma sample location. | topleft | -| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | -| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video height. | 1608 | -| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video width. | 3840 | -| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | Color primaries used. | bt2020 | -| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | Color range (e.g., tv). | tv | -| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | Color space. | bt2020nc | -| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | -| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Height of the video stream. | 1602 | -| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video level. | 150 | -| `original` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the original stream. | true | -| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile. | main 10 | -| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | -| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | -| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames. | 1 | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Width of the video stream. | 3840 | -| `display_title` | *::String* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `extended_display_title` | *::String* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | -| `forced` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | -| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | -| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | -| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | -| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | -| `dub` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | -| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `stream_type` | [Models::Operations::GetAllMediaLibraryStreamType](../../models/operations/getallmedialibrarystreamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | +| `format` | *T.nilable(::String)* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | +| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `index` | *T.nilable(::Integer)* | :heavy_minus_sign: | Index of the stream. | 0 | +| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | +| `language` | *T.nilable(::String)* | :heavy_minus_sign: | Language of the stream. | English | +| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | ISO language code. | eng | +| `header_compression` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | +| `dovibl_compat_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `dovibl_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `doviel_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `dovi_level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `dovi_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `dovi_profile` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `dovirpu_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `dovi_version` | *T.nilable(::String)* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video height. | 1608 | +| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video width. | 3840 | +| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | Color space. | bt2020nc | +| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | +| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video level. | 150 | +| `original` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile. | main 10 | +| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | +| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | +| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `display_title` | *::String* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `extended_display_title` | *::String* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `forced` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `dub` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarystreamtype.md b/docs/models/operations/getallmedialibrarystreamtype.md new file mode 100644 index 0000000..8975cfe --- /dev/null +++ b/docs/models/operations/getallmedialibrarystreamtype.md @@ -0,0 +1,16 @@ +# GetAllMediaLibraryStreamType + +Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `VIDEO` | 1 | +| `AUDIO` | 2 | +| `SUBTITLE` | 3 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatacountry.md b/docs/models/operations/getmediametadatacountry.md index c3d60a6..fb1186d 100644 --- a/docs/models/operations/getmediametadatacountry.md +++ b/docs/models/operations/getmediametadatacountry.md @@ -1,10 +1,12 @@ # GetMediaMetaDataCountry +The filter query string for country media items. + ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | The unique country identifier. | 58591 | -| `filter` | *::String* | :heavy_check_mark: | The filter string for the country. | country=58591 | -| `tag` | *::String* | :heavy_check_mark: | The country name. | United States of America | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 259 | +| `tag` | *::String* | :heavy_check_mark: | The country of origin of this media item | United States of America | +| `filter` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | country=19 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatadirector.md b/docs/models/operations/getmediametadatadirector.md index 6ce241e..1d5ba22 100644 --- a/docs/models/operations/getmediametadatadirector.md +++ b/docs/models/operations/getmediametadatadirector.md @@ -3,11 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | The unique role identifier. | 109501 | -| `filter` | *::String* | :heavy_check_mark: | The filter string for the role. | actor=109501 | -| `tag` | *::String* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | -| `tag_key` | *::String* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | -| `role` | *T.nilable(::String)* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | -| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique identifier for the director. | 126522 | +| `tag` | *::String* | :heavy_check_mark: | The role of Director | Danny Boyle | +| `filter` | *::String* | :heavy_check_mark: | The filter string used to query this director. | director=235876 | +| `tag_key` | *T.nilable(::String)* | :heavy_minus_sign: | A unique key associated with the director's tag, used for internal identification. | 5d776831151a60001f24d031 | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatagenre.md b/docs/models/operations/getmediametadatagenre.md index 5d0da7c..84e49a5 100644 --- a/docs/models/operations/getmediametadatagenre.md +++ b/docs/models/operations/getmediametadatagenre.md @@ -1,10 +1,12 @@ # GetMediaMetaDataGenre +The filter query string for similar items. + ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | The unique genre identifier. | 1057 | -| `filter` | *::String* | :heavy_check_mark: | The filter string for the genre. | genre=1057 | -| `tag` | *::String* | :heavy_check_mark: | The genre name. | Crime | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 259 | +| `tag` | *::String* | :heavy_check_mark: | The genre name of this media-item
| Crime | +| `filter` | *::String* | :heavy_check_mark: | N/A | genre=19 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadataimage.md b/docs/models/operations/getmediametadataimage.md index c10c29e..cfa610b 100644 --- a/docs/models/operations/getmediametadataimage.md +++ b/docs/models/operations/getmediametadataimage.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | -| `alt` | *::String* | :heavy_check_mark: | Alternate text for the image. | Better Call Saul | -| `type` | *::String* | :heavy_check_mark: | The type of image (e.g., coverPoster, background, clearLogo). | coverPoster | -| `url` | *::String* | :heavy_check_mark: | The URL of the image. | /library/metadata/44288/thumb/1736487993 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `alt` | *::String* | :heavy_check_mark: | N/A | Episode 1 | +| `type` | [Models::Operations::GetMediaMetaDataLibraryType](../../models/operations/getmediametadatalibrarytype.md) | :heavy_check_mark: | N/A | background | +| `url` | *::String* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatalibrarytype.md b/docs/models/operations/getmediametadatalibrarytype.md new file mode 100644 index 0000000..77547ef --- /dev/null +++ b/docs/models/operations/getmediametadatalibrarytype.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataLibraryType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `COVER_POSTER` | coverPoster | +| `BACKGROUND` | background | +| `SNAPSHOT` | snapshot | +| `CLEAR_LOGO` | clearLogo | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatametadata.md b/docs/models/operations/getmediametadatametadata.md index 062f414..9986255 100644 --- a/docs/models/operations/getmediametadatametadata.md +++ b/docs/models/operations/getmediametadatametadata.md @@ -1,68 +1,83 @@ # GetMediaMetaDataMetadata +Unknown + + ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `rating_key` | *::String* | :heavy_check_mark: | The rating key of the metadata item. | 44288 | -| `parent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the parent of this metadata item. | 48047 | -| `grandparent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the grandparent of this metadata item. | 45520 | -| `parent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | A GUID identifying the parent entity (e.g., season) for the item. | plex://season/618b89208dde18df707ad15c | -| `grandparent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | A GUID identifying the grandparent entity (e.g., show). | plex://show/5e16253691c20300412003a8 | -| `grandparent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | A URL-friendly identifier (slug) for the grandparent entity. | alice-in-borderland-2020 | -| `grandparent_key` | *T.nilable(::String)* | :heavy_minus_sign: | A key identifying the grandparent metadata in the library. | /library/metadata/45520 | -| `parent_key` | *T.nilable(::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` | *T.nilable(::String)* | :heavy_minus_sign: | A URL-friendly identifier for the item. | better-call-saul | -| `studio` | *T.nilable(::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 | -| `original_title` | *T.nilable(::String)* | :heavy_minus_sign: | The original title of the content. | Wicked: Part I | -| `library_section_title` | *::String* | :heavy_check_mark: | The title of the library section. | TV Series | -| `library_section_id` | *::Integer* | :heavy_check_mark: | The ID of the library section. | 2 | -| `library_section_key` | *::String* | :heavy_check_mark: | The key of the library section. | /library/sections/2 | -| `content_rating` | *T.nilable(::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` | *T.nilable(::Integer)* | :heavy_minus_sign: | The index or order of the item. | 1 | -| `grandparent_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the grandparent entity (typically the show's title). | Alice in Borderland | -| `parent_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the parent entity (typically the season's title). | Season 2 | -| `audience_rating` | *T.nilable(::Float)* | :heavy_minus_sign: | The audience rating for the content. | 8.7 | -| `view_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 | -| `skip_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 | -| `last_viewed_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 | -| `year` | *::Integer* | :heavy_check_mark: | The release year. | 2015 | -| `rating` | *T.nilable(::Float)* | :heavy_minus_sign: | The general rating | 6 | -| `rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image). | rottentomatoes://image.rating.ripe | -| `tagline` | *T.nilable(::String)* | :heavy_minus_sign: | The tagline of the content. | Make the call | -| `chapter_source` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | media | -| `primary_extra_key` | *T.nilable(::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` | *T.nilable(::String)* | :heavy_minus_sign: | URL of the theme image. | /library/metadata/44288/theme/1736487993 | -| `duration` | *::Integer* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 | -| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_minus_sign: | The original release date. | 2015-02-08 | -| `leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 | -| `viewed_leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 | -| `child_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of child items. | 6 | -| `added_at` | *::Integer* | :heavy_check_mark: | N/A | 1556281940 | -| `updated_at` | *::Integer* | :heavy_check_mark: | N/A | 1556281940 | -| `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | The URL for the audience rating image. | themoviedb://image.rating | -| `parent_index` | *T.nilable(::Integer)* | :heavy_minus_sign: | The index number of the parent entity, which could indicate its order or position. | 2 | -| `parent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The URL of the parent's thumbnail image. | /library/metadata/48047/thumb/1671800243 | -| `grandparent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The URL of the grandparent's thumbnail image. | /library/metadata/45520/thumb/1736488003 | -| `grandparent_art` | *T.nilable(::String)* | :heavy_minus_sign: | The URL of the grandparent's art image. | /library/metadata/45520/art/1736488003 | -| `media` | T::Array<[Models::Operations::GetMediaMetaDataMedia](../../models/operations/getmediametadatamedia.md)> | :heavy_minus_sign: | N/A | | -| `image` | T::Array<[Models::Operations::GetMediaMetaDataImage](../../models/operations/getmediametadataimage.md)> | :heavy_check_mark: | An array of image objects. | | -| `ultra_blur_colors` | [Models::Operations::GetMediaMetaDataUltraBlurColors](../../models/operations/getmediametadataultrablurcolors.md) | :heavy_check_mark: | N/A | | -| `genre` | T::Array<[Models::Operations::GetMediaMetaDataGenre](../../models/operations/getmediametadatagenre.md)> | :heavy_minus_sign: | An array of genre tags. | | -| `country` | T::Array<[Models::Operations::GetMediaMetaDataCountry](../../models/operations/getmediametadatacountry.md)> | :heavy_minus_sign: | An array of country tags. | | -| `guids` | T::Array<[Models::Operations::GetMediaMetaDataGuids](../../models/operations/getmediametadataguids.md)> | :heavy_minus_sign: | An array of GUID objects. | | -| `ratings` | T::Array<[Models::Operations::Ratings](../../models/operations/ratings.md)> | :heavy_minus_sign: | An array of rating objects. | | -| `role` | T::Array<[Models::Operations::GetMediaMetaDataRole](../../models/operations/getmediametadatarole.md)> | :heavy_minus_sign: | An array of Actor roles. | | -| `director` | T::Array<[Models::Operations::GetMediaMetaDataDirector](../../models/operations/getmediametadatadirector.md)> | :heavy_minus_sign: | An array of Director roles. | | -| `writer` | T::Array<[Models::Operations::GetMediaMetaDataWriter](../../models/operations/getmediametadatawriter.md)> | :heavy_minus_sign: | An array of Writer roles. | | -| `producer` | T::Array<[Models::Operations::GetMediaMetaDataProducer](../../models/operations/getmediametadataproducer.md)> | :heavy_minus_sign: | An array of Writer roles. | | -| `similar` | T::Array<[Models::Operations::GetMediaMetaDataSimilar](../../models/operations/getmediametadatasimilar.md)> | :heavy_minus_sign: | An array of similar content objects. | | -| `location` | T::Array<[Models::Operations::GetMediaMetaDataLocation](../../models/operations/getmediametadatalocation.md)> | :heavy_minus_sign: | An array of location objects. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `rating_key` | *::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 | +| `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` | *T.nilable(::String)* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios | +| `type` | [Models::Operations::GetMediaMetaDataType](../../models/operations/getmediametadatatype.md) | :heavy_check_mark: | N/A | movie | +| `title` | *::String* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water | +| `title_sort` | *::String* | :heavy_check_mark: | The sort title used for ordering media items. | Whale | +| `content_rating` | *T.nilable(::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 | +| `audience_rating` | *::Float* | :heavy_check_mark: | The audience rating for the media item. | 9.2 | +| `year` | *T.nilable(::Integer)* | :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` | *::Integer* | :heavy_check_mark: | The index position of the media item. | 1 | +| `leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | +| `viewed_leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 | +| `child_count` | *::Integer* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | +| `season_count` | *::Integer* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | +| `duration` | *::Integer* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | +| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | +| `added_at` | *::Integer* | :heavy_check_mark: | N/A | 1556281940 | +| `updated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | +| `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | +| `chapter_source` | *T.nilable(::String)* | :heavy_minus_sign: | The source from which chapter data is derived. | media | +| `primary_extra_key` | *T.nilable(::String)* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 | +| `original_title` | *T.nilable(::String)* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 | +| `parent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the parent media item. | 66 | +| `grandparent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 | +| `parent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `grandparent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `grandparent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 | +| `grandparent_key` | *T.nilable(::String)* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 | +| `parent_key` | *T.nilable(::String)* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 | +| `grandparent_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica | +| `grandparent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 | +| `grandparent_theme` | *T.nilable(::String)* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 | +| `grandparent_art` | *T.nilable(::String)* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 | +| `parent_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the parent media item. | Caprica | +| `parent_index` | *T.nilable(::Integer)* | :heavy_minus_sign: | The index position of the parent media item. | 1 | +| `parent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 | +| `rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe | +| `view_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 | +| `view_offset` | *T.nilable(::Integer)* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 | +| `skip_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 | +| `subtype` | *T.nilable(::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 | +| `last_rated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 | +| `created_at_accuracy` | *T.nilable(::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 | +| `created_at_tz_offset` | *T.nilable(::String)* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 | +| `last_viewed_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 | +| `user_rating` | *T.nilable(::Float)* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 | +| `image` | T::Array<[Models::Operations::GetMediaMetaDataImage](../../models/operations/getmediametadataimage.md)> | :heavy_minus_sign: | N/A | | +| `ultra_blur_colors` | [T.nilable(Models::Operations::GetMediaMetaDataUltraBlurColors)](../../models/operations/getmediametadataultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `library_section_id` | *::Integer* | :heavy_check_mark: | The identifier for the library section. | 1 | +| `library_section_title` | *::String* | :heavy_check_mark: | The title of the library section. | Movies | +| `library_section_key` | *::String* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | +| `media` | T::Array<[Models::Operations::GetMediaMetaDataMedia](../../models/operations/getmediametadatamedia.md)> | :heavy_minus_sign: | N/A | | +| `genre` | T::Array<[Models::Operations::GetMediaMetaDataGenre](../../models/operations/getmediametadatagenre.md)> | :heavy_minus_sign: | N/A | | +| `country` | T::Array<[Models::Operations::GetMediaMetaDataCountry](../../models/operations/getmediametadatacountry.md)> | :heavy_minus_sign: | N/A | | +| `director` | T::Array<[Models::Operations::GetMediaMetaDataDirector](../../models/operations/getmediametadatadirector.md)> | :heavy_minus_sign: | N/A | | +| `writer` | T::Array<[Models::Operations::GetMediaMetaDataWriter](../../models/operations/getmediametadatawriter.md)> | :heavy_minus_sign: | N/A | | +| `producer` | T::Array<[Models::Operations::GetMediaMetaDataProducer](../../models/operations/getmediametadataproducer.md)> | :heavy_minus_sign: | N/A | | +| `role` | T::Array<[Models::Operations::GetMediaMetaDataRole](../../models/operations/getmediametadatarole.md)> | :heavy_minus_sign: | N/A | | +| `guids` | T::Array<[Models::Operations::GetMediaMetaDataGuids](../../models/operations/getmediametadataguids.md)> | :heavy_minus_sign: | N/A | | +| `ratings` | T::Array<[Models::Operations::Ratings](../../models/operations/ratings.md)> | :heavy_minus_sign: | N/A | | +| `similar` | T::Array<[Models::Operations::GetMediaMetaDataSimilar](../../models/operations/getmediametadatasimilar.md)> | :heavy_minus_sign: | N/A | | +| `location` | T::Array<[Models::Operations::GetMediaMetaDataLocation](../../models/operations/getmediametadatalocation.md)> | :heavy_minus_sign: | N/A | | +| `chapter` | T::Array<[Models::Operations::Chapter](../../models/operations/chapter.md)> | :heavy_minus_sign: | N/A | | +| `marker` | T::Array<[Models::Operations::Marker](../../models/operations/marker.md)> | :heavy_minus_sign: | N/A | | +| `extras` | [T.nilable(Models::Operations::Extras)](../../models/operations/extras.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatarole.md b/docs/models/operations/getmediametadatarole.md index 3e2906b..23932fd 100644 --- a/docs/models/operations/getmediametadatarole.md +++ b/docs/models/operations/getmediametadatarole.md @@ -3,11 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | The unique role identifier. | 109501 | -| `filter` | *::String* | :heavy_check_mark: | The filter string for the role. | actor=109501 | -| `tag` | *::String* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | -| `tag_key` | *::String* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | -| `role` | *T.nilable(::String)* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | -| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique identifier for the actor or role. | 126522 | +| `tag` | *::String* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | +| `role` | *T.nilable(::String)* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge | +| `filter` | *::String* | :heavy_check_mark: | The filter string used to query this actor. For example, it may indicate that this is an actor with a given key. | actor=126522 | +| `tag_key` | *T.nilable(::String)* | :heavy_minus_sign: | A unique key associated with the actor's tag, used for internal identification. | 5d77683d85719b001f3a535e | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatastream.md b/docs/models/operations/getmediametadatastream.md index 065eb05..1842164 100644 --- a/docs/models/operations/getmediametadatastream.md +++ b/docs/models/operations/getmediametadatastream.md @@ -3,54 +3,56 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `stream_type` | *::Integer* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | -| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is default. | true | -| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream. | hevc | -| `index` | *::Integer* | :heavy_check_mark: | Index of the stream. | 0 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `language` | *T.nilable(::String)* | :heavy_minus_sign: | Language of the stream. | English | -| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag (e.g., en). | en | -| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | ISO language code. | eng | -| `header_compression` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | -| `dovibl_compat_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | -| `dovibl_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | -| `doviel_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | -| `dovi_level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision level. | 6 | -| `dovi_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | -| `dovi_profile` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision profile. | 8 | -| `dovirpu_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | -| `dovi_version` | *T.nilable(::String)* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | -| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | -| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma sample location. | topleft | -| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | -| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video height. | 1608 | -| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video width. | 3840 | -| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | Color primaries used. | bt2020 | -| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | Color range (e.g., tv). | tv | -| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | Color space. | bt2020nc | -| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | -| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Height of the video stream. | 1602 | -| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video level. | 150 | -| `original` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the original stream. | true | -| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile. | main 10 | -| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | -| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | -| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames. | 1 | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Width of the video stream. | 3840 | -| `display_title` | *::String* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `extended_display_title` | *::String* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | -| `forced` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | -| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | -| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | -| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | -| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | -| `dub` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | -| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `stream_type` | [Models::Operations::GetMediaMetaDataStreamType](../../models/operations/getmediametadatastreamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | +| `format` | *T.nilable(::String)* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | +| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `index` | *T.nilable(::Integer)* | :heavy_minus_sign: | Index of the stream. | 0 | +| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | +| `language` | *T.nilable(::String)* | :heavy_minus_sign: | Language of the stream. | English | +| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | ISO language code. | eng | +| `header_compression` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | +| `dovibl_compat_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `dovibl_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `doviel_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `dovi_level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `dovi_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `dovi_profile` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `dovirpu_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `dovi_version` | *T.nilable(::String)* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video height. | 1608 | +| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video width. | 3840 | +| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | Color space. | bt2020nc | +| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | +| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video level. | 150 | +| `original` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile. | main 10 | +| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | +| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | +| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `display_title` | *::String* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `extended_display_title` | *::String* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `forced` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `dub` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatastreamtype.md b/docs/models/operations/getmediametadatastreamtype.md new file mode 100644 index 0000000..e60f96a --- /dev/null +++ b/docs/models/operations/getmediametadatastreamtype.md @@ -0,0 +1,16 @@ +# GetMediaMetaDataStreamType + +Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `VIDEO` | 1 | +| `AUDIO` | 2 | +| `SUBTITLE` | 3 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatatype.md b/docs/models/operations/getmediametadatatype.md new file mode 100644 index 0000000..389034c --- /dev/null +++ b/docs/models/operations/getmediametadatatype.md @@ -0,0 +1,16 @@ +# GetMediaMetaDataType + +The type of media content + + + +## Values + +| Name | Value | +| --------- | --------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | \ No newline at end of file diff --git a/docs/models/operations/getmediametadataultrablurcolors.md b/docs/models/operations/getmediametadataultrablurcolors.md index 49ae3fc..871313d 100644 --- a/docs/models/operations/getmediametadataultrablurcolors.md +++ b/docs/models/operations/getmediametadataultrablurcolors.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | -| `top_left` | *::String* | :heavy_check_mark: | The top-left color value. | 11333a | -| `top_right` | *::String* | :heavy_check_mark: | The top-right color value. | 1d2721 | -| `bottom_right` | *::String* | :heavy_check_mark: | The bottom-right color value. | 5c451d | -| `bottom_left` | *::String* | :heavy_check_mark: | The bottom-left color value. | 372c10 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `top_left` | *::String* | :heavy_check_mark: | N/A | 11333b | +| `top_right` | *::String* | :heavy_check_mark: | N/A | 0a232d | +| `bottom_right` | *::String* | :heavy_check_mark: | N/A | 73958 | +| `bottom_left` | *::String* | :heavy_check_mark: | N/A | 1f5066 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatawriter.md b/docs/models/operations/getmediametadatawriter.md index 392dc72..0ef0e3e 100644 --- a/docs/models/operations/getmediametadatawriter.md +++ b/docs/models/operations/getmediametadatawriter.md @@ -3,11 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | The unique role identifier. | 109501 | -| `filter` | *::String* | :heavy_check_mark: | The filter string for the role. | actor=109501 | -| `tag` | *::String* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | -| `tag_key` | *::String* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | -| `role` | *T.nilable(::String)* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | -| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | +| `tag` | *::String* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | +| `filter` | *::String* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The URL of the thumbnail image for the writer. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | +| `tag_key` | *T.nilable(::String)* | :heavy_minus_sign: | A unique key associated with the writers tag, used for internal identification. | 5d77683d85719b001f3a535e | \ No newline at end of file diff --git a/docs/models/operations/marker.md b/docs/models/operations/marker.md new file mode 100644 index 0000000..d5846f3 --- /dev/null +++ b/docs/models/operations/marker.md @@ -0,0 +1,15 @@ +# Marker + +The final status of the marker + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 306970 | +| `type` | *::String* | :heavy_check_mark: | N/A | credits | +| `start_time_offset` | *::Integer* | :heavy_check_mark: | N/A | 4176050 | +| `end_time_offset` | *::Integer* | :heavy_check_mark: | N/A | 4393389 | +| `final` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `attributes` | [T.nilable(Models::Operations::Attributes)](../../models/operations/attributes.md) | :heavy_minus_sign: | Attributes associated with the marker. | | \ No newline at end of file diff --git a/docs/models/operations/stream.md b/docs/models/operations/stream.md index d7dc15d..159207d 100644 --- a/docs/models/operations/stream.md +++ b/docs/models/operations/stream.md @@ -3,54 +3,56 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `stream_type` | *::Integer* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | -| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is default. | true | -| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream. | hevc | -| `index` | *::Integer* | :heavy_check_mark: | Index of the stream. | 0 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `language` | *T.nilable(::String)* | :heavy_minus_sign: | Language of the stream. | English | -| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag (e.g., en). | en | -| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | ISO language code. | eng | -| `header_compression` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | -| `dovibl_compat_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | -| `dovibl_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | -| `doviel_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | -| `dovi_level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision level. | 6 | -| `dovi_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | -| `dovi_profile` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision profile. | 8 | -| `dovirpu_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | -| `dovi_version` | *T.nilable(::String)* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | -| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | -| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma sample location. | topleft | -| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | -| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video height. | 1608 | -| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video width. | 3840 | -| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | Color primaries used. | bt2020 | -| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | Color range (e.g., tv). | tv | -| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | Color space. | bt2020nc | -| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | -| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Height of the video stream. | 1602 | -| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video level. | 150 | -| `original` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the original stream. | true | -| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile. | main 10 | -| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | -| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | -| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames. | 1 | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Width of the video stream. | 3840 | -| `display_title` | *::String* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `extended_display_title` | *::String* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | -| `forced` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | -| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | -| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | -| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | -| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | -| `dub` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | -| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `stream_type` | [Models::Operations::StreamType](../../models/operations/streamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | +| `format` | *T.nilable(::String)* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | +| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `index` | *T.nilable(::Integer)* | :heavy_minus_sign: | Index of the stream. | 0 | +| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | +| `language` | *T.nilable(::String)* | :heavy_minus_sign: | Language of the stream. | English | +| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | ISO language code. | eng | +| `header_compression` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | +| `dovibl_compat_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `dovibl_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `doviel_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `dovi_level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `dovi_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `dovi_profile` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `dovirpu_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `dovi_version` | *T.nilable(::String)* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video height. | 1608 | +| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video width. | 3840 | +| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | Color space. | bt2020nc | +| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | +| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video level. | 150 | +| `original` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile. | main 10 | +| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | +| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | +| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `display_title` | *::String* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `extended_display_title` | *::String* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `forced` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `dub` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/streamtype.md b/docs/models/operations/streamtype.md new file mode 100644 index 0000000..de7b5d1 --- /dev/null +++ b/docs/models/operations/streamtype.md @@ -0,0 +1,16 @@ +# StreamType + +Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `VIDEO` | 1 | +| `AUDIO` | 2 | +| `SUBTITLE` | 3 | \ No newline at end of file diff --git a/lib/plex_ruby_sdk/models/operations.rb b/lib/plex_ruby_sdk/models/operations.rb index 261204e..58b7a28 100644 --- a/lib/plex_ruby_sdk/models/operations.rb +++ b/lib/plex_ruby_sdk/models/operations.rb @@ -10,14 +10,17 @@ module PlexRubySDK autoload :Account, 'plex_ruby_sdk/models/operations/account.rb' autoload :Action, 'plex_ruby_sdk/models/operations/action.rb' autoload :Activity, 'plex_ruby_sdk/models/operations/activity.rb' + autoload :Attributes, 'plex_ruby_sdk/models/operations/attributes.rb' autoload :ButlerTask, 'plex_ruby_sdk/models/operations/butlertask.rb' autoload :ButlerTasks, 'plex_ruby_sdk/models/operations/butlertasks.rb' + autoload :Chapter, 'plex_ruby_sdk/models/operations/chapter.rb' autoload :Collection, 'plex_ruby_sdk/models/operations/collection.rb' autoload :Context, 'plex_ruby_sdk/models/operations/context.rb' autoload :Country, 'plex_ruby_sdk/models/operations/country.rb' autoload :Device, 'plex_ruby_sdk/models/operations/device.rb' autoload :Director, 'plex_ruby_sdk/models/operations/director.rb' autoload :Directory, 'plex_ruby_sdk/models/operations/directory.rb' + autoload :Extras, 'plex_ruby_sdk/models/operations/extras.rb' autoload :Feature, 'plex_ruby_sdk/models/operations/feature.rb' autoload :Field, 'plex_ruby_sdk/models/operations/field.rb' autoload :FieldType, 'plex_ruby_sdk/models/operations/fieldtype.rb' @@ -27,6 +30,7 @@ module PlexRubySDK autoload :Hub, 'plex_ruby_sdk/models/operations/hub.rb' autoload :Image, 'plex_ruby_sdk/models/operations/image.rb' autoload :Location, 'plex_ruby_sdk/models/operations/location.rb' + autoload :Marker, 'plex_ruby_sdk/models/operations/marker.rb' autoload :Media, 'plex_ruby_sdk/models/operations/media.rb' autoload :MediaContainer, 'plex_ruby_sdk/models/operations/mediacontainer.rb' autoload :MediaGuid, 'plex_ruby_sdk/models/operations/mediaguid.rb' @@ -152,6 +156,7 @@ module PlexRubySDK autoload :GetAllMediaLibraryRequest, 'plex_ruby_sdk/models/operations/get_all_media_library_request.rb' autoload :GetAllMediaLibraryResponse, 'plex_ruby_sdk/models/operations/get_all_media_library_response.rb' autoload :GetAllMediaLibraryResponseBody, 'plex_ruby_sdk/models/operations/get_all_media_library_responsebody.rb' + autoload :GetAllMediaLibraryStreamType, 'plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb' autoload :GetBannerImageRequest, 'plex_ruby_sdk/models/operations/get_banner_image_request.rb' autoload :GetBannerImageResponse, 'plex_ruby_sdk/models/operations/get_banner_image_response.rb' autoload :GetCountriesLibraryDirectory, 'plex_ruby_sdk/models/operations/get_countries_library_directory.rb' @@ -228,6 +233,7 @@ module PlexRubySDK autoload :GetMediaMetaDataGuids, 'plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb' autoload :GetMediaMetaDataImage, 'plex_ruby_sdk/models/operations/get_media_meta_data_image.rb' autoload :GetMediaMetaDataLibraryOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb' + autoload :GetMediaMetaDataLibraryType, 'plex_ruby_sdk/models/operations/get_media_meta_data_library_type.rb' autoload :GetMediaMetaDataLocation, 'plex_ruby_sdk/models/operations/get_media_meta_data_location.rb' autoload :GetMediaMetaDataMedia, 'plex_ruby_sdk/models/operations/get_media_meta_data_media.rb' autoload :GetMediaMetaDataMediaContainer, 'plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb' @@ -246,6 +252,8 @@ module PlexRubySDK autoload :GetMediaMetaDataRequest, 'plex_ruby_sdk/models/operations/get_media_meta_data_request.rb' autoload :GetMediaMetaDataResponse, 'plex_ruby_sdk/models/operations/get_media_meta_data_response.rb' autoload :GetMediaMetaDataResponseBody, 'plex_ruby_sdk/models/operations/get_media_meta_data_responsebody.rb' + autoload :GetMediaMetaDataStreamType, 'plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb' + autoload :GetMediaMetaDataType, 'plex_ruby_sdk/models/operations/get_media_meta_data_type.rb' autoload :GetMediaPostersMediaContainer, 'plex_ruby_sdk/models/operations/get_media_posters_mediacontainer.rb' autoload :GetMediaPostersMetadata, 'plex_ruby_sdk/models/operations/get_media_posters_metadata.rb' autoload :GetMediaPostersRequest, 'plex_ruby_sdk/models/operations/get_media_posters_request.rb' @@ -588,6 +596,7 @@ module PlexRubySDK autoload :StopTaskResponse, 'plex_ruby_sdk/models/operations/stoptask_response.rb' autoload :StopTranscodeSessionRequest, 'plex_ruby_sdk/models/operations/stoptranscodesession_request.rb' autoload :StopTranscodeSessionResponse, 'plex_ruby_sdk/models/operations/stoptranscodesession_response.rb' + autoload :StreamType, 'plex_ruby_sdk/models/operations/streamtype.rb' autoload :Tag, 'plex_ruby_sdk/models/operations/tag.rb' autoload :TaskName, 'plex_ruby_sdk/models/operations/taskname.rb' autoload :Tonight, 'plex_ruby_sdk/models/operations/tonight.rb' diff --git a/lib/plex_ruby_sdk/models/operations/attributes.rb b/lib/plex_ruby_sdk/models/operations/attributes.rb new file mode 100644 index 0000000..dea64e9 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/attributes.rb @@ -0,0 +1,37 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # Attributes associated with the marker. + class Attributes + extend T::Sig + include Crystalline::MetadataFields + + # The identifier for the attributes. + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + # The version number of the marker attributes. + field :version, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('version') } } + + + sig { params(id: ::Integer, version: T.nilable(::Integer)).void } + def initialize(id: nil, version: nil) + @id = id + @version = version + end + + def ==(other) + return false unless other.is_a? self.class + return false unless @id == other.id + return false unless @version == other.version + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/chapter.rb b/lib/plex_ruby_sdk/models/operations/chapter.rb new file mode 100644 index 0000000..b581fca --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/chapter.rb @@ -0,0 +1,53 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # The thumbnail for the chapter + class Chapter + extend T::Sig + include Crystalline::MetadataFields + + + field :end_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('endTimeOffset') } } + + field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } + + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + + field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } + + field :start_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('startTimeOffset') } } + + field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } + + + sig { params(end_time_offset: ::Integer, filter: ::String, id: ::Integer, index: ::Integer, start_time_offset: ::Integer, thumb: ::String).void } + def initialize(end_time_offset: nil, filter: nil, id: nil, index: nil, start_time_offset: nil, thumb: nil) + @end_time_offset = end_time_offset + @filter = filter + @id = id + @index = index + @start_time_offset = start_time_offset + @thumb = thumb + end + + def ==(other) + return false unless other.is_a? self.class + return false unless @end_time_offset == other.end_time_offset + return false unless @filter == other.filter + return false unless @id == other.id + return false unless @index == other.index + return false unless @start_time_offset == other.start_time_offset + return false unless @thumb == other.thumb + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/extras.rb b/lib/plex_ruby_sdk/models/operations/extras.rb new file mode 100644 index 0000000..f940d63 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/extras.rb @@ -0,0 +1,33 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + + class Extras + extend T::Sig + include Crystalline::MetadataFields + + # The size of the extras. + field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + + + sig { params(size: T.nilable(::Integer)).void } + def initialize(size: nil) + @size = size + end + + def ==(other) + return false unless other.is_a? self.class + return false unless @size == other.size + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb b/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb index 56d7f36..5cdc285 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb +++ b/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb @@ -21,10 +21,12 @@ module PlexRubySDK field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } } # Unique stream identifier. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # Index of the stream. - field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } - # Stream type (1=video, 2=audio, 3=subtitle). - field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } } + # Stream type: + # - 1 = video + # - 2 = audio + # - 3 = subtitle + # + field :stream_type, Models::Operations::GetAllMediaLibraryStreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::GetAllMediaLibraryStreamType, false) } } # Audio channel layout. field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } } # Bit depth of the video stream. @@ -77,6 +79,8 @@ module PlexRubySDK field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } } field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } } + # Format of the stream (e.g., srt). + field :format, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('format') } } # Frame rate of the stream. field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } } @@ -87,6 +91,10 @@ module PlexRubySDK field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } } # Height of the video stream. field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } + # Index of the stream. + field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } + # Key to access this stream part. + field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } # Language of the stream. field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } } # ISO language code. @@ -113,13 +121,12 @@ module PlexRubySDK field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } - sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, index: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void } - def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, index: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, dovibl_compat_id: nil, dovibl_present: nil, doviel_present: nil, dovi_level: nil, dovi_present: nil, dovi_profile: nil, dovirpu_present: nil, dovi_version: nil, dub: nil, embedded_in_video: nil, forced: nil, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: nil, language: nil, language_code: nil, language_tag: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil) + sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, stream_type: Models::Operations::GetAllMediaLibraryStreamType, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), format: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), index: T.nilable(::Integer), key: T.nilable(::String), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void } + def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, dovibl_compat_id: nil, dovibl_present: nil, doviel_present: nil, dovi_level: nil, dovi_present: nil, dovi_profile: nil, dovirpu_present: nil, dovi_version: nil, dub: nil, embedded_in_video: nil, forced: nil, format: nil, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: nil, index: nil, key: nil, language: nil, language_code: nil, language_tag: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil) @codec = codec @display_title = display_title @extended_display_title = extended_display_title @id = id - @index = index @stream_type = stream_type @audio_channel_layout = audio_channel_layout @bit_depth = bit_depth @@ -147,11 +154,14 @@ module PlexRubySDK @dub = dub @embedded_in_video = embedded_in_video @forced = forced + @format = format @frame_rate = frame_rate @has_scaling_matrix = has_scaling_matrix @header_compression = header_compression @hearing_impaired = hearing_impaired @height = height + @index = index + @key = key @language = language @language_code = language_code @language_tag = language_tag @@ -172,7 +182,6 @@ module PlexRubySDK return false unless @display_title == other.display_title return false unless @extended_display_title == other.extended_display_title return false unless @id == other.id - return false unless @index == other.index return false unless @stream_type == other.stream_type return false unless @audio_channel_layout == other.audio_channel_layout return false unless @bit_depth == other.bit_depth @@ -200,11 +209,14 @@ module PlexRubySDK return false unless @dub == other.dub return false unless @embedded_in_video == other.embedded_in_video return false unless @forced == other.forced + return false unless @format == other.format return false unless @frame_rate == other.frame_rate return false unless @has_scaling_matrix == other.has_scaling_matrix return false unless @header_compression == other.header_compression return false unless @hearing_impaired == other.hearing_impaired return false unless @height == other.height + return false unless @index == other.index + return false unless @key == other.key return false unless @language == other.language return false unless @language_code == other.language_code return false unless @language_tag == other.language_tag diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb b/lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb new file mode 100644 index 0000000..4c9f8da --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb @@ -0,0 +1,25 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # GetAllMediaLibraryStreamType - Stream type: + # - 1 = video + # - 2 = audio + # - 3 = subtitle + # + class GetAllMediaLibraryStreamType < T::Enum + enums do + VIDEO = new(1) + AUDIO = new(2) + SUBTITLE = new(3) + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_country.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_country.rb index 82f36ea..049f117 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_country.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_country.rb @@ -8,31 +8,31 @@ module PlexRubySDK module Models module Operations - + # The filter query string for country media items. class GetMediaMetaDataCountry extend T::Sig include Crystalline::MetadataFields - # The filter string for the country. - field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } - # The unique country identifier. + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # The country name. + # The country of origin of this media item field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } - sig { params(filter: ::String, id: ::Integer, tag: ::String).void } - def initialize(filter: nil, id: nil, tag: nil) - @filter = filter + + sig { params(id: ::Integer, tag: ::String, filter: T.nilable(::String)).void } + def initialize(id: nil, tag: nil, filter: nil) @id = id @tag = tag + @filter = filter end def ==(other) return false unless other.is_a? self.class - return false unless @filter == other.filter return false unless @id == other.id return false unless @tag == other.tag + return false unless @filter == other.filter true end end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_director.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_director.rb index 5ddd357..7d33980 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_director.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_director.rb @@ -13,27 +13,24 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # The filter string for the role. + # The filter string used to query this director. field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } - # The unique role identifier. + # Unique identifier for the director. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # The actor's name. + # The role of Director field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - # A key associated with the actor tag. - field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } - # The character name or role. - field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } } - # URL for the role thumbnail image. + # A unique key associated with the director's tag, used for internal identification. + field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } + # The URL of the thumbnail image for the director. field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } - sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void } - def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil) + sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: T.nilable(::String), thumb: T.nilable(::String)).void } + def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, thumb: nil) @filter = filter @id = id @tag = tag @tag_key = tag_key - @role = role @thumb = thumb end @@ -43,7 +40,6 @@ module PlexRubySDK return false unless @id == other.id return false unless @tag == other.tag return false unless @tag_key == other.tag_key - return false unless @role == other.role return false unless @thumb == other.thumb true end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb index ff4f960..78dbd5d 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb @@ -8,16 +8,17 @@ module PlexRubySDK module Models module Operations - + # The filter query string for similar items. class GetMediaMetaDataGenre extend T::Sig include Crystalline::MetadataFields - # The filter string for the genre. + field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } - # The unique genre identifier. + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # The genre name. + # The genre name of this media-item + # field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_image.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_image.rb index 2a50757..2f87c4a 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_image.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_image.rb @@ -13,15 +13,15 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # Alternate text for the image. + field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } } - # The type of image (e.g., coverPoster, background, clearLogo). - field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - # The URL of the image. + + field :type, Models::Operations::GetMediaMetaDataLibraryType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataLibraryType, false) } } + field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } } - sig { params(alt: ::String, type: ::String, url: ::String).void } + sig { params(alt: ::String, type: Models::Operations::GetMediaMetaDataLibraryType, url: ::String).void } def initialize(alt: nil, type: nil, url: nil) @alt = alt @type = type diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_type.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_type.rb new file mode 100644 index 0000000..e41deef --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_type.rb @@ -0,0 +1,22 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + + class GetMediaMetaDataLibraryType < T::Enum + enums do + COVER_POSTER = new('coverPoster') + BACKGROUND = new('background') + SNAPSHOT = new('snapshot') + CLEAR_LOGO = new('clearLogo') + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb index 8528091..64b8e43 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb @@ -8,176 +8,211 @@ module PlexRubySDK module Models module Operations - + # Unknown + # class GetMediaMetaDataMetadata extend T::Sig include Crystalline::MetadataFields field :added_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } } - # URL of the art image. + # The art image URL for the media item. field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } } - # Duration of the content in milliseconds. + # The audience rating for the media item. + field :audience_rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } } + # The number of child items associated with this media item. + field :child_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } } + # The duration of the media item in milliseconds. field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } - # The globally unique identifier for the item. + # The globally unique identifier for the media item. field :guid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } } - # An array of image objects. - field :image, T::Array[Models::Operations::GetMediaMetaDataImage], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } } - # The API key to access metadata details. + # The index position of the media item. + field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } + # The unique key for the media item. field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - # The ID of the library section. + # The identifier for the library section. field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } - # The key of the library section. + # The key corresponding to the library section. field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } } # The title of the library section. field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } - # The rating key of the metadata item. + # The original release date of the media item. + field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } } + # The critic rating for the media item. + field :rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } } + # 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. field :rating_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } } - # A summary of the content. + # The total number of seasons (for TV shows). + field :season_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('seasonCount') } } + # A URL‐friendly version of the media title. + field :slug, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } } + # A synopsis of the media item. field :summary, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } } - # URL of the thumbnail image. + # A brief tagline for the media item. + field :tagline, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } } + # The theme URL for the media item. + field :theme, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } } + # The thumbnail image URL for the media item. field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } - # The title of the content. + # The title of the media item. field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - # The type of content (e.g., show, movie). - field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + # The sort title used for ordering media items. + field :title_sort, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('titleSort') } } - field :ultra_blur_colors, Models::Operations::GetMediaMetaDataUltraBlurColors, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } } - - field :updated_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } } - # The release year. - field :year, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } } - # The audience rating for the content. - field :audience_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } } + field :type, Models::Operations::GetMediaMetaDataType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataType, false) } } # The URL for the audience rating image. field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } } + field :chapter, T.nilable(T::Array[Models::Operations::Chapter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Chapter') } } + # The source from which chapter data is derived. field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } } - # The number of child items. - field :child_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } } - # The content rating (e.g., TV-MA). + # The content rating for the media item. field :content_rating, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } } - # An array of country tags. + field :country, T.nilable(T::Array[Models::Operations::GetMediaMetaDataCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } } - # An array of Director roles. + # 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). + field :created_at_accuracy, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('createdAtAccuracy') } } + # The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. + field :created_at_tz_offset, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('createdAtTZOffset') } } + field :director, T.nilable(T::Array[Models::Operations::GetMediaMetaDataDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } } - # An array of genre tags. + + field :extras, T.nilable(Models::Operations::Extras), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Extras') } } + field :genre, T.nilable(T::Array[Models::Operations::GetMediaMetaDataGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } } - # The URL of the grandparent's art image. + # The art URL for the grandparent media item. field :grandparent_art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentArt') } } - # A GUID identifying the grandparent entity (e.g., show). + # The GUID of the grandparent media item. field :grandparent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentGuid') } } - # A key identifying the grandparent metadata in the library. + # The key of the grandparent media item. field :grandparent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentKey') } } - # The rating key of the grandparent of this metadata item. + # The rating key of the grandparent media item. field :grandparent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentRatingKey') } } - # A URL-friendly identifier (slug) for the grandparent entity. + # The slug for the grandparent media item. field :grandparent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentSlug') } } - # The URL of the grandparent's thumbnail image. + # The theme URL for the grandparent media item. + field :grandparent_theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTheme') } } + # The thumbnail URL for the grandparent media item. field :grandparent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentThumb') } } - # The title of the grandparent entity (typically the show's title). + # The title of the grandparent media item. field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } } - # An array of GUID objects. + field :guids, T.nilable(T::Array[Models::Operations::GetMediaMetaDataGuids]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } } - # The index or order of the item. - field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } - # Unix timestamp of when the item was last viewed. + + field :image, T.nilable(T::Array[Models::Operations::GetMediaMetaDataImage]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } } + # The Unix timestamp representing the last time the item was rated. + field :last_rated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastRatedAt') } } + # Unix timestamp for when the media item was last viewed. field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } } - # The total number of episodes (or leaves). + # The number of leaf items (end nodes) under this media item. field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } } - # An array of location objects. + field :location, T.nilable(T::Array[Models::Operations::GetMediaMetaDataLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } } + field :marker, T.nilable(T::Array[Models::Operations::Marker]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Marker') } } + field :media, T.nilable(T::Array[Models::Operations::GetMediaMetaDataMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } - # The original release date. - field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } } - # The original title of the content. + # The original title of the media item (if different). field :original_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originalTitle') } } - # A GUID identifying the parent entity (e.g., season) for the item. + # The GUID of the parent media item. field :parent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentGuid') } } - # The index number of the parent entity, which could indicate its order or position. + # The index position of the parent media item. field :parent_index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentIndex') } } - # A key identifying the parent metadata in the library. + # The key of the parent media item. field :parent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentKey') } } - # The rating key of the parent of this metadata item. + # The rating key of the parent media item. field :parent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentRatingKey') } } - # The URL of the parent's thumbnail image. + # The thumbnail URL for the parent media item. field :parent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentThumb') } } - # The title of the parent entity (typically the season's title). + # The title of the parent media item. field :parent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentTitle') } } - + # The primary extra key associated with this media item. field :primary_extra_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('primaryExtraKey') } } - # An array of Writer roles. + field :producer, T.nilable(T::Array[Models::Operations::GetMediaMetaDataProducer]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Producer') } } - # The general rating - field :rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } } - # The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image). + # The URL for the rating image. field :rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingImage') } } - # An array of rating objects. + field :ratings, T.nilable(T::Array[Models::Operations::Ratings]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } } - # An array of Actor roles. + field :role, T.nilable(T::Array[Models::Operations::GetMediaMetaDataRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } } - # An array of similar content objects. + field :similar, T.nilable(T::Array[Models::Operations::GetMediaMetaDataSimilar]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Similar') } } - # The number of times the item has been skipped. + # The number of times this media item has been skipped. field :skip_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipCount') } } - # A URL-friendly identifier for the item. - field :slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } } - # The studio that produced the content. + # The studio that produced the media item. field :studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('studio') } } - # The tagline of the content. - field :tagline, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } } - # URL of the theme image. - field :theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } } - # The number of times the item has been viewed. + # A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. + field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } } + + field :ultra_blur_colors, T.nilable(Models::Operations::GetMediaMetaDataUltraBlurColors), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } } + # Unix epoch datetime in seconds + field :updated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } } + # The rating provided by a user for the item. This value is expressed as a decimal number. + field :user_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('userRating') } } + # The number of times this media item has been viewed. field :view_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewCount') } } - # The number of episodes that have been viewed. + # The number of leaf items that have been viewed. field :viewed_leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewedLeafCount') } } - # An array of Writer roles. + # The current playback offset (in milliseconds). + field :view_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewOffset') } } + field :writer, T.nilable(T::Array[Models::Operations::GetMediaMetaDataWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } } + # The release year of the media item. + field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } } - sig { params(added_at: ::Integer, art: ::String, duration: ::Integer, guid: ::String, image: T::Array[Models::Operations::GetMediaMetaDataImage], key: ::String, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, rating_key: ::String, summary: ::String, thumb: ::String, title: ::String, type: ::String, ultra_blur_colors: Models::Operations::GetMediaMetaDataUltraBlurColors, updated_at: ::Integer, year: ::Integer, audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::GetMediaMetaDataCountry]), director: T.nilable(T::Array[Models::Operations::GetMediaMetaDataDirector]), genre: T.nilable(T::Array[Models::Operations::GetMediaMetaDataGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), guids: T.nilable(T::Array[Models::Operations::GetMediaMetaDataGuids]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), location: T.nilable(T::Array[Models::Operations::GetMediaMetaDataLocation]), media: T.nilable(T::Array[Models::Operations::GetMediaMetaDataMedia]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[Models::Operations::GetMediaMetaDataProducer]), rating: T.nilable(::Float), rating_image: T.nilable(::String), ratings: T.nilable(T::Array[Models::Operations::Ratings]), role: T.nilable(T::Array[Models::Operations::GetMediaMetaDataRole]), similar: T.nilable(T::Array[Models::Operations::GetMediaMetaDataSimilar]), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), writer: T.nilable(T::Array[Models::Operations::GetMediaMetaDataWriter])).void } - def initialize(added_at: nil, art: nil, duration: nil, guid: nil, image: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, rating_key: nil, summary: nil, thumb: nil, title: nil, type: nil, ultra_blur_colors: nil, updated_at: nil, year: nil, audience_rating: nil, audience_rating_image: nil, chapter_source: nil, child_count: nil, content_rating: nil, country: nil, director: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_thumb: nil, grandparent_title: nil, guids: nil, index: nil, last_viewed_at: nil, leaf_count: nil, location: nil, media: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_thumb: nil, parent_title: nil, primary_extra_key: nil, producer: nil, rating: nil, rating_image: nil, ratings: nil, role: nil, similar: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, view_count: nil, viewed_leaf_count: nil, writer: nil) + sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, originally_available_at: ::Date, rating: ::Float, rating_key: ::String, season_count: ::Integer, slug: ::String, summary: ::String, tagline: ::String, theme: ::String, thumb: ::String, title: ::String, title_sort: ::String, type: Models::Operations::GetMediaMetaDataType, audience_rating_image: T.nilable(::String), chapter: T.nilable(T::Array[Models::Operations::Chapter]), chapter_source: T.nilable(::String), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::GetMediaMetaDataCountry]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::GetMediaMetaDataDirector]), extras: T.nilable(Models::Operations::Extras), genre: T.nilable(T::Array[Models::Operations::GetMediaMetaDataGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), guids: T.nilable(T::Array[Models::Operations::GetMediaMetaDataGuids]), image: T.nilable(T::Array[Models::Operations::GetMediaMetaDataImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), location: T.nilable(T::Array[Models::Operations::GetMediaMetaDataLocation]), marker: T.nilable(T::Array[Models::Operations::Marker]), media: T.nilable(T::Array[Models::Operations::GetMediaMetaDataMedia]), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[Models::Operations::GetMediaMetaDataProducer]), rating_image: T.nilable(::String), ratings: T.nilable(T::Array[Models::Operations::Ratings]), role: T.nilable(T::Array[Models::Operations::GetMediaMetaDataRole]), similar: T.nilable(T::Array[Models::Operations::GetMediaMetaDataSimilar]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::GetMediaMetaDataUltraBlurColors), updated_at: T.nilable(::Integer), user_rating: T.nilable(::Float), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[Models::Operations::GetMediaMetaDataWriter]), year: T.nilable(::Integer)).void } + def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, originally_available_at: nil, rating: nil, rating_key: nil, season_count: nil, slug: nil, summary: nil, tagline: nil, theme: nil, thumb: nil, title: nil, title_sort: nil, type: nil, audience_rating_image: nil, chapter: nil, chapter_source: nil, content_rating: nil, country: nil, created_at_accuracy: nil, created_at_tz_offset: nil, director: nil, extras: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, guids: nil, image: nil, last_rated_at: nil, last_viewed_at: nil, leaf_count: nil, location: nil, marker: nil, media: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_thumb: nil, parent_title: nil, primary_extra_key: nil, producer: nil, rating_image: nil, ratings: nil, role: nil, similar: nil, skip_count: nil, studio: nil, subtype: nil, ultra_blur_colors: nil, updated_at: nil, user_rating: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil) @added_at = added_at @art = art + @audience_rating = audience_rating + @child_count = child_count @duration = duration @guid = guid - @image = image + @index = index @key = key @library_section_id = library_section_id @library_section_key = library_section_key @library_section_title = library_section_title + @originally_available_at = originally_available_at + @rating = rating @rating_key = rating_key + @season_count = season_count + @slug = slug @summary = summary + @tagline = tagline + @theme = theme @thumb = thumb @title = title + @title_sort = title_sort @type = type - @ultra_blur_colors = ultra_blur_colors - @updated_at = updated_at - @year = year - @audience_rating = audience_rating @audience_rating_image = audience_rating_image + @chapter = chapter @chapter_source = chapter_source - @child_count = child_count @content_rating = content_rating @country = country + @created_at_accuracy = created_at_accuracy + @created_at_tz_offset = created_at_tz_offset @director = director + @extras = extras @genre = genre @grandparent_art = grandparent_art @grandparent_guid = grandparent_guid @grandparent_key = grandparent_key @grandparent_rating_key = grandparent_rating_key @grandparent_slug = grandparent_slug + @grandparent_theme = grandparent_theme @grandparent_thumb = grandparent_thumb @grandparent_title = grandparent_title @guids = guids - @index = index + @image = image + @last_rated_at = last_rated_at @last_viewed_at = last_viewed_at @leaf_count = leaf_count @location = location + @marker = marker @media = media - @originally_available_at = originally_available_at @original_title = original_title @parent_guid = parent_guid @parent_index = parent_index @@ -187,62 +222,74 @@ module PlexRubySDK @parent_title = parent_title @primary_extra_key = primary_extra_key @producer = producer - @rating = rating @rating_image = rating_image @ratings = ratings @role = role @similar = similar @skip_count = skip_count - @slug = slug @studio = studio - @tagline = tagline - @theme = theme + @subtype = subtype + @ultra_blur_colors = ultra_blur_colors + @updated_at = updated_at + @user_rating = user_rating @view_count = view_count @viewed_leaf_count = viewed_leaf_count + @view_offset = view_offset @writer = writer + @year = year end def ==(other) return false unless other.is_a? self.class return false unless @added_at == other.added_at return false unless @art == other.art + return false unless @audience_rating == other.audience_rating + return false unless @child_count == other.child_count return false unless @duration == other.duration return false unless @guid == other.guid - return false unless @image == other.image + return false unless @index == other.index return false unless @key == other.key return false unless @library_section_id == other.library_section_id return false unless @library_section_key == other.library_section_key return false unless @library_section_title == other.library_section_title + return false unless @originally_available_at == other.originally_available_at + return false unless @rating == other.rating return false unless @rating_key == other.rating_key + return false unless @season_count == other.season_count + return false unless @slug == other.slug return false unless @summary == other.summary + return false unless @tagline == other.tagline + return false unless @theme == other.theme return false unless @thumb == other.thumb return false unless @title == other.title + return false unless @title_sort == other.title_sort return false unless @type == other.type - return false unless @ultra_blur_colors == other.ultra_blur_colors - return false unless @updated_at == other.updated_at - return false unless @year == other.year - return false unless @audience_rating == other.audience_rating return false unless @audience_rating_image == other.audience_rating_image + return false unless @chapter == other.chapter return false unless @chapter_source == other.chapter_source - return false unless @child_count == other.child_count return false unless @content_rating == other.content_rating return false unless @country == other.country + return false unless @created_at_accuracy == other.created_at_accuracy + return false unless @created_at_tz_offset == other.created_at_tz_offset return false unless @director == other.director + return false unless @extras == other.extras return false unless @genre == other.genre return false unless @grandparent_art == other.grandparent_art return false unless @grandparent_guid == other.grandparent_guid return false unless @grandparent_key == other.grandparent_key return false unless @grandparent_rating_key == other.grandparent_rating_key return false unless @grandparent_slug == other.grandparent_slug + return false unless @grandparent_theme == other.grandparent_theme return false unless @grandparent_thumb == other.grandparent_thumb return false unless @grandparent_title == other.grandparent_title return false unless @guids == other.guids - return false unless @index == other.index + return false unless @image == other.image + return false unless @last_rated_at == other.last_rated_at return false unless @last_viewed_at == other.last_viewed_at return false unless @leaf_count == other.leaf_count return false unless @location == other.location + return false unless @marker == other.marker return false unless @media == other.media - return false unless @originally_available_at == other.originally_available_at return false unless @original_title == other.original_title return false unless @parent_guid == other.parent_guid return false unless @parent_index == other.parent_index @@ -252,19 +299,21 @@ module PlexRubySDK return false unless @parent_title == other.parent_title return false unless @primary_extra_key == other.primary_extra_key return false unless @producer == other.producer - return false unless @rating == other.rating return false unless @rating_image == other.rating_image return false unless @ratings == other.ratings return false unless @role == other.role return false unless @similar == other.similar return false unless @skip_count == other.skip_count - return false unless @slug == other.slug return false unless @studio == other.studio - return false unless @tagline == other.tagline - return false unless @theme == other.theme + return false unless @subtype == other.subtype + return false unless @ultra_blur_colors == other.ultra_blur_colors + return false unless @updated_at == other.updated_at + return false unless @user_rating == other.user_rating return false unless @view_count == other.view_count return false unless @viewed_leaf_count == other.viewed_leaf_count + return false unless @view_offset == other.view_offset return false unless @writer == other.writer + return false unless @year == other.year true end end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb index 9bd49b7..8ef0b96 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb @@ -13,27 +13,27 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # The filter string for the role. + # The filter string used to query this actor. For example, it may indicate that this is an actor with a given key. field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } - # The unique role identifier. + # Unique identifier for the actor or role. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # The actor's name. + # The display tag for the actor (typically the actor's name). field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - # A key associated with the actor tag. - field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } - # The character name or role. + # The role played by the actor in the media item. field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } } - # URL for the role thumbnail image. + # A unique key associated with the actor's tag, used for internal identification. + field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } + # The URL of the thumbnail image for the actor. field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } - sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void } - def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil) + sig { params(filter: ::String, id: ::Integer, tag: ::String, role: T.nilable(::String), tag_key: T.nilable(::String), thumb: T.nilable(::String)).void } + def initialize(filter: nil, id: nil, tag: nil, role: nil, tag_key: nil, thumb: nil) @filter = filter @id = id @tag = tag - @tag_key = tag_key @role = role + @tag_key = tag_key @thumb = thumb end @@ -42,8 +42,8 @@ module PlexRubySDK return false unless @filter == other.filter return false unless @id == other.id return false unless @tag == other.tag - return false unless @tag_key == other.tag_key return false unless @role == other.role + return false unless @tag_key == other.tag_key return false unless @thumb == other.thumb true end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb index acd4fc8..4de779f 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb @@ -21,10 +21,12 @@ module PlexRubySDK field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } } # Unique stream identifier. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # Index of the stream. - field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } - # Stream type (1=video, 2=audio, 3=subtitle). - field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } } + # Stream type: + # - 1 = video + # - 2 = audio + # - 3 = subtitle + # + field :stream_type, Models::Operations::GetMediaMetaDataStreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataStreamType, false) } } # Audio channel layout. field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } } # Bit depth of the video stream. @@ -77,6 +79,8 @@ module PlexRubySDK field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } } field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } } + # Format of the stream (e.g., srt). + field :format, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('format') } } # Frame rate of the stream. field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } } @@ -87,6 +91,10 @@ module PlexRubySDK field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } } # Height of the video stream. field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } + # Index of the stream. + field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } + # Key to access this stream part. + field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } # Language of the stream. field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } } # ISO language code. @@ -113,13 +121,12 @@ module PlexRubySDK field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } - sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, index: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void } - def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, index: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, dovibl_compat_id: nil, dovibl_present: nil, doviel_present: nil, dovi_level: nil, dovi_present: nil, dovi_profile: nil, dovirpu_present: nil, dovi_version: nil, dub: nil, embedded_in_video: nil, forced: nil, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: nil, language: nil, language_code: nil, language_tag: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil) + sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, stream_type: Models::Operations::GetMediaMetaDataStreamType, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), format: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), index: T.nilable(::Integer), key: T.nilable(::String), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void } + def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, dovibl_compat_id: nil, dovibl_present: nil, doviel_present: nil, dovi_level: nil, dovi_present: nil, dovi_profile: nil, dovirpu_present: nil, dovi_version: nil, dub: nil, embedded_in_video: nil, forced: nil, format: nil, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: nil, index: nil, key: nil, language: nil, language_code: nil, language_tag: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil) @codec = codec @display_title = display_title @extended_display_title = extended_display_title @id = id - @index = index @stream_type = stream_type @audio_channel_layout = audio_channel_layout @bit_depth = bit_depth @@ -147,11 +154,14 @@ module PlexRubySDK @dub = dub @embedded_in_video = embedded_in_video @forced = forced + @format = format @frame_rate = frame_rate @has_scaling_matrix = has_scaling_matrix @header_compression = header_compression @hearing_impaired = hearing_impaired @height = height + @index = index + @key = key @language = language @language_code = language_code @language_tag = language_tag @@ -172,7 +182,6 @@ module PlexRubySDK return false unless @display_title == other.display_title return false unless @extended_display_title == other.extended_display_title return false unless @id == other.id - return false unless @index == other.index return false unless @stream_type == other.stream_type return false unless @audio_channel_layout == other.audio_channel_layout return false unless @bit_depth == other.bit_depth @@ -200,11 +209,14 @@ module PlexRubySDK return false unless @dub == other.dub return false unless @embedded_in_video == other.embedded_in_video return false unless @forced == other.forced + return false unless @format == other.format return false unless @frame_rate == other.frame_rate return false unless @has_scaling_matrix == other.has_scaling_matrix return false unless @header_compression == other.header_compression return false unless @hearing_impaired == other.hearing_impaired return false unless @height == other.height + return false unless @index == other.index + return false unless @key == other.key return false unless @language == other.language return false unless @language_code == other.language_code return false unless @language_tag == other.language_tag diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb new file mode 100644 index 0000000..e61d509 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb @@ -0,0 +1,25 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # GetMediaMetaDataStreamType - Stream type: + # - 1 = video + # - 2 = audio + # - 3 = subtitle + # + class GetMediaMetaDataStreamType < T::Enum + enums do + VIDEO = new(1) + AUDIO = new(2) + SUBTITLE = new(3) + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb new file mode 100644 index 0000000..5a82cfb --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb @@ -0,0 +1,25 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # GetMediaMetaDataType - The type of media content + # + class GetMediaMetaDataType < T::Enum + enums do + MOVIE = new('movie') + TV_SHOW = new('show') + SEASON = new('season') + EPISODE = new('episode') + ARTIST = new('artist') + ALBUM = new('album') + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_ultrablurcolors.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_ultrablurcolors.rb index 36d2435..4deaa43 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_ultrablurcolors.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_ultrablurcolors.rb @@ -13,13 +13,13 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # The bottom-left color value. + field :bottom_left, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bottomLeft') } } - # The bottom-right color value. + field :bottom_right, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bottomRight') } } - # The top-left color value. + field :top_left, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('topLeft') } } - # The top-right color value. + field :top_right, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('topRight') } } diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb index 3969488..58eac7e 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb @@ -13,27 +13,24 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # The filter string for the role. + # The filter string used to query this writer. field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } - # The unique role identifier. + # Unique identifier for the writer. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # The actor's name. + # The role of Writer field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - # A key associated with the actor tag. - field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } - # The character name or role. - field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } } - # URL for the role thumbnail image. + # A unique key associated with the writers tag, used for internal identification. + field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } + # The URL of the thumbnail image for the writer. field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } - sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void } - def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil) + sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: T.nilable(::String), thumb: T.nilable(::String)).void } + def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, thumb: nil) @filter = filter @id = id @tag = tag @tag_key = tag_key - @role = role @thumb = thumb end @@ -43,7 +40,6 @@ module PlexRubySDK return false unless @id == other.id return false unless @tag == other.tag return false unless @tag_key == other.tag_key - return false unless @role == other.role return false unless @thumb == other.thumb true end diff --git a/lib/plex_ruby_sdk/models/operations/marker.rb b/lib/plex_ruby_sdk/models/operations/marker.rb new file mode 100644 index 0000000..86dd380 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/marker.rb @@ -0,0 +1,53 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # The final status of the marker + class Marker + extend T::Sig + include Crystalline::MetadataFields + + + field :end_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('endTimeOffset') } } + + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + + field :start_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('startTimeOffset') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + # Attributes associated with the marker. + field :attributes, T.nilable(Models::Operations::Attributes), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Attributes') } } + + field :final, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('final') } } + + + sig { params(end_time_offset: ::Integer, id: ::Integer, start_time_offset: ::Integer, type: ::String, attributes: T.nilable(Models::Operations::Attributes), final: T.nilable(T::Boolean)).void } + def initialize(end_time_offset: nil, id: nil, start_time_offset: nil, type: nil, attributes: nil, final: nil) + @end_time_offset = end_time_offset + @id = id + @start_time_offset = start_time_offset + @type = type + @attributes = attributes + @final = final + end + + def ==(other) + return false unless other.is_a? self.class + return false unless @end_time_offset == other.end_time_offset + return false unless @id == other.id + return false unless @start_time_offset == other.start_time_offset + return false unless @type == other.type + return false unless @attributes == other.attributes + return false unless @final == other.final + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/stream.rb b/lib/plex_ruby_sdk/models/operations/stream.rb index b0c6286..b8c3362 100644 --- a/lib/plex_ruby_sdk/models/operations/stream.rb +++ b/lib/plex_ruby_sdk/models/operations/stream.rb @@ -21,10 +21,12 @@ module PlexRubySDK field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } } # Unique stream identifier. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # Index of the stream. - field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } - # Stream type (1=video, 2=audio, 3=subtitle). - field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } } + # Stream type: + # - 1 = video + # - 2 = audio + # - 3 = subtitle + # + field :stream_type, Models::Operations::StreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::StreamType, false) } } # Audio channel layout. field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } } # Bit depth of the video stream. @@ -77,6 +79,8 @@ module PlexRubySDK field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } } field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } } + # Format of the stream (e.g., srt). + field :format, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('format') } } # Frame rate of the stream. field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } } @@ -87,6 +91,10 @@ module PlexRubySDK field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } } # Height of the video stream. field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } + # Index of the stream. + field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } + # Key to access this stream part. + field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } # Language of the stream. field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } } # ISO language code. @@ -113,13 +121,12 @@ module PlexRubySDK field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } - sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, index: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void } - def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, index: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, dovibl_compat_id: nil, dovibl_present: nil, doviel_present: nil, dovi_level: nil, dovi_present: nil, dovi_profile: nil, dovirpu_present: nil, dovi_version: nil, dub: nil, embedded_in_video: nil, forced: nil, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: nil, language: nil, language_code: nil, language_tag: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil) + sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, stream_type: Models::Operations::StreamType, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), format: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), index: T.nilable(::Integer), key: T.nilable(::String), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void } + def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, dovibl_compat_id: nil, dovibl_present: nil, doviel_present: nil, dovi_level: nil, dovi_present: nil, dovi_profile: nil, dovirpu_present: nil, dovi_version: nil, dub: nil, embedded_in_video: nil, forced: nil, format: nil, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: nil, index: nil, key: nil, language: nil, language_code: nil, language_tag: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil) @codec = codec @display_title = display_title @extended_display_title = extended_display_title @id = id - @index = index @stream_type = stream_type @audio_channel_layout = audio_channel_layout @bit_depth = bit_depth @@ -147,11 +154,14 @@ module PlexRubySDK @dub = dub @embedded_in_video = embedded_in_video @forced = forced + @format = format @frame_rate = frame_rate @has_scaling_matrix = has_scaling_matrix @header_compression = header_compression @hearing_impaired = hearing_impaired @height = height + @index = index + @key = key @language = language @language_code = language_code @language_tag = language_tag @@ -172,7 +182,6 @@ module PlexRubySDK return false unless @display_title == other.display_title return false unless @extended_display_title == other.extended_display_title return false unless @id == other.id - return false unless @index == other.index return false unless @stream_type == other.stream_type return false unless @audio_channel_layout == other.audio_channel_layout return false unless @bit_depth == other.bit_depth @@ -200,11 +209,14 @@ module PlexRubySDK return false unless @dub == other.dub return false unless @embedded_in_video == other.embedded_in_video return false unless @forced == other.forced + return false unless @format == other.format return false unless @frame_rate == other.frame_rate return false unless @has_scaling_matrix == other.has_scaling_matrix return false unless @header_compression == other.header_compression return false unless @hearing_impaired == other.hearing_impaired return false unless @height == other.height + return false unless @index == other.index + return false unless @key == other.key return false unless @language == other.language return false unless @language_code == other.language_code return false unless @language_tag == other.language_tag diff --git a/lib/plex_ruby_sdk/models/operations/streamtype.rb b/lib/plex_ruby_sdk/models/operations/streamtype.rb new file mode 100644 index 0000000..d1330f2 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/streamtype.rb @@ -0,0 +1,25 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # StreamType - Stream type: + # - 1 = video + # - 2 = audio + # - 3 = subtitle + # + class StreamType < T::Enum + enums do + VIDEO = new(1) + AUDIO = new(2) + SUBTITLE = new(3) + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/sdkconfiguration.rb b/lib/plex_ruby_sdk/sdkconfiguration.rb index e591f00..1896b64 100644 --- a/lib/plex_ruby_sdk/sdkconfiguration.rb +++ b/lib/plex_ruby_sdk/sdkconfiguration.rb @@ -14,7 +14,7 @@ module PlexRubySDK extend T::Sig SERVERS = [ - 'https://10.10.10.47:32400', # 1 - The full address of your Plex Server + '{protocol}://{ip}:{port}', # 1 - The full address of your Plex Server ].freeze # Contains the list of servers available to the SDK @@ -66,9 +66,9 @@ module PlexRubySDK end @language = 'ruby' @openapi_doc_version = '0.0.3' - @sdk_version = '0.11.1' + @sdk_version = '0.12.1' @gen_version = '2.570.4' - @user_agent = 'speakeasy-sdk/ruby 0.11.1 2.570.4 0.0.3 plex_ruby_sdk' + @user_agent = 'speakeasy-sdk/ruby 0.12.1 2.570.4 0.0.3 plex_ruby_sdk' end sig { returns([String, T::Hash[Symbol, String]]) } diff --git a/plex_ruby_sdk.gemspec b/plex_ruby_sdk.gemspec index 9a2921a..f6484d5 100644 --- a/plex_ruby_sdk.gemspec +++ b/plex_ruby_sdk.gemspec @@ -4,7 +4,7 @@ $LOAD_PATH.push File.expand_path('lib', __dir__) Gem::Specification.new do |s| s.name = 'plex_ruby_sdk' - s.version = '0.11.1' + s.version = '0.12.1' s.platform = Gem::Platform::RUBY s.licenses = ['Apache-2.0'] s.summary = '' diff --git a/sorbet/rbi/gems/faraday-multipart@1.1.0.rbi b/sorbet/rbi/gems/faraday-multipart@1.1.0.rbi new file mode 100644 index 0000000..dbc83e9 --- /dev/null +++ b/sorbet/rbi/gems/faraday-multipart@1.1.0.rbi @@ -0,0 +1,258 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `faraday-multipart` gem. +# Please instead update this file by running `bin/tapioca gem faraday-multipart`. + +# source://faraday-multipart//lib/faraday/multipart/version.rb#3 +module Faraday + class << self + # source://faraday/2.7.11/lib/faraday.rb#55 + def default_adapter; end + + # source://faraday/2.7.11/lib/faraday.rb#102 + def default_adapter=(adapter); end + + # source://faraday/2.7.11/lib/faraday.rb#59 + def default_adapter_options; end + + # source://faraday/2.7.11/lib/faraday.rb#59 + def default_adapter_options=(_arg0); end + + # source://faraday/2.7.11/lib/faraday.rb#120 + def default_connection; end + + # source://faraday/2.7.11/lib/faraday.rb#62 + def default_connection=(_arg0); end + + # source://faraday/2.7.11/lib/faraday.rb#127 + def default_connection_options; end + + # source://faraday/2.7.11/lib/faraday.rb#134 + def default_connection_options=(options); end + + # source://faraday/2.7.11/lib/faraday.rb#67 + def ignore_env_proxy; end + + # source://faraday/2.7.11/lib/faraday.rb#67 + def ignore_env_proxy=(_arg0); end + + # source://faraday/2.7.11/lib/faraday.rb#46 + def lib_path; end + + # source://faraday/2.7.11/lib/faraday.rb#46 + def lib_path=(_arg0); end + + # source://faraday/2.7.11/lib/faraday.rb#96 + def new(url = T.unsafe(nil), options = T.unsafe(nil), &block); end + + # source://faraday/2.7.11/lib/faraday.rb#107 + def respond_to_missing?(symbol, include_private = T.unsafe(nil)); end + + # source://faraday/2.7.11/lib/faraday.rb#42 + def root_path; end + + # source://faraday/2.7.11/lib/faraday.rb#42 + def root_path=(_arg0); end + + private + + # source://faraday/2.7.11/lib/faraday.rb#143 + def method_missing(name, *args, &block); end + end +end + +# source://faraday-multipart//lib/faraday/multipart.rb#18 +Faraday::CompositeReadIO = Faraday::Multipart::CompositeReadIO + +# Aliases for Faraday v1, these are all deprecated and will be removed in v2 of this middleware +# +# source://faraday-multipart//lib/faraday/multipart.rb#15 +Faraday::FilePart = Multipart::Post::UploadIO + +# Main Faraday::Multipart module. +# +# source://faraday-multipart//lib/faraday/multipart/version.rb#5 +module Faraday::Multipart + class << self + # source://faraday-multipart//lib/faraday/multipart/version.rb#8 + def multipart_post_version; end + end +end + +# Similar to, but not compatible with CompositeReadIO provided by the +# multipart-post gem. +# https://github.com/nicksieger/multipart-post/blob/master/lib/composite_io.rb +# +# source://faraday-multipart//lib/faraday/multipart/file_part.rb#67 +class Faraday::Multipart::CompositeReadIO + # @return [CompositeReadIO] a new instance of CompositeReadIO + # + # source://faraday-multipart//lib/faraday/multipart/file_part.rb#68 + def initialize(*parts); end + + # Close each of the IOs. + # + # @return [void] + # + # source://faraday-multipart//lib/faraday/multipart/file_part.rb#111 + def close; end + + # source://faraday-multipart//lib/faraday/multipart/file_part.rb#115 + def ensure_open_and_readable; end + + # @return [Integer] sum of the lengths of all the parts + # + # source://faraday-multipart//lib/faraday/multipart/file_part.rb#75 + def length; end + + # Read from IOs in order until `length` bytes have been received. + # + # @param length [Integer, nil] + # @param outbuf [String, nil] + # + # source://faraday-multipart//lib/faraday/multipart/file_part.rb#91 + def read(length = T.unsafe(nil), outbuf = T.unsafe(nil)); end + + # Rewind each of the IOs and reset the index to 0. + # + # @return [void] + # + # source://faraday-multipart//lib/faraday/multipart/file_part.rb#82 + def rewind; end + + private + + # source://faraday-multipart//lib/faraday/multipart/file_part.rb#125 + def advance_io; end + + # source://faraday-multipart//lib/faraday/multipart/file_part.rb#121 + def current_io; end +end + +# source://faraday-multipart//lib/faraday/multipart/file_part.rb#55 +Faraday::Multipart::FilePart = Multipart::Post::UploadIO + +# Middleware for supporting multi-part requests. +# +# source://faraday-multipart//lib/faraday/multipart/middleware.rb#8 +class Faraday::Multipart::Middleware < ::Faraday::Request::UrlEncoded + # @return [Middleware] a new instance of Middleware + # + # source://faraday-multipart//lib/faraday/multipart/middleware.rb#13 + def initialize(app = T.unsafe(nil), options = T.unsafe(nil)); end + + # Checks for files in the payload, otherwise leaves everything untouched. + # + # @param env [Faraday::Env] + # + # source://faraday-multipart//lib/faraday/multipart/middleware.rb#21 + def call(env); end + + # @param env [Faraday::Env] + # @param params [Hash] + # + # source://faraday-multipart//lib/faraday/multipart/middleware.rb#55 + def create_multipart(env, params); end + + # Returns true if obj is an enumerable with values that are multipart. + # + # @param obj [Object] + # @return [Boolean] + # + # source://faraday-multipart//lib/faraday/multipart/middleware.rb#44 + def has_multipart?(obj); end + + # source://faraday-multipart//lib/faraday/multipart/middleware.rb#67 + def part(boundary, key, value); end + + # @param params [Hash] + # @param prefix [String] + # @param pieces [Array] + # + # source://faraday-multipart//lib/faraday/multipart/middleware.rb#83 + def process_params(params, prefix = T.unsafe(nil), pieces = T.unsafe(nil), &block); end + + # @param env [Faraday::Env] + # @return [Boolean] + # + # source://faraday-multipart//lib/faraday/multipart/middleware.rb#32 + def process_request?(env); end + + # @return [String] + # + # source://faraday-multipart//lib/faraday/multipart/middleware.rb#76 + def unique_boundary; end +end + +# source://faraday-multipart//lib/faraday/multipart/middleware.rb#9 +Faraday::Multipart::Middleware::DEFAULT_BOUNDARY_PREFIX = T.let(T.unsafe(nil), String) + +# Multipart value used to POST data with a content type. +# +# source://faraday-multipart//lib/faraday/multipart/param_part.rb#6 +class Faraday::Multipart::ParamPart + # @param value [String] Uploaded content as a String. + # @param content_type [String] String content type of the value. + # @param content_id [String] Optional String of this value's Content-ID. + # @return [Faraday::ParamPart] + # + # source://faraday-multipart//lib/faraday/multipart/param_part.rb#12 + def initialize(value, content_type, content_id = T.unsafe(nil)); end + + # The value's content ID, if given. + # + # @return [String, nil] + # + # source://faraday-multipart//lib/faraday/multipart/param_part.rb#52 + def content_id; end + + # The value's content type. + # + # @return [String] + # + # source://faraday-multipart//lib/faraday/multipart/param_part.rb#47 + def content_type; end + + # Returns a Hash of String key/value pairs. + # + # @return [Hash] + # + # source://faraday-multipart//lib/faraday/multipart/param_part.rb#32 + def headers; end + + # Converts this value to a form part. + # + # @param boundary [String] String multipart boundary that must not exist in + # the content exactly. + # @param key [String] String key name for this value. + # @return [Faraday::Parts::Part] + # + # source://faraday-multipart//lib/faraday/multipart/param_part.rb#25 + def to_part(boundary, key); end + + # The content to upload. + # + # @return [String] + # + # source://faraday-multipart//lib/faraday/multipart/param_part.rb#42 + def value; end +end + +# source://faraday-multipart//lib/faraday/multipart/file_part.rb#56 +Faraday::Multipart::Parts = Multipart::Post::Parts + +# source://faraday-multipart//lib/faraday/multipart/version.rb#6 +Faraday::Multipart::VERSION = T.let(T.unsafe(nil), String) + +# source://faraday-multipart//lib/faraday/multipart.rb#16 +Faraday::ParamPart = Faraday::Multipart::ParamPart + +# source://faraday-multipart//lib/faraday/multipart.rb#17 +Faraday::Parts = Multipart::Post::Parts + +# multipart-post v2.2.0 introduces a new class hierarchy for classes like Parts and UploadIO +# For backwards compatibility, detect the gem version and use the right class +# +# source://faraday-multipart//lib/faraday/multipart.rb#21 +Faraday::UploadIO = Multipart::Post::UploadIO diff --git a/sorbet/rbi/gems/faraday-net_http@3.4.0.rbi b/sorbet/rbi/gems/faraday-net_http@3.4.0.rbi new file mode 100644 index 0000000..aa059e0 --- /dev/null +++ b/sorbet/rbi/gems/faraday-net_http@3.4.0.rbi @@ -0,0 +1,146 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `faraday-net_http` gem. +# Please instead update this file by running `bin/tapioca gem faraday-net_http`. + +# source://faraday-net_http//lib/faraday/adapter/net_http.rb#12 +module Faraday + class << self + # source://faraday/2.7.11/lib/faraday.rb#55 + def default_adapter; end + + # source://faraday/2.7.11/lib/faraday.rb#102 + def default_adapter=(adapter); end + + # source://faraday/2.7.11/lib/faraday.rb#59 + def default_adapter_options; end + + # source://faraday/2.7.11/lib/faraday.rb#59 + def default_adapter_options=(_arg0); end + + # source://faraday/2.7.11/lib/faraday.rb#120 + def default_connection; end + + # source://faraday/2.7.11/lib/faraday.rb#62 + def default_connection=(_arg0); end + + # source://faraday/2.7.11/lib/faraday.rb#127 + def default_connection_options; end + + # source://faraday/2.7.11/lib/faraday.rb#134 + def default_connection_options=(options); end + + # source://faraday/2.7.11/lib/faraday.rb#67 + def ignore_env_proxy; end + + # source://faraday/2.7.11/lib/faraday.rb#67 + def ignore_env_proxy=(_arg0); end + + # source://faraday/2.7.11/lib/faraday.rb#46 + def lib_path; end + + # source://faraday/2.7.11/lib/faraday.rb#46 + def lib_path=(_arg0); end + + # source://faraday/2.7.11/lib/faraday.rb#96 + def new(url = T.unsafe(nil), options = T.unsafe(nil), &block); end + + # source://faraday/2.7.11/lib/faraday.rb#107 + def respond_to_missing?(symbol, include_private = T.unsafe(nil)); end + + # source://faraday/2.7.11/lib/faraday.rb#42 + def root_path; end + + # source://faraday/2.7.11/lib/faraday.rb#42 + def root_path=(_arg0); end + + private + + # source://faraday/2.7.11/lib/faraday.rb#143 + def method_missing(name, *args, &block); end + end +end + +# source://faraday-net_http//lib/faraday/adapter/net_http.rb#13 +class Faraday::Adapter + # source://faraday/2.7.11/lib/faraday/adapter.rb#28 + def initialize(_app = T.unsafe(nil), opts = T.unsafe(nil), &block); end + + # source://faraday/2.7.11/lib/faraday/adapter.rb#55 + def call(env); end + + # source://faraday/2.7.11/lib/faraday/adapter.rb#50 + def close; end + + # source://faraday/2.7.11/lib/faraday/adapter.rb#41 + def connection(env); end + + private + + # source://faraday/2.7.11/lib/faraday/adapter.rb#85 + def request_timeout(type, options); end + + # source://faraday/2.7.11/lib/faraday/adapter.rb#62 + def save_response(env, status, body, headers = T.unsafe(nil), reason_phrase = T.unsafe(nil), finished: T.unsafe(nil)); end +end + +# source://faraday-net_http//lib/faraday/adapter/net_http.rb#14 +class Faraday::Adapter::NetHttp < ::Faraday::Adapter + # @return [NetHttp] a new instance of NetHttp + # + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#38 + def initialize(app = T.unsafe(nil), opts = T.unsafe(nil), &block); end + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#43 + def build_connection(env); end + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#63 + def call(env); end + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#51 + def net_http_connection(env); end + + private + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#152 + def configure_request(http, req); end + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#135 + def configure_ssl(http, ssl); end + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#79 + def create_request(env); end + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#191 + def encoded_body(http_response); end + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#95 + def perform_request(http, env); end + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#109 + def request_with_wrapped_block(http, env); end + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#125 + def save_http_response(env, http_response); end + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#172 + def ssl_cert_store(ssl); end + + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#181 + def ssl_verify_mode(ssl); end + + # @return [Boolean] + # + # source://faraday-net_http//lib/faraday/adapter/net_http.rb#203 + def verify_hostname_enabled?(http, ssl); end +end + +# source://faraday-net_http//lib/faraday/adapter/net_http.rb#36 +Faraday::Adapter::NetHttp::NET_HTTP_EXCEPTIONS = T.let(T.unsafe(nil), Array) + +# source://faraday-net_http//lib/faraday/net_http/version.rb#4 +module Faraday::NetHttp; end + +# source://faraday-net_http//lib/faraday/net_http/version.rb#5 +Faraday::NetHttp::VERSION = T.let(T.unsafe(nil), String)