diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 23db314..220f102 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: 48621865085324b8b8eda5901f092a37 + docChecksum: b2624bb972abebc11eff6d460c59de68 docVersion: 0.0.3 speakeasyVersion: 1.531.4 generationVersion: 2.570.4 - releaseVersion: 0.13.1 - configChecksum: 8d75dfb29843dc1913a718cd85b8f04b + releaseVersion: 0.15.0 + configChecksum: 8b48906f585b923403724afef31b2f99 repoURL: https://github.com/LukeHagar/plexruby.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexruby @@ -76,10 +76,6 @@ generatedFiles: - docs/models/errors/getalllibrarieserrors.md - docs/models/errors/getalllibrarieslibraryerrors.md - docs/models/errors/getalllibrariesunauthorized.md - - docs/models/errors/getallmedialibrarybadrequest.md - - docs/models/errors/getallmedialibraryerrors.md - - docs/models/errors/getallmedialibrarylibraryerrors.md - - docs/models/errors/getallmedialibraryunauthorized.md - docs/models/errors/getavailableclientsbadrequest.md - docs/models/errors/getavailableclientserrors.md - docs/models/errors/getavailableclientsservererrors.md @@ -140,6 +136,10 @@ generatedFiles: - docs/models/errors/getlibraryitemserrors.md - docs/models/errors/getlibraryitemslibraryerrors.md - docs/models/errors/getlibraryitemsunauthorized.md + - docs/models/errors/getlibrarysectionsallbadrequest.md + - docs/models/errors/getlibrarysectionsallerrors.md + - docs/models/errors/getlibrarysectionsalllibraryerrors.md + - docs/models/errors/getlibrarysectionsallunauthorized.md - docs/models/errors/getmediametadatabadrequest.md - docs/models/errors/getmediametadataerrors.md - docs/models/errors/getmediametadatalibraryerrors.md @@ -417,41 +417,6 @@ generatedFiles: - docs/models/operations/getalllibrariesresponse.md - docs/models/operations/getalllibrariesresponsebody.md - docs/models/operations/getalllibrariestype.md - - docs/models/operations/getallmedialibraryactivedirection.md - - docs/models/operations/getallmedialibrarycollection.md - - docs/models/operations/getallmedialibrarycountry.md - - docs/models/operations/getallmedialibrarydefaultdirection.md - - docs/models/operations/getallmedialibrarydirector.md - - docs/models/operations/getallmedialibraryfield.md - - docs/models/operations/getallmedialibraryfieldtype.md - - docs/models/operations/getallmedialibraryfilter.md - - docs/models/operations/getallmedialibrarygenre.md - - docs/models/operations/getallmedialibraryguids.md - - docs/models/operations/getallmedialibraryhasthumbnail.md - - docs/models/operations/getallmedialibraryimage.md - - docs/models/operations/getallmedialibrarylibraryoptimizedforstreaming.md - - docs/models/operations/getallmedialibrarylibraryresponsetype.md - - docs/models/operations/getallmedialibrarylibrarytype.md - - docs/models/operations/getallmedialibrarymedia.md - - docs/models/operations/getallmedialibrarymediacontainer.md - - docs/models/operations/getallmedialibrarymeta.md - - docs/models/operations/getallmedialibrarymetadata.md - - docs/models/operations/getallmedialibraryoperator.md - - docs/models/operations/getallmedialibraryoptimizedforstreaming.md - - docs/models/operations/getallmedialibraryoptimizedforstreaming1.md - - docs/models/operations/getallmedialibrarypart.md - - docs/models/operations/getallmedialibraryqueryparamincludemeta.md - - docs/models/operations/getallmedialibraryqueryparamtype.md - - docs/models/operations/getallmedialibraryrequest.md - - docs/models/operations/getallmedialibraryresponse.md - - docs/models/operations/getallmedialibraryresponsebody.md - - 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 - docs/models/operations/getavailableclientsmediacontainer.md - docs/models/operations/getavailableclientsresponse.md - docs/models/operations/getavailableclientsresponsebody.md @@ -556,6 +521,41 @@ generatedFiles: - docs/models/operations/getlibraryitemstype.md - docs/models/operations/getlibraryitemsultrablurcolors.md - docs/models/operations/getlibraryitemswriter.md + - docs/models/operations/getlibrarysectionsallactivedirection.md + - docs/models/operations/getlibrarysectionsallcollection.md + - docs/models/operations/getlibrarysectionsallcountry.md + - docs/models/operations/getlibrarysectionsalldefaultdirection.md + - docs/models/operations/getlibrarysectionsalldirector.md + - docs/models/operations/getlibrarysectionsallfield.md + - docs/models/operations/getlibrarysectionsallfieldtype.md + - docs/models/operations/getlibrarysectionsallfilter.md + - docs/models/operations/getlibrarysectionsallgenre.md + - docs/models/operations/getlibrarysectionsallguids.md + - docs/models/operations/getlibrarysectionsallhasthumbnail.md + - docs/models/operations/getlibrarysectionsallimage.md + - docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md + - docs/models/operations/getlibrarysectionsalllibraryresponsetype.md + - docs/models/operations/getlibrarysectionsalllibrarytype.md + - docs/models/operations/getlibrarysectionsallmedia.md + - docs/models/operations/getlibrarysectionsallmediacontainer.md + - docs/models/operations/getlibrarysectionsallmeta.md + - docs/models/operations/getlibrarysectionsallmetadata.md + - docs/models/operations/getlibrarysectionsalloperator.md + - docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md + - docs/models/operations/getlibrarysectionsalloptimizedforstreaming1.md + - docs/models/operations/getlibrarysectionsallpart.md + - docs/models/operations/getlibrarysectionsallqueryparamincludemeta.md + - docs/models/operations/getlibrarysectionsallqueryparamtype.md + - docs/models/operations/getlibrarysectionsallrequest.md + - docs/models/operations/getlibrarysectionsallresponse.md + - docs/models/operations/getlibrarysectionsallresponsebody.md + - docs/models/operations/getlibrarysectionsallrole.md + - docs/models/operations/getlibrarysectionsallsort.md + - docs/models/operations/getlibrarysectionsallstream.md + - docs/models/operations/getlibrarysectionsallstreamtype.md + - docs/models/operations/getlibrarysectionsalltype.md + - docs/models/operations/getlibrarysectionsallultrablurcolors.md + - docs/models/operations/getlibrarysectionsallwriter.md - docs/models/operations/getmediaartsmediacontainer.md - docs/models/operations/getmediaartsmetadata.md - docs/models/operations/getmediaartsrequest.md @@ -775,6 +775,7 @@ generatedFiles: - docs/models/operations/gettopwatchedcontentguids.md - docs/models/operations/gettopwatchedcontentmediacontainer.md - docs/models/operations/gettopwatchedcontentmetadata.md + - docs/models/operations/gettopwatchedcontentqueryparamincludeguids.md - docs/models/operations/gettopwatchedcontentqueryparamtype.md - docs/models/operations/gettopwatchedcontentrequest.md - docs/models/operations/gettopwatchedcontentresponse.md @@ -1024,10 +1025,6 @@ generatedFiles: - lib/plex_ruby_sdk/models/errors/get_all_libraries_errors.rb - lib/plex_ruby_sdk/models/errors/get_all_libraries_library_errors.rb - lib/plex_ruby_sdk/models/errors/get_all_libraries_unauthorized.rb - - lib/plex_ruby_sdk/models/errors/get_all_media_library_badrequest.rb - - lib/plex_ruby_sdk/models/errors/get_all_media_library_errors.rb - - lib/plex_ruby_sdk/models/errors/get_all_media_library_library_errors.rb - - lib/plex_ruby_sdk/models/errors/get_all_media_library_unauthorized.rb - lib/plex_ruby_sdk/models/errors/get_banner_image_badrequest.rb - lib/plex_ruby_sdk/models/errors/get_banner_image_errors.rb - lib/plex_ruby_sdk/models/errors/get_banner_image_media_errors.rb @@ -1048,6 +1045,10 @@ generatedFiles: - lib/plex_ruby_sdk/models/errors/get_library_items_errors.rb - lib/plex_ruby_sdk/models/errors/get_library_items_library_errors.rb - lib/plex_ruby_sdk/models/errors/get_library_items_unauthorized.rb + - lib/plex_ruby_sdk/models/errors/get_library_sections_all_badrequest.rb + - lib/plex_ruby_sdk/models/errors/get_library_sections_all_errors.rb + - lib/plex_ruby_sdk/models/errors/get_library_sections_all_library_errors.rb + - lib/plex_ruby_sdk/models/errors/get_library_sections_all_unauthorized.rb - lib/plex_ruby_sdk/models/errors/get_media_meta_data_badrequest.rb - lib/plex_ruby_sdk/models/errors/get_media_meta_data_errors.rb - lib/plex_ruby_sdk/models/errors/get_media_meta_data_library_errors.rb @@ -1366,41 +1367,6 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_all_libraries_response.rb - lib/plex_ruby_sdk/models/operations/get_all_libraries_responsebody.rb - lib/plex_ruby_sdk/models/operations/get_all_libraries_type.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_activedirection.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_collection.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_country.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_defaultdirection.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_director.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_field.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_fieldtype.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_filter.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_genre.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_guids.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_hasthumbnail.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_image.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_library_optimizedforstreaming.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_library_response_type.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_library_type.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_media.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_mediacontainer.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_meta.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_metadata.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_operator.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_optimizedforstreaming.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_optimizedforstreaming_1.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_part.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_queryparam_includemeta.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_queryparam_type.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_request.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_response.rb - - lib/plex_ruby_sdk/models/operations/get_all_media_library_responsebody.rb - - 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 - lib/plex_ruby_sdk/models/operations/get_banner_image_request.rb - lib/plex_ruby_sdk/models/operations/get_banner_image_response.rb - lib/plex_ruby_sdk/models/operations/get_countries_library_directory.rb @@ -1466,6 +1432,41 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_library_items_type.rb - lib/plex_ruby_sdk/models/operations/get_library_items_ultrablurcolors.rb - lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_activedirection.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_collection.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_country.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_defaultdirection.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_director.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_field.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_fieldtype.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_filter.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_genre.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_guids.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_hasthumbnail.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_image.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_optimizedforstreaming.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_response_type.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_type.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_media.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_meta.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_operator.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_1.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_queryparam_includemeta.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_queryparam_type.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_request.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_response.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_responsebody.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_role.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_sort.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_streamtype.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_type.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_ultrablurcolors.rb + - lib/plex_ruby_sdk/models/operations/get_library_sections_all_writer.rb - lib/plex_ruby_sdk/models/operations/get_media_arts_mediacontainer.rb - lib/plex_ruby_sdk/models/operations/get_media_arts_metadata.rb - lib/plex_ruby_sdk/models/operations/get_media_arts_request.rb @@ -1732,6 +1733,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_guids.rb - lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_mediacontainer.rb - lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_metadata.rb + - lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_includeguids.rb - lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb - lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb - lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_response.rb @@ -2017,7 +2019,7 @@ examples: width: 110 height: 165 opacity: 643869 - blur: 0 + blur: 4000 minSize: 1 upscale: 0 url: "/library/metadata/49564/thumb/1654258204" @@ -2278,7 +2280,6 @@ examples: getPin: "": parameters: - query: {} header: X-Plex-Client-Identifier: "3381b62b-9ab7-4e37-827b-203e9809eb58" X-Plex-Product: "Plex for Roku" @@ -2325,7 +2326,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, "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"}]}]}} + 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"}, "Guid": [{"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}, {"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}], "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": 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": [{"id": 126522, "filter": "director=235876", "tag": "Danny Boyle", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "filter": "director=235876", "tag": "Danny Boyle", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "filter": "director=235876", "tag": "Danny Boyle", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "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"}], "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"}, {"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"}, "Guid": [{"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}], "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": [{"id": 126522, "filter": "director=235876", "tag": "Danny Boyle", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "filter": "director=235876", "tag": "Danny Boyle", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "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"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} getLibraryHubs: speakeasy-default-get-library-hubs: parameters: @@ -2452,8 +2453,8 @@ examples: application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]} - get-all-media-library: - speakeasy-default-get-all-media-library: + get-library-sections-all: + speakeasy-default-get-library-sections-all: parameters: path: sectionKey: 9518 @@ -2468,9 +2469,9 @@ 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, "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"}]}]}} + 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}, {"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": "/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"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"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"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Guid": [{"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}], "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"}, {"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": [{"tag": "Crime"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"tag": "Jamie P. Hanson"}], "Role": [{"tag": "Teller"}, {"tag": "Teller"}], "Collection": [{"tag": "My Awesome Collection"}]}, {"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"}, "Guid": [{"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}, {"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}], "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"}]}]}, {"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"}, {"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"}]}, {"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"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"tag": "Jamie P. Hanson"}, {"tag": "Jamie P. Hanson"}], "Role": [{"tag": "Teller"}], "Collection": [{"tag": "My Awesome Collection"}]}, {"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"}, "Guid": [{"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}, {"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}, {"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}], "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"}]}, {"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"}, {"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": 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"}]}, {"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"}], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"tag": "Jamie P. Hanson"}, {"tag": "Jamie P. Hanson"}, {"tag": "Jamie P. Hanson"}], "Role": [{"tag": "Teller"}, {"tag": "Teller"}, {"tag": "Teller"}], "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}]} + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} get-refresh-library-metadata: @@ -2562,7 +2563,7 @@ examples: speakeasy-default-get-media-meta-data: parameters: path: - ratingKey: 9518 + ratingKey: "21119,21617" query: includeConcerts: true includeExtras: true @@ -2579,11 +2580,11 @@ 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": "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}}]}} + 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"}, {"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", "Guid": [{"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}, {"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}], "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": 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"}, {"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, "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"}, {"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"}], "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"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}, {"image": "imdb://image.rating", "value": 9, "type": "audience"}, {"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Similar": [{"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"}], "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", "Guid": [{"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}], "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"}]}]}], "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"}], "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"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}, {"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}}], "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", "Guid": [{"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}, {"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}], "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": 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"}]}]}], "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"}, {"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"}, {"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"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}, {"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"}], "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}}]}} "400": - application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": - application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} get-media-arts: speakeasy-default-get-media-arts: parameters: @@ -2655,14 +2656,14 @@ examples: "401": application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]} getTopWatchedContent: - "": + speakeasy-default-get-top-watched-content: parameters: query: - includeGuids: 1 type: 2 + includeGuids: 1 responses: "200": - application/json: {"MediaContainer": {"size": 1, "allowSync": true, "identifier": "com.plexapp.plugins.library", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1698860922, "Metadata": [{"ratingKey": "17", "key": "/library/metadata/17", "guid": "plex://movie/5d77683f6f4521001ea9dc53", "slug": "waterloo-road", "studio": "Universal Pictures", "type": "movie", "title": "Serenity", "librarySectionTitle": "Movies", "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "contentRating": "PG-13", "summary": "Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.", "index": 1, "audienceRating": 9.1, "year": 2005, "tagline": "They aim to misbehave.", "thumb": "/library/metadata/17/thumb/1705637165", "art": "/library/metadata/17/art/1705637165", "duration": 141417, "originallyAvailableAt": "2005-09-29T00:00:00Z", "leafCount": 222, "viewedLeafCount": 100, "childCount": 13, "addedAt": 1705637164, "updatedAt": 1705637165, "globalViewCount": 80, "audienceRatingImage": "rottentomatoes://image.rating.upright", "Genre": [{"id": 184, "filter": "genre=184", "tag": "Thriller"}], "Country": [{"id": 116, "filter": "country=116", "tag": "United States of America"}, {"id": 116, "filter": "country=116", "tag": "United States of America"}], "Guid": [{"id": "tvdb://2337"}], "Role": [{"id": 220, "filter": "actor=220", "tag": "Dennis Keiffer", "tagKey": "5d77683554f42c001f8c4708", "role": "Bar Guy (uncredited)", "thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}, {"id": 220, "filter": "actor=220", "tag": "Dennis Keiffer", "tagKey": "5d77683554f42c001f8c4708", "role": "Bar Guy (uncredited)", "thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}], "User": [{"id": 220}, {"id": 220}, {"id": 220}]}, {"ratingKey": "17", "key": "/library/metadata/17", "guid": "plex://movie/5d77683f6f4521001ea9dc53", "slug": "waterloo-road", "studio": "Universal Pictures", "type": "movie", "title": "Serenity", "librarySectionTitle": "Movies", "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "contentRating": "PG-13", "summary": "Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.", "index": 1, "audienceRating": 9.1, "year": 2005, "tagline": "They aim to misbehave.", "thumb": "/library/metadata/17/thumb/1705637165", "art": "/library/metadata/17/art/1705637165", "duration": 141417, "originallyAvailableAt": "2005-09-29T00:00:00Z", "leafCount": 222, "viewedLeafCount": 100, "childCount": 13, "addedAt": 1705637164, "updatedAt": 1705637165, "globalViewCount": 80, "audienceRatingImage": "rottentomatoes://image.rating.upright", "Genre": [{"id": 184, "filter": "genre=184", "tag": "Thriller"}], "Country": [{"id": 116, "filter": "country=116", "tag": "United States of America"}, {"id": 116, "filter": "country=116", "tag": "United States of America"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Role": [{"id": 220, "filter": "actor=220", "tag": "Dennis Keiffer", "tagKey": "5d77683554f42c001f8c4708", "role": "Bar Guy (uncredited)", "thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}], "User": [{"id": 220}, {"id": 220}]}]}} + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "Metadata": [{"ratingKey": "17", "key": "/library/metadata/17", "guid": "plex://movie/5d77683f6f4521001ea9dc53", "slug": "waterloo-road", "studio": "Universal Pictures", "type": "movie", "title": "Serenity", "librarySectionTitle": "Movies", "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "contentRating": "PG-13", "summary": "Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.", "index": 1, "audienceRating": 9.1, "year": 2005, "tagline": "They aim to misbehave.", "thumb": "/library/metadata/17/thumb/1705637165", "art": "/library/metadata/17/art/1705637165", "duration": 141417, "originallyAvailableAt": "2005-09-29T00:00:00Z", "leafCount": 222, "viewedLeafCount": 100, "childCount": 13, "addedAt": 1705637164, "updatedAt": 1705637165, "globalViewCount": 80, "audienceRatingImage": "rottentomatoes://image.rating.upright", "Genre": [{"id": 184, "filter": "genre=184", "tag": "Thriller"}], "Country": [{"id": 116, "filter": "country=116", "tag": "United States of America"}, {"id": 116, "filter": "country=116", "tag": "United States of America"}], "Guid": [{"id": "tvdb://2337"}], "Role": [{"id": 220, "filter": "actor=220", "tag": "Dennis Keiffer", "tagKey": "5d77683554f42c001f8c4708", "role": "Bar Guy (uncredited)", "thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}, {"id": 220, "filter": "actor=220", "tag": "Dennis Keiffer", "tagKey": "5d77683554f42c001f8c4708", "role": "Bar Guy (uncredited)", "thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}], "User": [{"id": 220}, {"id": 220}, {"id": 220}]}, {"ratingKey": "17", "key": "/library/metadata/17", "guid": "plex://movie/5d77683f6f4521001ea9dc53", "slug": "waterloo-road", "studio": "Universal Pictures", "type": "movie", "title": "Serenity", "librarySectionTitle": "Movies", "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "contentRating": "PG-13", "summary": "Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.", "index": 1, "audienceRating": 9.1, "year": 2005, "tagline": "They aim to misbehave.", "thumb": "/library/metadata/17/thumb/1705637165", "art": "/library/metadata/17/art/1705637165", "duration": 141417, "originallyAvailableAt": "2005-09-29T00:00:00Z", "leafCount": 222, "viewedLeafCount": 100, "childCount": 13, "addedAt": 1705637164, "updatedAt": 1705637165, "globalViewCount": 80, "audienceRatingImage": "rottentomatoes://image.rating.upright", "Genre": [{"id": 184, "filter": "genre=184", "tag": "Thriller"}], "Country": [{"id": 116, "filter": "country=116", "tag": "United States of America"}, {"id": 116, "filter": "country=116", "tag": "United States of America"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Role": [{"id": 220, "filter": "actor=220", "tag": "Dennis Keiffer", "tagKey": "5d77683554f42c001f8c4708", "role": "Bar Guy (uncredited)", "thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}], "User": [{"id": 220}, {"id": 220}]}]}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index f33a520..decb9c6 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -4,6 +4,7 @@ generation: maintainOpenAPIOrder: true usageSnippets: optionalPropertyRendering: withExample + sdkInitStyle: constructor useClassNamesForArrayFields: true fixes: nameResolutionDec2023: true @@ -16,7 +17,7 @@ generation: oAuth2ClientCredentialsEnabled: false oAuth2PasswordEnabled: false ruby: - version: 0.13.1 + version: 0.15.0 additionalDependencies: development: {} runtime: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 372c381..48e44a7 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -9,19 +9,19 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a - sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c + sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0 + sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4 tags: - latest - - speakeasy-sdk-regen-1746490160 + - speakeasy-sdk-regen-1749082164 targets: plexruby: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a - sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c + sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0 + sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4 codeSamplesNamespace: code-samples-ruby-plexruby - codeSamplesRevisionDigest: sha256:dd78738e06592ab1ee075ec410c9abdd14fd18a7d7d6e58e34b3a55f6941700e + codeSamplesRevisionDigest: sha256:8762b4797b28c7f1c47bdbc7aa0b2e2c1b5a9c0b9596cd2c3cfb9ed7b6601caa workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/Gemfile.lock b/Gemfile.lock index 3a3870a..bc007b7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - plex_ruby_sdk (0.13.1) + plex_ruby_sdk (0.15.0) faraday faraday-multipart faraday-retry (~> 2.2.1) diff --git a/README.md b/README.md index e8b3626..4fad7a7 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ end * [get_library_details](docs/sdks/library/README.md#get_library_details) - Get Library Details * [delete_library](docs/sdks/library/README.md#delete_library) - Delete Library Section * [get_library_items](docs/sdks/library/README.md#get_library_items) - Get Library Items -* [get_all_media_library](docs/sdks/library/README.md#get_all_media_library) - Get all media of library +* [get_library_sections_all](docs/sdks/library/README.md#get_library_sections_all) - Get Library section media by tag ALL * [get_refresh_library_metadata](docs/sdks/library/README.md#get_refresh_library_metadata) - Refresh Metadata Of The Library * [get_search_library](docs/sdks/library/README.md#get_search_library) - Search Library * [get_genres_library](docs/sdks/library/README.md#get_genres_library) - Get Genres of library media @@ -294,7 +294,7 @@ require 'plex_ruby_sdk' s = ::PlexRubySDK::PlexAPI.new( security: Models::Shared::Security.new( - access_token: "", + access_token: '', ), ) diff --git a/RELEASES.md b/RELEASES.md index b044b4c..c679222 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -816,4 +816,14 @@ Based on: ### Generated - [ruby v0.13.1] . ### Releases -- [Ruby Gems v0.13.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.13.1 - . \ No newline at end of file +- [Ruby Gems v0.13.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.13.1 - . + +## 2025-06-05 00:09:08 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.531.4 (2.570.4) https://github.com/speakeasy-api/speakeasy +### Generated +- [ruby v0.15.0] . +### Releases +- [Ruby Gems v0.15.0] https://rubygems.org/gems/plex_ruby_sdk/versions/0.15.0 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index cc24dab..0f17a61 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -506,7 +506,7 @@ actions: ), ) - res = s.library.get_top_watched_content(type=Models::Operations::GetTopWatchedContentQueryParamType::TV_SHOW, include_guids=1) + res = s.library.get_top_watched_content(type=Models::Operations::GetTopWatchedContentQueryParamType::TV_SHOW, include_guids=Models::Operations::GetTopWatchedContentQueryParamIncludeGuids::ENABLE) if ! res.object.nil? # handle response @@ -545,7 +545,7 @@ actions: ) req = Models::Operations::GetMediaMetaDataRequest.new( - rating_key: 9518, + rating_key: "21119,21617", include_concerts: true, include_extras: true, include_on_deck: true, @@ -904,10 +904,10 @@ actions: ), ) - req = Models::Operations::GetAllMediaLibraryRequest.new( + req = Models::Operations::GetLibrarySectionsAllRequest.new( section_key: 9518, - type: Models::Operations::GetAllMediaLibraryQueryParamType::TV_SHOW, - include_meta: Models::Operations::GetAllMediaLibraryQueryParamIncludeMeta::ENABLE, + type: Models::Operations::GetLibrarySectionsAllQueryParamType::TV_SHOW, + include_meta: Models::Operations::GetLibrarySectionsAllQueryParamIncludeMeta::ENABLE, include_guids: Models::Operations::QueryParamIncludeGuids::ENABLE, include_advanced: Models::Operations::IncludeAdvanced::ENABLE, include_collections: Models::Operations::QueryParamIncludeCollections::ENABLE, @@ -916,7 +916,7 @@ actions: x_plex_container_size: 50, ) - res = s.library.get_all_media_library(req) + res = s.library.get_library_sections_all(req) if ! res.object.nil? # handle response diff --git a/docs/models/errors/getallmedialibrarybadrequest.md b/docs/models/errors/getallmedialibrarybadrequest.md deleted file mode 100644 index 2ce45b2..0000000 --- a/docs/models/errors/getallmedialibrarybadrequest.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetAllMediaLibraryBadRequest - -Bad Request - A parameter was not specified, or was specified incorrectly. - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `errors` | T::Array<[Models::Errors::GetAllMediaLibraryErrors](../../models/errors/getallmedialibraryerrors.md)> | :heavy_minus_sign: | N/A | -| `raw_response` | [Faraday::Response](https://www.rubydoc.info/gems/faraday/Faraday/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/errors/getallmedialibraryunauthorized.md b/docs/models/errors/getallmedialibraryunauthorized.md deleted file mode 100644 index ffa919b..0000000 --- a/docs/models/errors/getallmedialibraryunauthorized.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetAllMediaLibraryUnauthorized - -Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -| `errors` | T::Array<[Models::Errors::GetAllMediaLibraryLibraryErrors](../../models/errors/getallmedialibrarylibraryerrors.md)> | :heavy_minus_sign: | N/A | -| `raw_response` | [Faraday::Response](https://www.rubydoc.info/gems/faraday/Faraday/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/errors/getlibrarysectionsallbadrequest.md b/docs/models/errors/getlibrarysectionsallbadrequest.md new file mode 100644 index 0000000..9363fd4 --- /dev/null +++ b/docs/models/errors/getlibrarysectionsallbadrequest.md @@ -0,0 +1,11 @@ +# GetLibrarySectionsAllBadRequest + +Bad Request - A parameter was not specified, or was specified incorrectly. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `errors` | T::Array<[Models::Errors::GetLibrarySectionsAllErrors](../../models/errors/getlibrarysectionsallerrors.md)> | :heavy_minus_sign: | N/A | +| `raw_response` | [Faraday::Response](https://www.rubydoc.info/gems/faraday/Faraday/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/errors/getallmedialibraryerrors.md b/docs/models/errors/getlibrarysectionsallerrors.md similarity index 97% rename from docs/models/errors/getallmedialibraryerrors.md rename to docs/models/errors/getlibrarysectionsallerrors.md index 7bc7ac7..fbdf580 100644 --- a/docs/models/errors/getallmedialibraryerrors.md +++ b/docs/models/errors/getlibrarysectionsallerrors.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryErrors +# GetLibrarySectionsAllErrors ## Fields diff --git a/docs/models/errors/getallmedialibrarylibraryerrors.md b/docs/models/errors/getlibrarysectionsalllibraryerrors.md similarity index 95% rename from docs/models/errors/getallmedialibrarylibraryerrors.md rename to docs/models/errors/getlibrarysectionsalllibraryerrors.md index faf99a7..e565d7a 100644 --- a/docs/models/errors/getallmedialibrarylibraryerrors.md +++ b/docs/models/errors/getlibrarysectionsalllibraryerrors.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryLibraryErrors +# GetLibrarySectionsAllLibraryErrors ## Fields diff --git a/docs/models/errors/getlibrarysectionsallunauthorized.md b/docs/models/errors/getlibrarysectionsallunauthorized.md new file mode 100644 index 0000000..e3f2440 --- /dev/null +++ b/docs/models/errors/getlibrarysectionsallunauthorized.md @@ -0,0 +1,11 @@ +# GetLibrarySectionsAllUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `errors` | T::Array<[Models::Errors::GetLibrarySectionsAllLibraryErrors](../../models/errors/getlibrarysectionsalllibraryerrors.md)> | :heavy_minus_sign: | N/A | +| `raw_response` | [Faraday::Response](https://www.rubydoc.info/gems/faraday/Faraday/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/country.md b/docs/models/operations/country.md index b67313f..395499c 100644 --- a/docs/models/operations/country.md +++ b/docs/models/operations/country.md @@ -5,8 +5,8 @@ The filter query string for country media items. ## Fields -| 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 +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | The unique identifier for the country.
NOTE: This is different for each Plex server and is not globally unique.
| 259 | +| `tag` | *::String* | :heavy_check_mark: | The country of origin of this media item | United States of America | +| `filter` | *::String* | :heavy_check_mark: | N/A | country=19 | \ No newline at end of file diff --git a/docs/models/operations/director.md b/docs/models/operations/director.md index ac17119..24ecb7f 100644 --- a/docs/models/operations/director.md +++ b/docs/models/operations/director.md @@ -3,6 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | -| `tag` | *::String* | :heavy_check_mark: | The role of Director | Danny Boyle | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique identifier for the director. | 126522 | +| `filter` | *::String* | :heavy_check_mark: | The filter string used to query this director. | director=235876 | +| `tag` | *::String* | :heavy_check_mark: | The role of Director | Danny Boyle | +| `tag_key` | *::String* | :heavy_check_mark: | A unique 24-character hexadecimal key associated with the director's tag, used for internal identification. | 5d776831151a60001f24d031 | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The absolute 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/genre.md b/docs/models/operations/genre.md index 6d82eaf..cd35ec3 100644 --- a/docs/models/operations/genre.md +++ b/docs/models/operations/genre.md @@ -5,8 +5,8 @@ The filter query string for similar items. ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | N/A | 259 | -| `filter` | *::String* | :heavy_check_mark: | N/A | genre=19 | -| `tag` | *::String* | :heavy_check_mark: | The genre name of this media-item
| Crime | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | The unique identifier for the genre.
NOTE: This is different for each Plex server and is not globally unique.
| 259 | +| `filter` | *::String* | :heavy_check_mark: | N/A | genre=19 | +| `tag` | *::String* | :heavy_check_mark: | The genre name of this media-item
| Crime | \ No newline at end of file diff --git a/docs/models/operations/getactorslibraryqueryparamtype.md b/docs/models/operations/getactorslibraryqueryparamtype.md index c0c209a..82dd3d8 100644 --- a/docs/models/operations/getactorslibraryqueryparamtype.md +++ b/docs/models/operations/getactorslibraryqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getalllibrariestype.md b/docs/models/operations/getalllibrariestype.md index 73f0ace..c69a39d 100644 --- a/docs/models/operations/getalllibrariestype.md +++ b/docs/models/operations/getalllibrariestype.md @@ -5,11 +5,15 @@ The library type ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | -| `ARTIST` | artist | -| `ALBUM` | album | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryfieldtype.md b/docs/models/operations/getallmedialibraryfieldtype.md deleted file mode 100644 index 6074597..0000000 --- a/docs/models/operations/getallmedialibraryfieldtype.md +++ /dev/null @@ -1,9 +0,0 @@ -# GetAllMediaLibraryFieldType - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -| `type` | *::String* | :heavy_check_mark: | N/A | tag | -| `operator` | T::Array<[Models::Operations::GetAllMediaLibraryOperator](../../models/operations/getallmedialibraryoperator.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryguids.md b/docs/models/operations/getallmedialibraryguids.md deleted file mode 100644 index b625c50..0000000 --- a/docs/models/operations/getallmedialibraryguids.md +++ /dev/null @@ -1,8 +0,0 @@ -# GetAllMediaLibraryGuids - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| `id` | *T.nilable(::String)* | :heavy_minus_sign: | The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
| tvdb://2337 | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryimage.md b/docs/models/operations/getallmedialibraryimage.md deleted file mode 100644 index 7db6128..0000000 --- a/docs/models/operations/getallmedialibraryimage.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetAllMediaLibraryImage - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -| `alt` | *::String* | :heavy_check_mark: | N/A | Episode 1 | -| `type` | [Models::Operations::GetAllMediaLibraryLibraryResponseType](../../models/operations/getallmedialibrarylibraryresponsetype.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/getallmedialibrarylibrarytype.md b/docs/models/operations/getallmedialibrarylibrarytype.md deleted file mode 100644 index b572e52..0000000 --- a/docs/models/operations/getallmedialibrarylibrarytype.md +++ /dev/null @@ -1,16 +0,0 @@ -# GetAllMediaLibraryLibraryType - -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/getallmedialibrarymediacontainer.md b/docs/models/operations/getallmedialibrarymediacontainer.md deleted file mode 100644 index ff0bace..0000000 --- a/docs/models/operations/getallmedialibrarymediacontainer.md +++ /dev/null @@ -1,26 +0,0 @@ -# GetAllMediaLibraryMediaContainer - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -| `size` | *::Integer* | :heavy_check_mark: | Number of media items returned in this response. | 50 | -| `total_size` | *::Integer* | :heavy_check_mark: | Total number of media items in the library. | 50 | -| `offset` | *::Integer* | :heavy_check_mark: | Offset value for pagination. | 0 | -| `allow_sync` | *T::Boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | -| `art` | *::String* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | -| `content` | *::String* | :heavy_check_mark: | The content type or mode. | secondary | -| `identifier` | *::String* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | -| `library_section_id` | *::Integer* | :heavy_check_mark: | The unique identifier for the library section. | 2 | -| `library_section_title` | *::String* | :heavy_check_mark: | The title of the library section. | TV Series | -| `library_section_uuid` | *T.nilable(::String)* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | -| `media_tag_prefix` | *::String* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | -| `media_tag_version` | *::Integer* | :heavy_check_mark: | The version number for media tags. | 1734362201 | -| `thumb` | *::String* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | -| `nocache` | *T::Boolean* | :heavy_check_mark: | Specifies whether caching is disabled. | true | -| `title1` | *::String* | :heavy_check_mark: | The primary title of the media container. | TV Series | -| `title2` | *::String* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor | -| `view_group` | *::String* | :heavy_check_mark: | Identifier for the view group layout. | secondary | -| `meta` | [T.nilable(Models::Operations::GetAllMediaLibraryMeta)](../../models/operations/getallmedialibrarymeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | -| `metadata` | T::Array<[Models::Operations::GetAllMediaLibraryMetadata](../../models/operations/getallmedialibrarymetadata.md)> | :heavy_minus_sign: | An array of metadata items. | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarymeta.md b/docs/models/operations/getallmedialibrarymeta.md deleted file mode 100644 index 91c9bfe..0000000 --- a/docs/models/operations/getallmedialibrarymeta.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetAllMediaLibraryMeta - -The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. - - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -| `type` | T::Array<[Models::Operations::GetAllMediaLibraryType](../../models/operations/getallmedialibrarytype.md)> | :heavy_minus_sign: | N/A | -| `field_type` | T::Array<[Models::Operations::GetAllMediaLibraryFieldType](../../models/operations/getallmedialibraryfieldtype.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryqueryparamtype.md b/docs/models/operations/getallmedialibraryqueryparamtype.md deleted file mode 100644 index 61d7923..0000000 --- a/docs/models/operations/getallmedialibraryqueryparamtype.md +++ /dev/null @@ -1,22 +0,0 @@ -# GetAllMediaLibraryQueryParamType - -The type of media to retrieve or filter by. -1 = movie -2 = show -3 = season -4 = episode -E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries - - - -## Values - -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryresponse.md b/docs/models/operations/getallmedialibraryresponse.md deleted file mode 100644 index 195d14f..0000000 --- a/docs/models/operations/getallmedialibraryresponse.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetAllMediaLibraryResponse - - -## Fields - -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -| `content_type` | *::String* | :heavy_check_mark: | HTTP response content type for this operation | -| `status_code` | *::Integer* | :heavy_check_mark: | HTTP response status code for this operation | -| `raw_response` | [Faraday::Response](https://www.rubydoc.info/gems/faraday/Faraday/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `object` | [T.nilable(Models::Operations::GetAllMediaLibraryResponseBody)](../../models/operations/getallmedialibraryresponsebody.md) | :heavy_minus_sign: | Successful response containing media container data. | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarystream.md b/docs/models/operations/getallmedialibrarystream.md deleted file mode 100644 index 6f0ed2d..0000000 --- a/docs/models/operations/getallmedialibrarystream.md +++ /dev/null @@ -1,58 +0,0 @@ -# GetAllMediaLibraryStream - - -## Fields - -| 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/getallmedialibrarytype.md b/docs/models/operations/getallmedialibrarytype.md deleted file mode 100644 index a00a62f..0000000 --- a/docs/models/operations/getallmedialibrarytype.md +++ /dev/null @@ -1,15 +0,0 @@ -# GetAllMediaLibraryType - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | -| `type` | *::String* | :heavy_check_mark: | N/A | filter | -| `subtype` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | clip | -| `title` | *::String* | :heavy_check_mark: | N/A | TV Shows | -| `active` | *T::Boolean* | :heavy_check_mark: | N/A | false | -| `filter` | T::Array<[Models::Operations::GetAllMediaLibraryFilter](../../models/operations/getallmedialibraryfilter.md)> | :heavy_minus_sign: | N/A | | -| `sort` | T::Array<[Models::Operations::GetAllMediaLibrarySort](../../models/operations/getallmedialibrarysort.md)> | :heavy_minus_sign: | N/A | | -| `field` | T::Array<[Models::Operations::GetAllMediaLibraryField](../../models/operations/getallmedialibraryfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getcountrieslibraryqueryparamtype.md b/docs/models/operations/getcountrieslibraryqueryparamtype.md index 01d493f..333dcd6 100644 --- a/docs/models/operations/getcountrieslibraryqueryparamtype.md +++ b/docs/models/operations/getcountrieslibraryqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getgenreslibraryqueryparamtype.md b/docs/models/operations/getgenreslibraryqueryparamtype.md index d77360e..2a59ac1 100644 --- a/docs/models/operations/getgenreslibraryqueryparamtype.md +++ b/docs/models/operations/getgenreslibraryqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibrarytype.md b/docs/models/operations/getlibraryitemslibrarytype.md index cb8e9e8..6c95eca 100644 --- a/docs/models/operations/getlibraryitemslibrarytype.md +++ b/docs/models/operations/getlibraryitemslibrarytype.md @@ -1,16 +1,20 @@ # GetLibraryItemsLibraryType -The type of media content +The type of media content in the Plex library. This can represent videos, music, or photos. ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | -| `ARTIST` | artist | -| `ALBUM` | album | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmetadata.md b/docs/models/operations/getlibraryitemsmetadata.md index 56fc11f..6f23337 100644 --- a/docs/models/operations/getlibraryitemsmetadata.md +++ b/docs/models/operations/getlibraryitemsmetadata.md @@ -13,7 +13,7 @@ | `library_section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | | `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Movies | | `library_section_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `type` | [Models::Operations::GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md) | :heavy_check_mark: | The type of media content
| movie | +| `type` | [Models::Operations::GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md) | :heavy_check_mark: | The type of media content in the Plex library. This can represent videos, music, or photos.
| movie | | `title` | *::String* | :heavy_check_mark: | N/A | Avatar: The Way of Water | | `slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 4-for-texas | | `content_rating` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | PG-13 | diff --git a/docs/models/operations/getlibraryitemsqueryparamtype.md b/docs/models/operations/getlibraryitemsqueryparamtype.md index 294dc8e..10bddee 100644 --- a/docs/models/operations/getlibraryitemsqueryparamtype.md +++ b/docs/models/operations/getlibraryitemsqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryactivedirection.md b/docs/models/operations/getlibrarysectionsallactivedirection.md similarity index 83% rename from docs/models/operations/getallmedialibraryactivedirection.md rename to docs/models/operations/getlibrarysectionsallactivedirection.md index e0625cb..d4170be 100644 --- a/docs/models/operations/getallmedialibraryactivedirection.md +++ b/docs/models/operations/getlibrarysectionsallactivedirection.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryActiveDirection +# GetLibrarySectionsAllActiveDirection The direction of the sort. Can be either `asc` or `desc`. diff --git a/docs/models/operations/getallmedialibrarycollection.md b/docs/models/operations/getlibrarysectionsallcollection.md similarity index 96% rename from docs/models/operations/getallmedialibrarycollection.md rename to docs/models/operations/getlibrarysectionsallcollection.md index 3fbd077..d7a6659 100644 --- a/docs/models/operations/getallmedialibrarycollection.md +++ b/docs/models/operations/getlibrarysectionsallcollection.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryCollection +# GetLibrarySectionsAllCollection ## Fields diff --git a/docs/models/operations/getallmedialibrarycountry.md b/docs/models/operations/getlibrarysectionsallcountry.md similarity index 95% rename from docs/models/operations/getallmedialibrarycountry.md rename to docs/models/operations/getlibrarysectionsallcountry.md index f2cfd0f..6c7eb21 100644 --- a/docs/models/operations/getallmedialibrarycountry.md +++ b/docs/models/operations/getlibrarysectionsallcountry.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryCountry +# GetLibrarySectionsAllCountry ## Fields diff --git a/docs/models/operations/getallmedialibrarydefaultdirection.md b/docs/models/operations/getlibrarysectionsalldefaultdirection.md similarity index 83% rename from docs/models/operations/getallmedialibrarydefaultdirection.md rename to docs/models/operations/getlibrarysectionsalldefaultdirection.md index 66bbe84..39e704b 100644 --- a/docs/models/operations/getallmedialibrarydefaultdirection.md +++ b/docs/models/operations/getlibrarysectionsalldefaultdirection.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryDefaultDirection +# GetLibrarySectionsAllDefaultDirection The direction of the sort. Can be either `asc` or `desc`. diff --git a/docs/models/operations/getallmedialibrarydirector.md b/docs/models/operations/getlibrarysectionsalldirector.md similarity index 91% rename from docs/models/operations/getallmedialibrarydirector.md rename to docs/models/operations/getlibrarysectionsalldirector.md index 1418b77..10607c6 100644 --- a/docs/models/operations/getallmedialibrarydirector.md +++ b/docs/models/operations/getlibrarysectionsalldirector.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryDirector +# GetLibrarySectionsAllDirector ## Fields diff --git a/docs/models/operations/getallmedialibraryfield.md b/docs/models/operations/getlibrarysectionsallfield.md similarity index 96% rename from docs/models/operations/getallmedialibraryfield.md rename to docs/models/operations/getlibrarysectionsallfield.md index 8d4e9ba..cd65505 100644 --- a/docs/models/operations/getallmedialibraryfield.md +++ b/docs/models/operations/getlibrarysectionsallfield.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryField +# GetLibrarySectionsAllField ## Fields diff --git a/docs/models/operations/getlibrarysectionsallfieldtype.md b/docs/models/operations/getlibrarysectionsallfieldtype.md new file mode 100644 index 0000000..8fbe207 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallfieldtype.md @@ -0,0 +1,9 @@ +# GetLibrarySectionsAllFieldType + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `type` | *::String* | :heavy_check_mark: | N/A | tag | +| `operator` | T::Array<[Models::Operations::GetLibrarySectionsAllOperator](../../models/operations/getlibrarysectionsalloperator.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryfilter.md b/docs/models/operations/getlibrarysectionsallfilter.md similarity index 97% rename from docs/models/operations/getallmedialibraryfilter.md rename to docs/models/operations/getlibrarysectionsallfilter.md index fefe280..a8967fa 100644 --- a/docs/models/operations/getallmedialibraryfilter.md +++ b/docs/models/operations/getlibrarysectionsallfilter.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryFilter +# GetLibrarySectionsAllFilter ## Fields diff --git a/docs/models/operations/getallmedialibrarygenre.md b/docs/models/operations/getlibrarysectionsallgenre.md similarity index 95% rename from docs/models/operations/getallmedialibrarygenre.md rename to docs/models/operations/getlibrarysectionsallgenre.md index 221563e..0c91794 100644 --- a/docs/models/operations/getallmedialibrarygenre.md +++ b/docs/models/operations/getlibrarysectionsallgenre.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryGenre +# GetLibrarySectionsAllGenre ## Fields diff --git a/docs/models/operations/getlibrarysectionsallguids.md b/docs/models/operations/getlibrarysectionsallguids.md new file mode 100644 index 0000000..b1bfb71 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallguids.md @@ -0,0 +1,8 @@ +# GetLibrarySectionsAllGuids + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *::String* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
| {
"imdbExample": {
"summary": "IMDB example",
"value": "imdb://tt13015952"
},
"tmdbExample": {
"summary": "TMDB example",
"value": "tmdb://2434012"
},
"tvdbExample": {
"summary": "TVDB example",
"value": "tvdb://7945991"
}
} | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryhasthumbnail.md b/docs/models/operations/getlibrarysectionsallhasthumbnail.md similarity index 79% rename from docs/models/operations/getallmedialibraryhasthumbnail.md rename to docs/models/operations/getlibrarysectionsallhasthumbnail.md index 95b5857..94c08b7 100644 --- a/docs/models/operations/getallmedialibraryhasthumbnail.md +++ b/docs/models/operations/getlibrarysectionsallhasthumbnail.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryHasThumbnail +# GetLibrarySectionsAllHasThumbnail Indicates if the part has a thumbnail. diff --git a/docs/models/operations/getlibrarysectionsallimage.md b/docs/models/operations/getlibrarysectionsallimage.md new file mode 100644 index 0000000..b7ca81f --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallimage.md @@ -0,0 +1,10 @@ +# GetLibrarySectionsAllImage + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `alt` | *::String* | :heavy_check_mark: | N/A | Episode 1 | +| `type` | [Models::Operations::GetLibrarySectionsAllLibraryResponseType](../../models/operations/getlibrarysectionsalllibraryresponsetype.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/getallmedialibrarylibraryoptimizedforstreaming.md b/docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md similarity index 62% rename from docs/models/operations/getallmedialibrarylibraryoptimizedforstreaming.md rename to docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md index 71356bc..dfad8eb 100644 --- a/docs/models/operations/getallmedialibrarylibraryoptimizedforstreaming.md +++ b/docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryLibraryOptimizedForStreaming +# GetLibrarySectionsAllLibraryOptimizedForStreaming Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true diff --git a/docs/models/operations/getallmedialibrarylibraryresponsetype.md b/docs/models/operations/getlibrarysectionsalllibraryresponsetype.md similarity index 84% rename from docs/models/operations/getallmedialibrarylibraryresponsetype.md rename to docs/models/operations/getlibrarysectionsalllibraryresponsetype.md index effaf1c..ce9af2e 100644 --- a/docs/models/operations/getallmedialibrarylibraryresponsetype.md +++ b/docs/models/operations/getlibrarysectionsalllibraryresponsetype.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryLibraryResponseType +# GetLibrarySectionsAllLibraryResponseType ## Values diff --git a/docs/models/operations/getlibrarysectionsalllibrarytype.md b/docs/models/operations/getlibrarysectionsalllibrarytype.md new file mode 100644 index 0000000..8a4e0d0 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsalllibrarytype.md @@ -0,0 +1,20 @@ +# GetLibrarySectionsAllLibraryType + +The type of media content in the Plex library. This can represent videos, music, or photos. + + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarymedia.md b/docs/models/operations/getlibrarysectionsallmedia.md similarity index 50% rename from docs/models/operations/getallmedialibrarymedia.md rename to docs/models/operations/getlibrarysectionsallmedia.md index 659eea3..30d67d7 100644 --- a/docs/models/operations/getallmedialibrarymedia.md +++ b/docs/models/operations/getlibrarysectionsallmedia.md @@ -1,26 +1,26 @@ -# GetAllMediaLibraryMedia +# GetLibrarySectionsAllMedia ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | Unique media identifier. | 387322 | -| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video width in pixels. | 3840 | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video height in pixels. | 1602 | -| `aspect_ratio` | *T.nilable(::Float)* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 | -| `audio_channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels. | 6 | -| `display_offset` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 50 | -| `audio_codec` | *T.nilable(::String)* | :heavy_minus_sign: | Audio codec used. | eac3 | -| `video_codec` | *T.nilable(::String)* | :heavy_minus_sign: | Video codec used. | hevc | -| `video_resolution` | *T.nilable(::String)* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k | -| `container` | *T.nilable(::String)* | :heavy_minus_sign: | File container type. | mkv | -| `video_frame_rate` | *T.nilable(::String)* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p
| 24p | -| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 | -| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false | -| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | -| `optimized_for_streaming` | [T.nilable(T.any(Models::Operations::OptimizedForStreaming1, T::Boolean))](../../models/operations/getallmedialibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | -| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `part` | T::Array<[Models::Operations::GetAllMediaLibraryPart](../../models/operations/getallmedialibrarypart.md)> | :heavy_minus_sign: | An array of parts for this media item. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique media identifier. | 387322 | +| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 | +| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 | +| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video width in pixels. | 3840 | +| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video height in pixels. | 1602 | +| `aspect_ratio` | *T.nilable(::Float)* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 | +| `audio_channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels. | 6 | +| `display_offset` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 50 | +| `audio_codec` | *T.nilable(::String)* | :heavy_minus_sign: | Audio codec used. | eac3 | +| `video_codec` | *T.nilable(::String)* | :heavy_minus_sign: | Video codec used. | hevc | +| `video_resolution` | *T.nilable(::String)* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k | +| `container` | *T.nilable(::String)* | :heavy_minus_sign: | File container type. | mkv | +| `video_frame_rate` | *T.nilable(::String)* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p
| 24p | +| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 | +| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false | +| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | +| `optimized_for_streaming` | [T.nilable(T.any(Models::Operations::OptimizedForStreaming1, T::Boolean))](../../models/operations/getlibrarysectionsalloptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | +| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `part` | T::Array<[Models::Operations::GetLibrarySectionsAllPart](../../models/operations/getlibrarysectionsallpart.md)> | :heavy_minus_sign: | An array of parts for this media item. | | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsallmediacontainer.md b/docs/models/operations/getlibrarysectionsallmediacontainer.md new file mode 100644 index 0000000..ed51858 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallmediacontainer.md @@ -0,0 +1,26 @@ +# GetLibrarySectionsAllMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `size` | *::Integer* | :heavy_check_mark: | Number of media items returned in this response. | 50 | +| `total_size` | *::Integer* | :heavy_check_mark: | Total number of media items in the library. | 50 | +| `offset` | *::Integer* | :heavy_check_mark: | Offset value for pagination. | 0 | +| `allow_sync` | *T::Boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `art` | *::String* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | +| `content` | *::String* | :heavy_check_mark: | The content type or mode. | secondary | +| `identifier` | *::String* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `library_section_id` | *::Integer* | :heavy_check_mark: | The unique identifier for the library section. | 2 | +| `library_section_title` | *::String* | :heavy_check_mark: | The title of the library section. | TV Series | +| `library_section_uuid` | *T.nilable(::String)* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | +| `media_tag_prefix` | *::String* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `media_tag_version` | *::Integer* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `thumb` | *::String* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | +| `nocache` | *T::Boolean* | :heavy_check_mark: | Specifies whether caching is disabled. | true | +| `title1` | *::String* | :heavy_check_mark: | The primary title of the media container. | TV Series | +| `title2` | *::String* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor | +| `view_group` | *::String* | :heavy_check_mark: | Identifier for the view group layout. | secondary | +| `meta` | [T.nilable(Models::Operations::GetLibrarySectionsAllMeta)](../../models/operations/getlibrarysectionsallmeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | +| `metadata` | T::Array<[Models::Operations::GetLibrarySectionsAllMetadata](../../models/operations/getlibrarysectionsallmetadata.md)> | :heavy_minus_sign: | An array of metadata items. | | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsallmeta.md b/docs/models/operations/getlibrarysectionsallmeta.md new file mode 100644 index 0000000..080a172 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallmeta.md @@ -0,0 +1,12 @@ +# GetLibrarySectionsAllMeta + +The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| `type` | T::Array<[Models::Operations::GetLibrarySectionsAllType](../../models/operations/getlibrarysectionsalltype.md)> | :heavy_minus_sign: | N/A | +| `field_type` | T::Array<[Models::Operations::GetLibrarySectionsAllFieldType](../../models/operations/getlibrarysectionsallfieldtype.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarymetadata.md b/docs/models/operations/getlibrarysectionsallmetadata.md similarity index 98% rename from docs/models/operations/getallmedialibrarymetadata.md rename to docs/models/operations/getlibrarysectionsallmetadata.md index a5a5c93..500fe02 100644 --- a/docs/models/operations/getallmedialibrarymetadata.md +++ b/docs/models/operations/getlibrarysectionsallmetadata.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryMetadata +# GetLibrarySectionsAllMetadata Unknown @@ -13,7 +13,7 @@ Unknown | `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::GetAllMediaLibraryLibraryType](../../models/operations/getallmedialibrarylibrarytype.md) | :heavy_check_mark: | N/A | movie | +| `type` | [Models::Operations::GetLibrarySectionsAllLibraryType](../../models/operations/getlibrarysectionsalllibrarytype.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 | @@ -62,13 +62,13 @@ Unknown | `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::GetAllMediaLibraryImage](../../models/operations/getallmedialibraryimage.md)> | :heavy_minus_sign: | N/A | | -| `ultra_blur_colors` | [T.nilable(Models::Operations::GetAllMediaLibraryUltraBlurColors)](../../models/operations/getallmedialibraryultrablurcolors.md) | :heavy_minus_sign: | N/A | | -| `media` | T::Array<[Models::Operations::GetAllMediaLibraryMedia](../../models/operations/getallmedialibrarymedia.md)> | :heavy_minus_sign: | N/A | | -| `genre` | T::Array<[Models::Operations::GetAllMediaLibraryGenre](../../models/operations/getallmedialibrarygenre.md)> | :heavy_minus_sign: | N/A | | -| `country` | T::Array<[Models::Operations::GetAllMediaLibraryCountry](../../models/operations/getallmedialibrarycountry.md)> | :heavy_minus_sign: | N/A | | -| `director` | T::Array<[Models::Operations::GetAllMediaLibraryDirector](../../models/operations/getallmedialibrarydirector.md)> | :heavy_minus_sign: | N/A | | -| `writer` | T::Array<[Models::Operations::GetAllMediaLibraryWriter](../../models/operations/getallmedialibrarywriter.md)> | :heavy_minus_sign: | N/A | | -| `role` | T::Array<[Models::Operations::GetAllMediaLibraryRole](../../models/operations/getallmedialibraryrole.md)> | :heavy_minus_sign: | N/A | | -| `guids` | T::Array<[Models::Operations::GetAllMediaLibraryGuids](../../models/operations/getallmedialibraryguids.md)> | :heavy_minus_sign: | N/A | | -| `collection` | T::Array<[Models::Operations::GetAllMediaLibraryCollection](../../models/operations/getallmedialibrarycollection.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `image` | T::Array<[Models::Operations::GetLibrarySectionsAllImage](../../models/operations/getlibrarysectionsallimage.md)> | :heavy_minus_sign: | N/A | | +| `ultra_blur_colors` | [T.nilable(Models::Operations::GetLibrarySectionsAllUltraBlurColors)](../../models/operations/getlibrarysectionsallultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `guids` | T::Array<[Models::Operations::GetLibrarySectionsAllGuids](../../models/operations/getlibrarysectionsallguids.md)> | :heavy_minus_sign: | N/A | | +| `media` | T::Array<[Models::Operations::GetLibrarySectionsAllMedia](../../models/operations/getlibrarysectionsallmedia.md)> | :heavy_minus_sign: | N/A | | +| `genre` | T::Array<[Models::Operations::GetLibrarySectionsAllGenre](../../models/operations/getlibrarysectionsallgenre.md)> | :heavy_minus_sign: | N/A | | +| `country` | T::Array<[Models::Operations::GetLibrarySectionsAllCountry](../../models/operations/getlibrarysectionsallcountry.md)> | :heavy_minus_sign: | N/A | | +| `director` | T::Array<[Models::Operations::GetLibrarySectionsAllDirector](../../models/operations/getlibrarysectionsalldirector.md)> | :heavy_minus_sign: | N/A | | +| `writer` | T::Array<[Models::Operations::GetLibrarySectionsAllWriter](../../models/operations/getlibrarysectionsallwriter.md)> | :heavy_minus_sign: | N/A | | +| `role` | T::Array<[Models::Operations::GetLibrarySectionsAllRole](../../models/operations/getlibrarysectionsallrole.md)> | :heavy_minus_sign: | N/A | | +| `collection` | T::Array<[Models::Operations::GetLibrarySectionsAllCollection](../../models/operations/getlibrarysectionsallcollection.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryoperator.md b/docs/models/operations/getlibrarysectionsalloperator.md similarity index 93% rename from docs/models/operations/getallmedialibraryoperator.md rename to docs/models/operations/getlibrarysectionsalloperator.md index 873046f..5dc39d4 100644 --- a/docs/models/operations/getallmedialibraryoperator.md +++ b/docs/models/operations/getlibrarysectionsalloperator.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryOperator +# GetLibrarySectionsAllOperator ## Fields diff --git a/docs/models/operations/getallmedialibraryoptimizedforstreaming.md b/docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md similarity index 65% rename from docs/models/operations/getallmedialibraryoptimizedforstreaming.md rename to docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md index a513817..d06675c 100644 --- a/docs/models/operations/getallmedialibraryoptimizedforstreaming.md +++ b/docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryOptimizedForStreaming +# GetLibrarySectionsAllOptimizedForStreaming Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true diff --git a/docs/models/operations/getallmedialibraryoptimizedforstreaming1.md b/docs/models/operations/getlibrarysectionsalloptimizedforstreaming1.md similarity index 66% rename from docs/models/operations/getallmedialibraryoptimizedforstreaming1.md rename to docs/models/operations/getlibrarysectionsalloptimizedforstreaming1.md index 1779b09..7591660 100644 --- a/docs/models/operations/getallmedialibraryoptimizedforstreaming1.md +++ b/docs/models/operations/getlibrarysectionsalloptimizedforstreaming1.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryOptimizedForStreaming1 +# GetLibrarySectionsAllOptimizedForStreaming1 ## Values diff --git a/docs/models/operations/getallmedialibrarypart.md b/docs/models/operations/getlibrarysectionsallpart.md similarity index 50% rename from docs/models/operations/getallmedialibrarypart.md rename to docs/models/operations/getlibrarysectionsallpart.md index b5593ae..17b39fa 100644 --- a/docs/models/operations/getallmedialibrarypart.md +++ b/docs/models/operations/getlibrarysectionsallpart.md @@ -1,23 +1,23 @@ -# GetAllMediaLibraryPart +# GetLibrarySectionsAllPart ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `accessible` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the part is accessible. | true | -| `exists` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the part exists. | true | -| `id` | *::Integer* | :heavy_check_mark: | Unique part identifier. | 418385 | -| `key` | *::String* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | -| `indexes` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | sd | -| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 | -| `file` | *::String* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | -| `size` | *::Integer* | :heavy_check_mark: | File size in bytes. | 30649952104 | -| `packet_length` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 188 | -| `container` | *T.nilable(::String)* | :heavy_minus_sign: | Container format of the part. | mkv | -| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile for the part. | main 10 | -| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | -| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `optimized_for_streaming` | [T.nilable(T.any(Models::Operations::GetAllMediaLibraryOptimizedForStreaming1, T::Boolean))](../../models/operations/getallmedialibrarylibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | -| `has_thumbnail` | [T.nilable(Models::Operations::GetAllMediaLibraryHasThumbnail)](../../models/operations/getallmedialibraryhasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | -| `stream` | T::Array<[Models::Operations::GetAllMediaLibraryStream](../../models/operations/getallmedialibrarystream.md)> | :heavy_minus_sign: | An array of streams for this part. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `accessible` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the part is accessible. | true | +| `exists` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the part exists. | true | +| `id` | *::Integer* | :heavy_check_mark: | Unique part identifier. | 418385 | +| `key` | *::String* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | +| `indexes` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | sd | +| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 | +| `file` | *::String* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `size` | *::Integer* | :heavy_check_mark: | File size in bytes. | 30649952104 | +| `packet_length` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 188 | +| `container` | *T.nilable(::String)* | :heavy_minus_sign: | Container format of the part. | mkv | +| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile for the part. | main 10 | +| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | +| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `optimized_for_streaming` | [T.nilable(T.any(Models::Operations::GetLibrarySectionsAllOptimizedForStreaming1, T::Boolean))](../../models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | +| `has_thumbnail` | [T.nilable(Models::Operations::GetLibrarySectionsAllHasThumbnail)](../../models/operations/getlibrarysectionsallhasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | +| `stream` | T::Array<[Models::Operations::GetLibrarySectionsAllStream](../../models/operations/getlibrarysectionsallstream.md)> | :heavy_minus_sign: | An array of streams for this part. | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryqueryparamincludemeta.md b/docs/models/operations/getlibrarysectionsallqueryparamincludemeta.md similarity index 77% rename from docs/models/operations/getallmedialibraryqueryparamincludemeta.md rename to docs/models/operations/getlibrarysectionsallqueryparamincludemeta.md index 196afb0..dd4f259 100644 --- a/docs/models/operations/getallmedialibraryqueryparamincludemeta.md +++ b/docs/models/operations/getlibrarysectionsallqueryparamincludemeta.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryQueryParamIncludeMeta +# GetLibrarySectionsAllQueryParamIncludeMeta Adds the Meta object to the response diff --git a/docs/models/operations/getlibrarysectionsallqueryparamtype.md b/docs/models/operations/getlibrarysectionsallqueryparamtype.md new file mode 100644 index 0000000..58b67cf --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallqueryparamtype.md @@ -0,0 +1,24 @@ +# GetLibrarySectionsAllQueryParamType + +The type of media to retrieve or filter by. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryrequest.md b/docs/models/operations/getlibrarysectionsallrequest.md similarity index 96% rename from docs/models/operations/getallmedialibraryrequest.md rename to docs/models/operations/getlibrarysectionsallrequest.md index cce83a7..d0518c4 100644 --- a/docs/models/operations/getallmedialibraryrequest.md +++ b/docs/models/operations/getlibrarysectionsallrequest.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryRequest +# GetLibrarySectionsAllRequest ## Fields @@ -6,8 +6,8 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `section_key` | *::Integer* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `type` | [Models::Operations::GetAllMediaLibraryQueryParamType](../../models/operations/getallmedialibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `include_meta` | [T.nilable(Models::Operations::GetAllMediaLibraryQueryParamIncludeMeta)](../../models/operations/getallmedialibraryqueryparamincludemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `type` | [Models::Operations::GetLibrarySectionsAllQueryParamType](../../models/operations/getlibrarysectionsallqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `include_meta` | [T.nilable(Models::Operations::GetLibrarySectionsAllQueryParamIncludeMeta)](../../models/operations/getlibrarysectionsallqueryparamincludemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | | `include_guids` | [T.nilable(Models::Operations::QueryParamIncludeGuids)](../../models/operations/queryparamincludeguids.md) | :heavy_minus_sign: | Adds the Guid object to the response
| 1 | | `include_advanced` | [T.nilable(Models::Operations::IncludeAdvanced)](../../models/operations/includeadvanced.md) | :heavy_minus_sign: | N/A | 1 | | `include_collections` | [T.nilable(Models::Operations::QueryParamIncludeCollections)](../../models/operations/queryparamincludecollections.md) | :heavy_minus_sign: | N/A | 1 | diff --git a/docs/models/operations/getlibrarysectionsallresponse.md b/docs/models/operations/getlibrarysectionsallresponse.md new file mode 100644 index 0000000..dec6402 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallresponse.md @@ -0,0 +1,11 @@ +# GetLibrarySectionsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| `content_type` | *::String* | :heavy_check_mark: | HTTP response content type for this operation | +| `status_code` | *::Integer* | :heavy_check_mark: | HTTP response status code for this operation | +| `raw_response` | [Faraday::Response](https://www.rubydoc.info/gems/faraday/Faraday/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [T.nilable(Models::Operations::GetLibrarySectionsAllResponseBody)](../../models/operations/getlibrarysectionsallresponsebody.md) | :heavy_minus_sign: | Successful response containing media container data. | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryresponsebody.md b/docs/models/operations/getlibrarysectionsallresponsebody.md similarity index 55% rename from docs/models/operations/getallmedialibraryresponsebody.md rename to docs/models/operations/getlibrarysectionsallresponsebody.md index f6ec6f5..58d66fc 100644 --- a/docs/models/operations/getallmedialibraryresponsebody.md +++ b/docs/models/operations/getlibrarysectionsallresponsebody.md @@ -1,10 +1,10 @@ -# GetAllMediaLibraryResponseBody +# GetLibrarySectionsAllResponseBody Successful response containing media container data. ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -| `media_container` | [T.nilable(Models::Operations::GetAllMediaLibraryMediaContainer)](../../models/operations/getallmedialibrarymediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `media_container` | [T.nilable(Models::Operations::GetLibrarySectionsAllMediaContainer)](../../models/operations/getlibrarysectionsallmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryrole.md b/docs/models/operations/getlibrarysectionsallrole.md similarity index 97% rename from docs/models/operations/getallmedialibraryrole.md rename to docs/models/operations/getlibrarysectionsallrole.md index f4f5960..5e70493 100644 --- a/docs/models/operations/getallmedialibraryrole.md +++ b/docs/models/operations/getlibrarysectionsallrole.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryRole +# GetLibrarySectionsAllRole ## Fields diff --git a/docs/models/operations/getallmedialibrarysort.md b/docs/models/operations/getlibrarysectionsallsort.md similarity index 52% rename from docs/models/operations/getallmedialibrarysort.md rename to docs/models/operations/getlibrarysectionsallsort.md index 670b0b0..842166b 100644 --- a/docs/models/operations/getallmedialibrarysort.md +++ b/docs/models/operations/getlibrarysectionsallsort.md @@ -1,15 +1,15 @@ -# GetAllMediaLibrarySort +# GetLibrarySectionsAllSort ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| `default` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | asc | -| `active` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `active_direction` | [T.nilable(Models::Operations::GetAllMediaLibraryActiveDirection)](../../models/operations/getallmedialibraryactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | -| `default_direction` | [Models::Operations::GetAllMediaLibraryDefaultDirection](../../models/operations/getallmedialibrarydefaultdirection.md) | :heavy_check_mark: | The direction of the sort. Can be either `asc` or `desc`.
| asc | -| `desc_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | titleSort:desc | -| `first_character_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | -| `key` | *::String* | :heavy_check_mark: | N/A | titleSort | -| `title` | *::String* | :heavy_check_mark: | N/A | Title | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `default` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | asc | +| `active` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `active_direction` | [T.nilable(Models::Operations::GetLibrarySectionsAllActiveDirection)](../../models/operations/getlibrarysectionsallactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `default_direction` | [Models::Operations::GetLibrarySectionsAllDefaultDirection](../../models/operations/getlibrarysectionsalldefaultdirection.md) | :heavy_check_mark: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `desc_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | titleSort:desc | +| `first_character_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *::String* | :heavy_check_mark: | N/A | titleSort | +| `title` | *::String* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsallstream.md b/docs/models/operations/getlibrarysectionsallstream.md new file mode 100644 index 0000000..4266b9b --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallstream.md @@ -0,0 +1,58 @@ +# GetLibrarySectionsAllStream + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `stream_type` | [Models::Operations::GetLibrarySectionsAllStreamType](../../models/operations/getlibrarysectionsallstreamtype.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/getlibrarysectionsallstreamtype.md similarity index 86% rename from docs/models/operations/getallmedialibrarystreamtype.md rename to docs/models/operations/getlibrarysectionsallstreamtype.md index 8975cfe..3bedf03 100644 --- a/docs/models/operations/getallmedialibrarystreamtype.md +++ b/docs/models/operations/getlibrarysectionsallstreamtype.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryStreamType +# GetLibrarySectionsAllStreamType Stream type: - 1 = video diff --git a/docs/models/operations/getlibrarysectionsalltype.md b/docs/models/operations/getlibrarysectionsalltype.md new file mode 100644 index 0000000..e92451d --- /dev/null +++ b/docs/models/operations/getlibrarysectionsalltype.md @@ -0,0 +1,15 @@ +# GetLibrarySectionsAllType + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `type` | *::String* | :heavy_check_mark: | N/A | filter | +| `subtype` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | clip | +| `title` | *::String* | :heavy_check_mark: | N/A | TV Shows | +| `active` | *T::Boolean* | :heavy_check_mark: | N/A | false | +| `filter` | T::Array<[Models::Operations::GetLibrarySectionsAllFilter](../../models/operations/getlibrarysectionsallfilter.md)> | :heavy_minus_sign: | N/A | | +| `sort` | T::Array<[Models::Operations::GetLibrarySectionsAllSort](../../models/operations/getlibrarysectionsallsort.md)> | :heavy_minus_sign: | N/A | | +| `field` | T::Array<[Models::Operations::GetLibrarySectionsAllField](../../models/operations/getlibrarysectionsallfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryultrablurcolors.md b/docs/models/operations/getlibrarysectionsallultrablurcolors.md similarity index 94% rename from docs/models/operations/getallmedialibraryultrablurcolors.md rename to docs/models/operations/getlibrarysectionsallultrablurcolors.md index d74d2e3..f17b9ee 100644 --- a/docs/models/operations/getallmedialibraryultrablurcolors.md +++ b/docs/models/operations/getlibrarysectionsallultrablurcolors.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryUltraBlurColors +# GetLibrarySectionsAllUltraBlurColors ## Fields diff --git a/docs/models/operations/getallmedialibrarywriter.md b/docs/models/operations/getlibrarysectionsallwriter.md similarity index 91% rename from docs/models/operations/getallmedialibrarywriter.md rename to docs/models/operations/getlibrarysectionsallwriter.md index 1e2df79..388d13b 100644 --- a/docs/models/operations/getallmedialibrarywriter.md +++ b/docs/models/operations/getlibrarysectionsallwriter.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryWriter +# GetLibrarySectionsAllWriter ## Fields diff --git a/docs/models/operations/getmediametadatacountry.md b/docs/models/operations/getmediametadatacountry.md index fb1186d..476d936 100644 --- a/docs/models/operations/getmediametadatacountry.md +++ b/docs/models/operations/getmediametadatacountry.md @@ -5,8 +5,8 @@ The filter query string for country media items. ## Fields -| 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 +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | The unique identifier for the country.
NOTE: This is different for each Plex server and is not globally unique.
| 259 | +| `tag` | *::String* | :heavy_check_mark: | The country of origin of this media item | United States of America | +| `filter` | *::String* | :heavy_check_mark: | 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 1d5ba22..05845f8 100644 --- a/docs/models/operations/getmediametadatadirector.md +++ b/docs/models/operations/getmediametadatadirector.md @@ -3,10 +3,10 @@ ## Fields -| 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 +| 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` | *::String* | :heavy_check_mark: | A unique 24-character hexadecimal key associated with the director's tag, used for internal identification. | 5d776831151a60001f24d031 | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The absolute 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 84e49a5..45b9cf7 100644 --- a/docs/models/operations/getmediametadatagenre.md +++ b/docs/models/operations/getmediametadatagenre.md @@ -5,8 +5,8 @@ The filter query string for similar items. ## Fields -| 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 +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | The unique identifier for the genre.
NOTE: This is different for each Plex server and is not globally unique.
| 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/getmediametadataguids.md b/docs/models/operations/getmediametadataguids.md index 7a1c0e3..a0e330d 100644 --- a/docs/models/operations/getmediametadataguids.md +++ b/docs/models/operations/getmediametadataguids.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *::String* | :heavy_check_mark: | The GUID value. | imdb://tt3032476 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *::String* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
| {
"imdbExample": {
"summary": "IMDB example",
"value": "imdb://tt13015952"
},
"tmdbExample": {
"summary": "TMDB example",
"value": "tmdb://2434012"
},
"tvdbExample": {
"summary": "TVDB example",
"value": "tvdb://7945991"
}
} | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatametadata.md b/docs/models/operations/getmediametadatametadata.md index 9986255..16be77b 100644 --- a/docs/models/operations/getmediametadatametadata.md +++ b/docs/models/operations/getmediametadatametadata.md @@ -67,6 +67,7 @@ Unknown | `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 | +| `guids` | T::Array<[Models::Operations::GetMediaMetaDataGuids](../../models/operations/getmediametadataguids.md)> | :heavy_minus_sign: | N/A | | | `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 | | @@ -74,7 +75,6 @@ Unknown | `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 | | diff --git a/docs/models/operations/getmediametadatarequest.md b/docs/models/operations/getmediametadatarequest.md index 8a0a44f..98fcc48 100644 --- a/docs/models/operations/getmediametadatarequest.md +++ b/docs/models/operations/getmediametadatarequest.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `rating_key` | *::Integer* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | -| `include_concerts` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include concerts data if set to true. | true | -| `include_extras` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include extra content (e.g. bonus features). | true | -| `include_on_deck` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include on-deck items. | true | -| `include_popular_leaves` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include popular leaves (episodes/chapters). | true | -| `include_preferences` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include preferences information. | true | -| `include_reviews` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include reviews for the content. | true | -| `include_chapters` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include chapter details. | true | -| `include_stations` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include station data. | true | -| `include_external_media` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include external media data. | true | -| `async_augment_metadata` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Trigger asynchronous metadata augmentation. | true | -| `async_check_files` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Trigger asynchronous file checking. | true | -| `async_refresh_analysis` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Trigger asynchronous refresh of analysis. | true | -| `async_refresh_local_media_agent` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Trigger asynchronous refresh of the local media agent. | true | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `rating_key` | *::String* | :heavy_check_mark: | The id(s) of the library item(s) to return metadata for. Can be a single ID or comma-separated list of IDs. | 21119,21617 | +| `include_concerts` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include concerts data if set to true. | true | +| `include_extras` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include extra content (e.g. bonus features). | true | +| `include_on_deck` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include on-deck items. | true | +| `include_popular_leaves` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include popular leaves (episodes/chapters). | true | +| `include_preferences` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include preferences information. | true | +| `include_reviews` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include reviews for the content. | true | +| `include_chapters` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include chapter details. | true | +| `include_stations` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include station data. | true | +| `include_external_media` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Include external media data. | true | +| `async_augment_metadata` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Trigger asynchronous metadata augmentation. | true | +| `async_check_files` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Trigger asynchronous file checking. | true | +| `async_refresh_analysis` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Trigger asynchronous refresh of analysis. | true | +| `async_refresh_local_media_agent` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Trigger asynchronous refresh of the local media agent. | true | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatarole.md b/docs/models/operations/getmediametadatarole.md index 23932fd..8d8287e 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: | 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 +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | The unique identifier for the role.
NOTE: This is different for each Plex server and is not globally unique.
| 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` | *::String* | :heavy_check_mark: | A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification.
NOTE: This is globally unique across all Plex Servers.
| 5d77683d85719b001f3a535e | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The absolute 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/getmediametadatatype.md b/docs/models/operations/getmediametadatatype.md index 389034c..921f704 100644 --- a/docs/models/operations/getmediametadatatype.md +++ b/docs/models/operations/getmediametadatatype.md @@ -1,16 +1,20 @@ # GetMediaMetaDataType -The type of media content +The type of media content in the Plex library. This can represent videos, music, or photos. ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | -| `ARTIST` | artist | -| `ALBUM` | album | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatawriter.md b/docs/models/operations/getmediametadatawriter.md index 0ef0e3e..ae1cc0a 100644 --- a/docs/models/operations/getmediametadatawriter.md +++ b/docs/models/operations/getmediametadatawriter.md @@ -3,10 +3,10 @@ ## Fields -| 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 +| 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 absolute 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 24-character hexadecimal unique key associated with the writer’s tag, used for internal identification. | 5d77683d85719b001f3a535e | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentsqueryparamtype.md b/docs/models/operations/getplaylistcontentsqueryparamtype.md index 65100f4..defd540 100644 --- a/docs/models/operations/getplaylistcontentsqueryparamtype.md +++ b/docs/models/operations/getplaylistcontentsqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedhubstype.md b/docs/models/operations/getrecentlyaddedhubstype.md index 7ef2bec..9884c30 100644 --- a/docs/models/operations/getrecentlyaddedhubstype.md +++ b/docs/models/operations/getrecentlyaddedhubstype.md @@ -1,16 +1,20 @@ # GetRecentlyAddedHubsType -The type of media content +The type of media content in the Plex library. This can represent videos, music, or photos. ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | -| `ARTIST` | artist | -| `ALBUM` | album | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedmetadata.md b/docs/models/operations/getrecentlyaddedmetadata.md index 9ed4d07..2257895 100644 --- a/docs/models/operations/getrecentlyaddedmetadata.md +++ b/docs/models/operations/getrecentlyaddedmetadata.md @@ -71,6 +71,7 @@ Unknown | `year` | *T.nilable(::Integer)* | :heavy_minus_sign: | The release year of the media item. | 2022 | | `image` | T::Array<[Models::Operations::GetRecentlyAddedImage](../../models/operations/getrecentlyaddedimage.md)> | :heavy_minus_sign: | N/A | | | `ultra_blur_colors` | [T.nilable(Models::Operations::UltraBlurColors)](../../models/operations/ultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `guids` | T::Array<[Models::Operations::Guids](../../models/operations/guids.md)> | :heavy_minus_sign: | N/A | | | `media` | T::Array<[Models::Operations::Media](../../models/operations/media.md)> | :heavy_minus_sign: | N/A | | | `genre` | T::Array<[Models::Operations::Genre](../../models/operations/genre.md)> | :heavy_minus_sign: | N/A | | | `country` | T::Array<[Models::Operations::Country](../../models/operations/country.md)> | :heavy_minus_sign: | N/A | | @@ -81,5 +82,4 @@ Unknown | `rating1` | T::Array<[Models::Operations::Rating](../../models/operations/rating.md)> | :heavy_minus_sign: | N/A | | | `similar` | T::Array<[Models::Operations::Similar](../../models/operations/similar.md)> | :heavy_minus_sign: | N/A | | | `location` | T::Array<[Models::Operations::Location](../../models/operations/location.md)> | :heavy_minus_sign: | N/A | | -| `guids` | T::Array<[Models::Operations::Guids](../../models/operations/guids.md)> | :heavy_minus_sign: | N/A | | | `collection` | T::Array<[Models::Operations::Collection](../../models/operations/collection.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmetadata.md b/docs/models/operations/getsearchalllibrariesmetadata.md index 078238b..cf9d441 100644 --- a/docs/models/operations/getsearchalllibrariesmetadata.md +++ b/docs/models/operations/getsearchalllibrariesmetadata.md @@ -13,7 +13,7 @@ | `library_section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | | `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Movies | | `library_section_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `type` | [Models::Operations::GetSearchAllLibrariesType](../../models/operations/getsearchalllibrariestype.md) | :heavy_check_mark: | The type of media content
| movie | +| `type` | [Models::Operations::GetSearchAllLibrariesType](../../models/operations/getsearchalllibrariestype.md) | :heavy_check_mark: | The type of media content in the Plex library. This can represent videos, music, or photos.
| movie | | `title` | *::String* | :heavy_check_mark: | N/A | Avatar: The Way of Water | | `slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 4-for-texas | | `content_rating` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | PG-13 | diff --git a/docs/models/operations/getsearchalllibrariestype.md b/docs/models/operations/getsearchalllibrariestype.md index 1d667b8..71241a6 100644 --- a/docs/models/operations/getsearchalllibrariestype.md +++ b/docs/models/operations/getsearchalllibrariestype.md @@ -1,16 +1,20 @@ # GetSearchAllLibrariesType -The type of media content +The type of media content in the Plex library. This can represent videos, music, or photos. ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | -| `ARTIST` | artist | -| `ALBUM` | album | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getsearchlibraryqueryparamtype.md b/docs/models/operations/getsearchlibraryqueryparamtype.md index 1331727..1804367 100644 --- a/docs/models/operations/getsearchlibraryqueryparamtype.md +++ b/docs/models/operations/getsearchlibraryqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/gettopwatchedcontentmediacontainer.md b/docs/models/operations/gettopwatchedcontentmediacontainer.md index a59d95b..864d491 100644 --- a/docs/models/operations/gettopwatchedcontentmediacontainer.md +++ b/docs/models/operations/gettopwatchedcontentmediacontainer.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -| `size` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | -| `allow_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `identifier` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `media_tag_prefix` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `media_tag_version` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1698860922 | +| `size` | *::Integer* | :heavy_check_mark: | Number of media items returned in this response. | 50 | +| `allow_sync` | *T::Boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `identifier` | *::String* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `media_tag_prefix` | *::String* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `media_tag_version` | *::Integer* | :heavy_check_mark: | The version number for media tags. | 1734362201 | | `metadata` | T::Array<[Models::Operations::GetTopWatchedContentMetadata](../../models/operations/gettopwatchedcontentmetadata.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/gettopwatchedcontentqueryparamincludeguids.md b/docs/models/operations/gettopwatchedcontentqueryparamincludeguids.md new file mode 100644 index 0000000..547db90 --- /dev/null +++ b/docs/models/operations/gettopwatchedcontentqueryparamincludeguids.md @@ -0,0 +1,12 @@ +# GetTopWatchedContentQueryParamIncludeGuids + +Adds the Guid object to the response + + + +## Values + +| Name | Value | +| --------- | --------- | +| `DISABLE` | 0 | +| `ENABLE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/gettopwatchedcontentqueryparamtype.md b/docs/models/operations/gettopwatchedcontentqueryparamtype.md index d8d7d45..0c90fec 100644 --- a/docs/models/operations/gettopwatchedcontentqueryparamtype.md +++ b/docs/models/operations/gettopwatchedcontentqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/gettopwatchedcontentrequest.md b/docs/models/operations/gettopwatchedcontentrequest.md index abcd177..698a1be 100644 --- a/docs/models/operations/gettopwatchedcontentrequest.md +++ b/docs/models/operations/gettopwatchedcontentrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `include_guids` | *T.nilable(::Integer)* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | -| `type` | [Models::Operations::GetTopWatchedContentQueryParamType](../../models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file +| `type` | [Models::Operations::GetTopWatchedContentQueryParamType](../../models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `include_guids` | [T.nilable(Models::Operations::GetTopWatchedContentQueryParamIncludeGuids)](../../models/operations/gettopwatchedcontentqueryparamincludeguids.md) | :heavy_minus_sign: | Adds the Guid object to the response
| 1 | \ No newline at end of file diff --git a/docs/models/operations/guids.md b/docs/models/operations/guids.md index 9882026..090e076 100644 --- a/docs/models/operations/guids.md +++ b/docs/models/operations/guids.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| `id` | *T.nilable(::String)* | :heavy_minus_sign: | The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
| tvdb://2337 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *::String* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
| {
"imdbExample": {
"summary": "IMDB example",
"value": "imdb://tt13015952"
},
"tmdbExample": {
"summary": "TMDB example",
"value": "tmdb://2434012"
},
"tvdbExample": {
"summary": "TVDB example",
"value": "tvdb://7945991"
}
} | \ No newline at end of file diff --git a/docs/models/operations/producer.md b/docs/models/operations/producer.md index abe10f7..9e4a27e 100644 --- a/docs/models/operations/producer.md +++ b/docs/models/operations/producer.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | Unique identifier for the producer. | 126522 | -| `filter` | *::String* | :heavy_check_mark: | The filter string used to query this producer. | producer=126522 | -| `tag` | *::String* | :heavy_check_mark: | The name of the producer | Amelia Knapp | -| `tag_key` | *T.nilable(::String)* | :heavy_minus_sign: | A unique key associated with the producer'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 +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `id` | *::Integer* | :heavy_check_mark: | Unique identifier for the producer. | 126522 | +| `filter` | *::String* | :heavy_check_mark: | The filter string used to query this producer. | producer=126522 | +| `tag` | *::String* | :heavy_check_mark: | The name of the producer | Amelia Knapp | +| `tag_key` | *::String* | :heavy_check_mark: | A 24-character hexadecimal unique key associated with the producer's tag, used for internal identification.
| 5d77683d85719b001f3a535e | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the producer. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file diff --git a/docs/models/operations/queryparamtype.md b/docs/models/operations/queryparamtype.md index c6862dd..1e56b85 100644 --- a/docs/models/operations/queryparamtype.md +++ b/docs/models/operations/queryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/rating.md b/docs/models/operations/rating.md index 72417d2..ee627cb 100644 --- a/docs/models/operations/rating.md +++ b/docs/models/operations/rating.md @@ -5,8 +5,8 @@ The type of rating, for example 'audience' or 'critic'. ## Fields -| Field | Type | Required | Description | Example | -| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- | -| `image` | *::String* | :heavy_check_mark: | N/A | imdb://image.rating | -| `value` | *::Float* | :heavy_check_mark: | N/A | 5.1 | -| `type` | *::String* | :heavy_check_mark: | N/A | audience | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `image` | *::String* | :heavy_check_mark: | The URL for the rating image, for example from IMDb. | imdb://image.rating | +| `value` | *::Float* | :heavy_check_mark: | N/A | 5.1 | +| `type` | *::String* | :heavy_check_mark: | N/A | audience | \ No newline at end of file diff --git a/docs/models/operations/role.md b/docs/models/operations/role.md index fd351f1..6460894 100644 --- a/docs/models/operations/role.md +++ b/docs/models/operations/role.md @@ -3,11 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | Unique identifier for the actor or role. | 126522 | -| `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` | *::String* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | -| `tag_key` | *T.nilable(::String)* | :heavy_minus_sign: | A unique key associated with the actor's tag, used for internal identification. | 5d77683d85719b001f3a535e | -| `role` | *T.nilable(::String)* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge | -| `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 +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | The unique identifier for the role.
NOTE: This is different for each Plex server and is not globally unique.
| 126522 | +| `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` | *::String* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | +| `tag_key` | *::String* | :heavy_check_mark: | A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification.
NOTE: This is globally unique across all Plex Servers.
| 5d77683d85719b001f3a535e | +| `role` | *T.nilable(::String)* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The absolute 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/type.md b/docs/models/operations/type.md index e750bc8..8a7168d 100644 --- a/docs/models/operations/type.md +++ b/docs/models/operations/type.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/writer.md b/docs/models/operations/writer.md index 2681ce9..a0faf92 100644 --- a/docs/models/operations/writer.md +++ b/docs/models/operations/writer.md @@ -3,9 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | -| `filter` | *::String* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 | -| `tag` | *::String* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | -| `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 +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | +| `filter` | *::String* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 | +| `tag` | *::String* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | +| `tag_key` | *T.nilable(::String)* | :heavy_minus_sign: | A 24-character hexadecimal unique key associated with the writer’s tag, used for internal identification. | 5d77683d85719b001f3a535e | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the writer. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | \ No newline at end of file diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index c8ad977..1ae6904 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -14,7 +14,7 @@ API Calls interacting with Plex Media Server Libraries * [get_library_details](#get_library_details) - Get Library Details * [delete_library](#delete_library) - Delete Library Section * [get_library_items](#get_library_items) - Get Library Items -* [get_all_media_library](#get_all_media_library) - Get all media of library +* [get_library_sections_all](#get_library_sections_all) - Get Library section media by tag ALL * [get_refresh_library_metadata](#get_refresh_library_metadata) - Refresh Metadata Of The Library * [get_search_library](#get_search_library) - Search Library * [get_genres_library](#get_genres_library) - Get Genres of library media @@ -335,7 +335,7 @@ end -## get_all_media_library +## get_library_sections_all Retrieves a list of all general media data for this library. @@ -351,10 +351,10 @@ s = ::PlexRubySDK::PlexAPI.new( ), ) -req = Models::Operations::GetAllMediaLibraryRequest.new( +req = Models::Operations::GetLibrarySectionsAllRequest.new( section_key: 9518, - type: Models::Operations::GetAllMediaLibraryQueryParamType::TV_SHOW, - include_meta: Models::Operations::GetAllMediaLibraryQueryParamIncludeMeta::ENABLE, + type: Models::Operations::GetLibrarySectionsAllQueryParamType::TV_SHOW, + include_meta: Models::Operations::GetLibrarySectionsAllQueryParamIncludeMeta::ENABLE, include_guids: Models::Operations::QueryParamIncludeGuids::ENABLE, include_advanced: Models::Operations::IncludeAdvanced::ENABLE, include_collections: Models::Operations::QueryParamIncludeCollections::ENABLE, @@ -363,7 +363,7 @@ req = Models::Operations::GetAllMediaLibraryRequest.new( x_plex_container_size: 50, ) -res = s.library.get_all_media_library(req) +res = s.library.get_library_sections_all(req) if ! res.object.nil? # handle response @@ -373,13 +373,13 @@ end ### Parameters -| Parameter | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `request` | [Models::Operations::GetAllMediaLibraryRequest](../../models/operations/getallmedialibraryrequest.md) | :heavy_check_mark: | The request object to use for the request. | +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `request` | [Models::Operations::GetLibrarySectionsAllRequest](../../models/operations/getlibrarysectionsallrequest.md) | :heavy_check_mark: | The request object to use for the request. | ### Response -**[T.nilable(Models::Operations::GetAllMediaLibraryResponse)](../../models/operations/getallmedialibraryresponse.md)** +**[T.nilable(Models::Operations::GetLibrarySectionsAllResponse)](../../models/operations/getlibrarysectionsallresponse.md)** @@ -633,7 +633,8 @@ end ## get_media_meta_data -This endpoint will return all the (meta)data of a library item specified with by the ratingKey. +This endpoint will return all the (meta)data of one or more library items specified by the ratingKey. +Multiple rating keys can be provided as a comma-separated list (e.g., "21119,21617"). ### Example Usage @@ -648,7 +649,7 @@ s = ::PlexRubySDK::PlexAPI.new( ) req = Models::Operations::GetMediaMetaDataRequest.new( - rating_key: 9518, + rating_key: "21119,21617", include_concerts: true, include_extras: true, include_on_deck: true, @@ -881,7 +882,7 @@ s = ::PlexRubySDK::PlexAPI.new( ), ) -res = s.library.get_top_watched_content(type=Models::Operations::GetTopWatchedContentQueryParamType::TV_SHOW, include_guids=1) +res = s.library.get_top_watched_content(type=Models::Operations::GetTopWatchedContentQueryParamType::TV_SHOW, include_guids=Models::Operations::GetTopWatchedContentQueryParamIncludeGuids::ENABLE) if ! res.object.nil? # handle response @@ -894,7 +895,7 @@ end | Parameter | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `type` | [Models::Operations::GetTopWatchedContentQueryParamType](../../models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `include_guids` | *T.nilable(::Integer)* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| `include_guids` | [T.nilable(Models::Operations::GetTopWatchedContentQueryParamIncludeGuids)](../../models/operations/gettopwatchedcontentqueryparamincludeguids.md) | :heavy_minus_sign: | Adds the Guid object to the response
| 1 | ### Response diff --git a/lib/plex_ruby_sdk/library.rb b/lib/plex_ruby_sdk/library.rb index 9a77c30..c10a958 100644 --- a/lib/plex_ruby_sdk/library.rb +++ b/lib/plex_ruby_sdk/library.rb @@ -879,21 +879,21 @@ module PlexRubySDK end - sig { params(request: T.nilable(Models::Operations::GetAllMediaLibraryRequest), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetAllMediaLibraryResponse) } - def get_all_media_library(request, timeout_ms = nil) - # get_all_media_library - Get all media of library + sig { params(request: T.nilable(Models::Operations::GetLibrarySectionsAllRequest), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetLibrarySectionsAllResponse) } + def get_library_sections_all(request, timeout_ms = nil) + # get_library_sections_all - Get Library section media by tag ALL # Retrieves a list of all general media data for this library. # url, params = @sdk_configuration.get_server_details base_url = Utils.template_url(url, params) url = Utils.generate_url( - Models::Operations::GetAllMediaLibraryRequest, + Models::Operations::GetLibrarySectionsAllRequest, base_url, '/library/sections/{sectionKey}/all', request ) headers = {} - query_params = Utils.get_query_params(Models::Operations::GetAllMediaLibraryRequest, request) + query_params = Utils.get_query_params(Models::Operations::GetLibrarySectionsAllRequest, request) headers['Accept'] = 'application/json' headers['user-agent'] = @sdk_configuration.user_agent @@ -907,7 +907,7 @@ module PlexRubySDK hook_ctx = SDKHooks::HookContext.new( base_url: base_url, oauth2_scopes: [], - operation_id: 'get-all-media-library', + operation_id: 'get-library-sections-all', security_source: @sdk_configuration.security_source ) @@ -964,8 +964,8 @@ module PlexRubySDK ), response: http_response ) - obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Operations::GetAllMediaLibraryResponseBody) - response = Models::Operations::GetAllMediaLibraryResponse.new( + obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Operations::GetLibrarySectionsAllResponseBody) + response = Models::Operations::GetLibrarySectionsAllResponse.new( status_code: http_response.status, content_type: content_type, raw_response: http_response, @@ -984,7 +984,7 @@ module PlexRubySDK ), response: http_response ) - obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::GetAllMediaLibraryBadRequest) + obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::GetLibrarySectionsAllBadRequest) obj.raw_response = http_response throw obj else @@ -998,7 +998,7 @@ module PlexRubySDK ), response: http_response ) - obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::GetAllMediaLibraryUnauthorized) + obj = Crystalline.unmarshal_json(JSON.parse(http_response.env.response_body), Models::Errors::GetLibrarySectionsAllUnauthorized) obj.raw_response = http_response throw obj else @@ -1863,7 +1863,8 @@ module PlexRubySDK sig { params(request: T.nilable(Models::Operations::GetMediaMetaDataRequest), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetMediaMetaDataResponse) } def get_media_meta_data(request, timeout_ms = nil) # get_media_meta_data - Get Media Metadata - # This endpoint will return all the (meta)data of a library item specified with by the ratingKey. + # This endpoint will return all the (meta)data of one or more library items specified by the ratingKey. + # Multiple rating keys can be provided as a comma-separated list (e.g., "21119,21617"). # url, params = @sdk_configuration.get_server_details base_url = Utils.template_url(url, params) @@ -2587,7 +2588,7 @@ module PlexRubySDK end - sig { params(type: Models::Operations::GetTopWatchedContentQueryParamType, include_guids: T.nilable(::Integer), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetTopWatchedContentResponse) } + sig { params(type: Models::Operations::GetTopWatchedContentQueryParamType, include_guids: T.nilable(Models::Operations::GetTopWatchedContentQueryParamIncludeGuids), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetTopWatchedContentResponse) } def get_top_watched_content(type, include_guids = nil, timeout_ms = nil) # get_top_watched_content - Get Top Watched Content # This endpoint will return the top watched content from libraries of a certain type diff --git a/lib/plex_ruby_sdk/models/errors.rb b/lib/plex_ruby_sdk/models/errors.rb index f5dcd79..fd5fa28 100644 --- a/lib/plex_ruby_sdk/models/errors.rb +++ b/lib/plex_ruby_sdk/models/errors.rb @@ -52,10 +52,6 @@ module PlexRubySDK autoload :GetAllLibrariesLibraryErrors, 'plex_ruby_sdk/models/errors/get_all_libraries_library_errors.rb' autoload :GetAllLibrariesUnauthorized, 'plex_ruby_sdk/models/errors/get_all_libraries_unauthorized.rb' autoload :GetAllLibrariesErrors, 'plex_ruby_sdk/models/errors/get_all_libraries_errors.rb' - autoload :GetAllMediaLibraryBadRequest, 'plex_ruby_sdk/models/errors/get_all_media_library_badrequest.rb' - autoload :GetAllMediaLibraryLibraryErrors, 'plex_ruby_sdk/models/errors/get_all_media_library_library_errors.rb' - autoload :GetAllMediaLibraryUnauthorized, 'plex_ruby_sdk/models/errors/get_all_media_library_unauthorized.rb' - autoload :GetAllMediaLibraryErrors, 'plex_ruby_sdk/models/errors/get_all_media_library_errors.rb' autoload :GetBannerImageBadRequest, 'plex_ruby_sdk/models/errors/get_banner_image_badrequest.rb' autoload :GetBannerImageMediaErrors, 'plex_ruby_sdk/models/errors/get_banner_image_media_errors.rb' autoload :GetBannerImageUnauthorized, 'plex_ruby_sdk/models/errors/get_banner_image_unauthorized.rb' @@ -76,6 +72,10 @@ module PlexRubySDK autoload :GetLibraryItemsLibraryErrors, 'plex_ruby_sdk/models/errors/get_library_items_library_errors.rb' autoload :GetLibraryItemsUnauthorized, 'plex_ruby_sdk/models/errors/get_library_items_unauthorized.rb' autoload :GetLibraryItemsErrors, 'plex_ruby_sdk/models/errors/get_library_items_errors.rb' + autoload :GetLibrarySectionsAllBadRequest, 'plex_ruby_sdk/models/errors/get_library_sections_all_badrequest.rb' + autoload :GetLibrarySectionsAllLibraryErrors, 'plex_ruby_sdk/models/errors/get_library_sections_all_library_errors.rb' + autoload :GetLibrarySectionsAllUnauthorized, 'plex_ruby_sdk/models/errors/get_library_sections_all_unauthorized.rb' + autoload :GetLibrarySectionsAllErrors, 'plex_ruby_sdk/models/errors/get_library_sections_all_errors.rb' autoload :GetMediaMetaDataBadRequest, 'plex_ruby_sdk/models/errors/get_media_meta_data_badrequest.rb' autoload :GetMediaMetaDataLibraryErrors, 'plex_ruby_sdk/models/errors/get_media_meta_data_library_errors.rb' autoload :GetMediaMetaDataUnauthorized, 'plex_ruby_sdk/models/errors/get_media_meta_data_unauthorized.rb' diff --git a/lib/plex_ruby_sdk/models/errors/get_all_media_library_badrequest.rb b/lib/plex_ruby_sdk/models/errors/get_library_sections_all_badrequest.rb similarity index 76% rename from lib/plex_ruby_sdk/models/errors/get_all_media_library_badrequest.rb rename to lib/plex_ruby_sdk/models/errors/get_library_sections_all_badrequest.rb index 9cfa037..f83a93a 100644 --- a/lib/plex_ruby_sdk/models/errors/get_all_media_library_badrequest.rb +++ b/lib/plex_ruby_sdk/models/errors/get_library_sections_all_badrequest.rb @@ -9,17 +9,17 @@ module PlexRubySDK module Errors # Bad Request - A parameter was not specified, or was specified incorrectly. - class GetAllMediaLibraryBadRequest + class GetLibrarySectionsAllBadRequest extend T::Sig include Crystalline::MetadataFields - field :errors, T.nilable(T::Array[Models::Errors::GetAllMediaLibraryErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } } + field :errors, T.nilable(T::Array[Models::Errors::GetLibrarySectionsAllErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } } # Raw HTTP response; suitable for custom response parsing field :raw_response, T.nilable(::Faraday::Response), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('-') } } - sig { params(errors: T.nilable(T::Array[Models::Errors::GetAllMediaLibraryErrors]), raw_response: T.nilable(::Faraday::Response)).void } + sig { params(errors: T.nilable(T::Array[Models::Errors::GetLibrarySectionsAllErrors]), raw_response: T.nilable(::Faraday::Response)).void } def initialize(errors: nil, raw_response: nil) @errors = errors @raw_response = raw_response diff --git a/lib/plex_ruby_sdk/models/errors/get_all_media_library_errors.rb b/lib/plex_ruby_sdk/models/errors/get_library_sections_all_errors.rb similarity index 96% rename from lib/plex_ruby_sdk/models/errors/get_all_media_library_errors.rb rename to lib/plex_ruby_sdk/models/errors/get_library_sections_all_errors.rb index a306e15..2a2a58e 100644 --- a/lib/plex_ruby_sdk/models/errors/get_all_media_library_errors.rb +++ b/lib/plex_ruby_sdk/models/errors/get_library_sections_all_errors.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Errors - class GetAllMediaLibraryErrors + class GetLibrarySectionsAllErrors extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/errors/get_all_media_library_library_errors.rb b/lib/plex_ruby_sdk/models/errors/get_library_sections_all_library_errors.rb similarity index 96% rename from lib/plex_ruby_sdk/models/errors/get_all_media_library_library_errors.rb rename to lib/plex_ruby_sdk/models/errors/get_library_sections_all_library_errors.rb index 8e2cc4a..8dc1be9 100644 --- a/lib/plex_ruby_sdk/models/errors/get_all_media_library_library_errors.rb +++ b/lib/plex_ruby_sdk/models/errors/get_library_sections_all_library_errors.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Errors - class GetAllMediaLibraryLibraryErrors + class GetLibrarySectionsAllLibraryErrors extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/errors/get_all_media_library_unauthorized.rb b/lib/plex_ruby_sdk/models/errors/get_library_sections_all_unauthorized.rb similarity index 75% rename from lib/plex_ruby_sdk/models/errors/get_all_media_library_unauthorized.rb rename to lib/plex_ruby_sdk/models/errors/get_library_sections_all_unauthorized.rb index b4e5b16..29662ad 100644 --- a/lib/plex_ruby_sdk/models/errors/get_all_media_library_unauthorized.rb +++ b/lib/plex_ruby_sdk/models/errors/get_library_sections_all_unauthorized.rb @@ -9,17 +9,17 @@ module PlexRubySDK module Errors # Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - class GetAllMediaLibraryUnauthorized + class GetLibrarySectionsAllUnauthorized extend T::Sig include Crystalline::MetadataFields - field :errors, T.nilable(T::Array[Models::Errors::GetAllMediaLibraryLibraryErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } } + field :errors, T.nilable(T::Array[Models::Errors::GetLibrarySectionsAllLibraryErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } } # Raw HTTP response; suitable for custom response parsing field :raw_response, T.nilable(::Faraday::Response), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('-') } } - sig { params(errors: T.nilable(T::Array[Models::Errors::GetAllMediaLibraryLibraryErrors]), raw_response: T.nilable(::Faraday::Response)).void } + sig { params(errors: T.nilable(T::Array[Models::Errors::GetLibrarySectionsAllLibraryErrors]), raw_response: T.nilable(::Faraday::Response)).void } def initialize(errors: nil, raw_response: nil) @errors = errors @raw_response = raw_response diff --git a/lib/plex_ruby_sdk/models/operations.rb b/lib/plex_ruby_sdk/models/operations.rb index 58b7a28..dc9dc9a 100644 --- a/lib/plex_ruby_sdk/models/operations.rb +++ b/lib/plex_ruby_sdk/models/operations.rb @@ -122,41 +122,6 @@ module PlexRubySDK autoload :GetAllLibrariesResponse, 'plex_ruby_sdk/models/operations/get_all_libraries_response.rb' autoload :GetAllLibrariesResponseBody, 'plex_ruby_sdk/models/operations/get_all_libraries_responsebody.rb' autoload :GetAllLibrariesType, 'plex_ruby_sdk/models/operations/get_all_libraries_type.rb' - autoload :GetAllMediaLibraryCollection, 'plex_ruby_sdk/models/operations/get_all_media_library_collection.rb' - autoload :GetAllMediaLibraryCountry, 'plex_ruby_sdk/models/operations/get_all_media_library_country.rb' - autoload :GetAllMediaLibraryDirector, 'plex_ruby_sdk/models/operations/get_all_media_library_director.rb' - autoload :GetAllMediaLibraryField, 'plex_ruby_sdk/models/operations/get_all_media_library_field.rb' - autoload :GetAllMediaLibraryFieldType, 'plex_ruby_sdk/models/operations/get_all_media_library_fieldtype.rb' - autoload :GetAllMediaLibraryFilter, 'plex_ruby_sdk/models/operations/get_all_media_library_filter.rb' - autoload :GetAllMediaLibraryGenre, 'plex_ruby_sdk/models/operations/get_all_media_library_genre.rb' - autoload :GetAllMediaLibraryImage, 'plex_ruby_sdk/models/operations/get_all_media_library_image.rb' - autoload :GetAllMediaLibraryLibraryOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_all_media_library_library_optimizedforstreaming.rb' - autoload :GetAllMediaLibraryLibraryResponseType, 'plex_ruby_sdk/models/operations/get_all_media_library_library_response_type.rb' - autoload :GetAllMediaLibraryLibraryType, 'plex_ruby_sdk/models/operations/get_all_media_library_library_type.rb' - autoload :GetAllMediaLibraryMedia, 'plex_ruby_sdk/models/operations/get_all_media_library_media.rb' - autoload :GetAllMediaLibraryMediaContainer, 'plex_ruby_sdk/models/operations/get_all_media_library_mediacontainer.rb' - autoload :GetAllMediaLibraryMeta, 'plex_ruby_sdk/models/operations/get_all_media_library_meta.rb' - autoload :GetAllMediaLibraryMetadata, 'plex_ruby_sdk/models/operations/get_all_media_library_metadata.rb' - autoload :GetAllMediaLibraryOperator, 'plex_ruby_sdk/models/operations/get_all_media_library_operator.rb' - autoload :GetAllMediaLibraryPart, 'plex_ruby_sdk/models/operations/get_all_media_library_part.rb' - autoload :GetAllMediaLibraryRole, 'plex_ruby_sdk/models/operations/get_all_media_library_role.rb' - autoload :GetAllMediaLibrarySort, 'plex_ruby_sdk/models/operations/get_all_media_library_sort.rb' - autoload :GetAllMediaLibraryStream, 'plex_ruby_sdk/models/operations/get_all_media_library_stream.rb' - autoload :GetAllMediaLibraryType, 'plex_ruby_sdk/models/operations/get_all_media_library_type.rb' - autoload :GetAllMediaLibraryUltraBlurColors, 'plex_ruby_sdk/models/operations/get_all_media_library_ultrablurcolors.rb' - autoload :GetAllMediaLibraryWriter, 'plex_ruby_sdk/models/operations/get_all_media_library_writer.rb' - autoload :GetAllMediaLibraryActiveDirection, 'plex_ruby_sdk/models/operations/get_all_media_library_activedirection.rb' - autoload :GetAllMediaLibraryDefaultDirection, 'plex_ruby_sdk/models/operations/get_all_media_library_defaultdirection.rb' - autoload :GetAllMediaLibraryGuids, 'plex_ruby_sdk/models/operations/get_all_media_library_guids.rb' - autoload :GetAllMediaLibraryHasThumbnail, 'plex_ruby_sdk/models/operations/get_all_media_library_hasthumbnail.rb' - autoload :GetAllMediaLibraryOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_all_media_library_optimizedforstreaming.rb' - autoload :GetAllMediaLibraryOptimizedForStreaming1, 'plex_ruby_sdk/models/operations/get_all_media_library_optimizedforstreaming_1.rb' - autoload :GetAllMediaLibraryQueryParamIncludeMeta, 'plex_ruby_sdk/models/operations/get_all_media_library_queryparam_includemeta.rb' - autoload :GetAllMediaLibraryQueryParamType, 'plex_ruby_sdk/models/operations/get_all_media_library_queryparam_type.rb' - 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' @@ -222,6 +187,41 @@ module PlexRubySDK autoload :GetLibraryItemsRequest, 'plex_ruby_sdk/models/operations/get_library_items_request.rb' autoload :GetLibraryItemsResponse, 'plex_ruby_sdk/models/operations/get_library_items_response.rb' autoload :GetLibraryItemsResponseBody, 'plex_ruby_sdk/models/operations/get_library_items_responsebody.rb' + autoload :GetLibrarySectionsAllCollection, 'plex_ruby_sdk/models/operations/get_library_sections_all_collection.rb' + autoload :GetLibrarySectionsAllCountry, 'plex_ruby_sdk/models/operations/get_library_sections_all_country.rb' + autoload :GetLibrarySectionsAllDirector, 'plex_ruby_sdk/models/operations/get_library_sections_all_director.rb' + autoload :GetLibrarySectionsAllField, 'plex_ruby_sdk/models/operations/get_library_sections_all_field.rb' + autoload :GetLibrarySectionsAllFieldType, 'plex_ruby_sdk/models/operations/get_library_sections_all_fieldtype.rb' + autoload :GetLibrarySectionsAllFilter, 'plex_ruby_sdk/models/operations/get_library_sections_all_filter.rb' + autoload :GetLibrarySectionsAllGenre, 'plex_ruby_sdk/models/operations/get_library_sections_all_genre.rb' + autoload :GetLibrarySectionsAllImage, 'plex_ruby_sdk/models/operations/get_library_sections_all_image.rb' + autoload :GetLibrarySectionsAllLibraryOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_library_sections_all_library_optimizedforstreaming.rb' + autoload :GetLibrarySectionsAllLibraryResponseType, 'plex_ruby_sdk/models/operations/get_library_sections_all_library_response_type.rb' + autoload :GetLibrarySectionsAllLibraryType, 'plex_ruby_sdk/models/operations/get_library_sections_all_library_type.rb' + autoload :GetLibrarySectionsAllMedia, 'plex_ruby_sdk/models/operations/get_library_sections_all_media.rb' + autoload :GetLibrarySectionsAllMediaContainer, 'plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb' + autoload :GetLibrarySectionsAllMeta, 'plex_ruby_sdk/models/operations/get_library_sections_all_meta.rb' + autoload :GetLibrarySectionsAllMetadata, 'plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb' + autoload :GetLibrarySectionsAllOperator, 'plex_ruby_sdk/models/operations/get_library_sections_all_operator.rb' + autoload :GetLibrarySectionsAllPart, 'plex_ruby_sdk/models/operations/get_library_sections_all_part.rb' + autoload :GetLibrarySectionsAllRole, 'plex_ruby_sdk/models/operations/get_library_sections_all_role.rb' + autoload :GetLibrarySectionsAllSort, 'plex_ruby_sdk/models/operations/get_library_sections_all_sort.rb' + autoload :GetLibrarySectionsAllStream, 'plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb' + autoload :GetLibrarySectionsAllType, 'plex_ruby_sdk/models/operations/get_library_sections_all_type.rb' + autoload :GetLibrarySectionsAllUltraBlurColors, 'plex_ruby_sdk/models/operations/get_library_sections_all_ultrablurcolors.rb' + autoload :GetLibrarySectionsAllWriter, 'plex_ruby_sdk/models/operations/get_library_sections_all_writer.rb' + autoload :GetLibrarySectionsAllActiveDirection, 'plex_ruby_sdk/models/operations/get_library_sections_all_activedirection.rb' + autoload :GetLibrarySectionsAllDefaultDirection, 'plex_ruby_sdk/models/operations/get_library_sections_all_defaultdirection.rb' + autoload :GetLibrarySectionsAllGuids, 'plex_ruby_sdk/models/operations/get_library_sections_all_guids.rb' + autoload :GetLibrarySectionsAllHasThumbnail, 'plex_ruby_sdk/models/operations/get_library_sections_all_hasthumbnail.rb' + autoload :GetLibrarySectionsAllOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming.rb' + autoload :GetLibrarySectionsAllOptimizedForStreaming1, 'plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_1.rb' + autoload :GetLibrarySectionsAllQueryParamIncludeMeta, 'plex_ruby_sdk/models/operations/get_library_sections_all_queryparam_includemeta.rb' + autoload :GetLibrarySectionsAllQueryParamType, 'plex_ruby_sdk/models/operations/get_library_sections_all_queryparam_type.rb' + autoload :GetLibrarySectionsAllRequest, 'plex_ruby_sdk/models/operations/get_library_sections_all_request.rb' + autoload :GetLibrarySectionsAllResponse, 'plex_ruby_sdk/models/operations/get_library_sections_all_response.rb' + autoload :GetLibrarySectionsAllResponseBody, 'plex_ruby_sdk/models/operations/get_library_sections_all_responsebody.rb' + autoload :GetLibrarySectionsAllStreamType, 'plex_ruby_sdk/models/operations/get_library_sections_all_streamtype.rb' autoload :GetMediaArtsMediaContainer, 'plex_ruby_sdk/models/operations/get_media_arts_mediacontainer.rb' autoload :GetMediaArtsMetadata, 'plex_ruby_sdk/models/operations/get_media_arts_metadata.rb' autoload :GetMediaArtsRequest, 'plex_ruby_sdk/models/operations/get_media_arts_request.rb' @@ -230,7 +230,6 @@ module PlexRubySDK autoload :GetMediaMetaDataCountry, 'plex_ruby_sdk/models/operations/get_media_meta_data_country.rb' autoload :GetMediaMetaDataDirector, 'plex_ruby_sdk/models/operations/get_media_meta_data_director.rb' autoload :GetMediaMetaDataGenre, 'plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb' - 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' @@ -245,6 +244,7 @@ module PlexRubySDK autoload :GetMediaMetaDataStream, 'plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb' autoload :GetMediaMetaDataUltraBlurColors, 'plex_ruby_sdk/models/operations/get_media_meta_data_ultrablurcolors.rb' autoload :GetMediaMetaDataWriter, 'plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb' + autoload :GetMediaMetaDataGuids, 'plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb' autoload :GetMediaMetaDataHasThumbnail, 'plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb' autoload :GetMediaMetaDataOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_media_meta_data_optimizedforstreaming.rb' autoload :GetMediaMetaDataOptimizedForStreaming1, 'plex_ruby_sdk/models/operations/get_media_meta_data_optimizedforstreaming_1.rb' @@ -490,6 +490,7 @@ module PlexRubySDK autoload :GetTopWatchedContentRole, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_role.rb' autoload :GetTopWatchedContentUser, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_user.rb' autoload :GetTopWatchedContentGuids, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_guids.rb' + autoload :GetTopWatchedContentQueryParamIncludeGuids, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_includeguids.rb' autoload :GetTopWatchedContentQueryParamType, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb' autoload :GetTopWatchedContentRequest, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb' autoload :GetTopWatchedContentResponse, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_response.rb' diff --git a/lib/plex_ruby_sdk/models/operations/country.rb b/lib/plex_ruby_sdk/models/operations/country.rb index d0b334e..958ff34 100644 --- a/lib/plex_ruby_sdk/models/operations/country.rb +++ b/lib/plex_ruby_sdk/models/operations/country.rb @@ -14,25 +14,27 @@ module PlexRubySDK include Crystalline::MetadataFields + field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } + # The unique identifier for the country. + # NOTE: This is different for each Plex server and is not globally unique. + # field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # 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(id: ::Integer, tag: ::String, filter: T.nilable(::String)).void } - def initialize(id: nil, tag: nil, filter: nil) + sig { params(filter: ::String, id: ::Integer, tag: ::String).void } + def initialize(filter: nil, id: nil, tag: nil) + @filter = filter @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/director.rb b/lib/plex_ruby_sdk/models/operations/director.rb index 1ed7677..4dc9a71 100644 --- a/lib/plex_ruby_sdk/models/operations/director.rb +++ b/lib/plex_ruby_sdk/models/operations/director.rb @@ -13,18 +13,34 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields + # The filter string used to query this director. + field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } + # Unique identifier for the director. + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # The role of Director field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # A unique 24-character hexadecimal key associated with the director's tag, used for internal identification. + field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } + # The absolute URL of the thumbnail image for the director. + field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } - sig { params(tag: ::String).void } - def initialize(tag: nil) + sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::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 + @thumb = thumb 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 @tag_key == other.tag_key + return false unless @thumb == other.thumb true end end diff --git a/lib/plex_ruby_sdk/models/operations/genre.rb b/lib/plex_ruby_sdk/models/operations/genre.rb index 53b1a20..59cd0b0 100644 --- a/lib/plex_ruby_sdk/models/operations/genre.rb +++ b/lib/plex_ruby_sdk/models/operations/genre.rb @@ -15,7 +15,9 @@ module PlexRubySDK field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } - + # The unique identifier for the genre. + # NOTE: This is different for each Plex server and is not globally unique. + # field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # The genre name of this media-item # diff --git a/lib/plex_ruby_sdk/models/operations/get_actors_library_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/get_actors_library_queryparam_type.rb index ec7f961..3ceadda 100644 --- a/lib/plex_ruby_sdk/models/operations/get_actors_library_queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_actors_library_queryparam_type.rb @@ -21,9 +21,11 @@ module PlexRubySDK TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) - AUDIO = new(8) - ALBUM = new(9) - TRACK = new(10) + ARTIST = new(5) + ALBUM = new(6) + TRACK = new(7) + PHOTO_ALBUM = new(8) + PHOTO = new(9) end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_all_libraries_type.rb b/lib/plex_ruby_sdk/models/operations/get_all_libraries_type.rb index ba6bc36..5bfddb0 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_libraries_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_all_libraries_type.rb @@ -17,6 +17,10 @@ module PlexRubySDK EPISODE = new('episode') ARTIST = new('artist') ALBUM = new('album') + TRACK = new('track') + PHOTO_ALBUM = new('photoalbum') + PHOTO = new('photo') + COLLECTION = new('collection') end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_countries_library_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/get_countries_library_queryparam_type.rb index c1c6c92..6849a03 100644 --- a/lib/plex_ruby_sdk/models/operations/get_countries_library_queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_countries_library_queryparam_type.rb @@ -21,9 +21,11 @@ module PlexRubySDK TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) - AUDIO = new(8) - ALBUM = new(9) - TRACK = new(10) + ARTIST = new(5) + ALBUM = new(6) + TRACK = new(7) + PHOTO_ALBUM = new(8) + PHOTO = new(9) end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_genres_library_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/get_genres_library_queryparam_type.rb index 52feddc..856b8e0 100644 --- a/lib/plex_ruby_sdk/models/operations/get_genres_library_queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_genres_library_queryparam_type.rb @@ -21,9 +21,11 @@ module PlexRubySDK TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) - AUDIO = new(8) - ALBUM = new(9) - TRACK = new(10) + ARTIST = new(5) + ALBUM = new(6) + TRACK = new(7) + PHOTO_ALBUM = new(8) + PHOTO = new(9) end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb index 458b136..9f33b3e 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb @@ -8,7 +8,7 @@ module PlexRubySDK module Models module Operations - # GetLibraryItemsLibraryType - The type of media content + # GetLibraryItemsLibraryType - The type of media content in the Plex library. This can represent videos, music, or photos. # class GetLibraryItemsLibraryType < T::Enum enums do @@ -18,6 +18,10 @@ module PlexRubySDK EPISODE = new('episode') ARTIST = new('artist') ALBUM = new('album') + TRACK = new('track') + PHOTO_ALBUM = new('photoalbum') + PHOTO = new('photo') + COLLECTION = new('collection') end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb index cbabf5d..83b48ed 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb @@ -27,7 +27,7 @@ module PlexRubySDK field :summary, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } } field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - # The type of media content + # The type of media content in the Plex library. This can represent videos, music, or photos. # field :type, Models::Operations::GetLibraryItemsLibraryType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsLibraryType, false) } } diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb index 77dbdec..813f68f 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb @@ -21,9 +21,11 @@ module PlexRubySDK TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) - AUDIO = new(8) - ALBUM = new(9) - TRACK = new(10) + ARTIST = new(5) + ALBUM = new(6) + TRACK = new(7) + PHOTO_ALBUM = new(8) + PHOTO = new(9) end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_activedirection.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_activedirection.rb similarity index 65% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_activedirection.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_activedirection.rb index 1f07250..2e5efc0 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_activedirection.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_activedirection.rb @@ -8,9 +8,9 @@ module PlexRubySDK module Models module Operations - # GetAllMediaLibraryActiveDirection - The direction of the sort. Can be either `asc` or `desc`. + # GetLibrarySectionsAllActiveDirection - The direction of the sort. Can be either `asc` or `desc`. # - class GetAllMediaLibraryActiveDirection < T::Enum + class GetLibrarySectionsAllActiveDirection < T::Enum enums do ASCENDING = new('asc') DESCENDING = new('desc') diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_collection.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_collection.rb similarity index 94% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_collection.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_collection.rb index 227131d..12f5644 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_collection.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_collection.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryCollection + class GetLibrarySectionsAllCollection extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_country.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_country.rb similarity index 94% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_country.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_country.rb index 4feaf6d..78630f3 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_country.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_country.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryCountry + class GetLibrarySectionsAllCountry extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_defaultdirection.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_defaultdirection.rb similarity index 65% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_defaultdirection.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_defaultdirection.rb index fe58bc1..184df10 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_defaultdirection.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_defaultdirection.rb @@ -8,9 +8,9 @@ module PlexRubySDK module Models module Operations - # GetAllMediaLibraryDefaultDirection - The direction of the sort. Can be either `asc` or `desc`. + # GetLibrarySectionsAllDefaultDirection - The direction of the sort. Can be either `asc` or `desc`. # - class GetAllMediaLibraryDefaultDirection < T::Enum + class GetLibrarySectionsAllDefaultDirection < T::Enum enums do ASCENDING = new('asc') DESCENDING = new('desc') diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_director.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_director.rb similarity index 94% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_director.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_director.rb index e6db0c3..1521f4f 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_director.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_director.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryDirector + class GetLibrarySectionsAllDirector extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_field.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_field.rb similarity index 97% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_field.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_field.rb index 81a6a1f..23ecd90 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_field.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_field.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryField + class GetLibrarySectionsAllField extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_fieldtype.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_fieldtype.rb similarity index 68% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_fieldtype.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_fieldtype.rb index 47bd2fc..f0190e1 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_fieldtype.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_fieldtype.rb @@ -9,17 +9,17 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryFieldType + class GetLibrarySectionsAllFieldType extend T::Sig include Crystalline::MetadataFields - field :operator, T::Array[Models::Operations::GetAllMediaLibraryOperator], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Operator') } } + field :operator, T::Array[Models::Operations::GetLibrarySectionsAllOperator], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Operator') } } field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - sig { params(operator: T::Array[Models::Operations::GetAllMediaLibraryOperator], type: ::String).void } + sig { params(operator: T::Array[Models::Operations::GetLibrarySectionsAllOperator], type: ::String).void } def initialize(operator: nil, type: nil) @operator = operator @type = type diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_filter.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_filter.rb similarity index 97% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_filter.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_filter.rb index 77bcfab..0b95733 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_filter.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_filter.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryFilter + class GetLibrarySectionsAllFilter extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_genre.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_genre.rb similarity index 94% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_genre.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_genre.rb index dd77c6e..c1fcb88 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_genre.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_genre.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryGenre + class GetLibrarySectionsAllGenre extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_guids.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_guids.rb similarity index 62% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_guids.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_guids.rb index cec2a39..2eee6c2 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_guids.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_guids.rb @@ -9,16 +9,16 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryGuids + class GetLibrarySectionsAllGuids extend T::Sig include Crystalline::MetadataFields - # The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337 + # The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb:// # - field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - sig { params(id: T.nilable(::String)).void } + sig { params(id: ::String).void } def initialize(id: nil) @id = id end diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_hasthumbnail.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_hasthumbnail.rb similarity index 67% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_hasthumbnail.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_hasthumbnail.rb index 28c872a..a25448d 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_hasthumbnail.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_hasthumbnail.rb @@ -8,8 +8,8 @@ module PlexRubySDK module Models module Operations - # GetAllMediaLibraryHasThumbnail - Indicates if the part has a thumbnail. - class GetAllMediaLibraryHasThumbnail < T::Enum + # GetLibrarySectionsAllHasThumbnail - Indicates if the part has a thumbnail. + class GetLibrarySectionsAllHasThumbnail < T::Enum enums do FALSE = new('0') TRUE = new('1') diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_image.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_image.rb similarity index 71% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_image.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_image.rb index d85b45b..ed45410 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_image.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_image.rb @@ -9,19 +9,19 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryImage + class GetLibrarySectionsAllImage extend T::Sig include Crystalline::MetadataFields field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } } - field :type, Models::Operations::GetAllMediaLibraryLibraryResponseType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetAllMediaLibraryLibraryResponseType, false) } } + field :type, Models::Operations::GetLibrarySectionsAllLibraryResponseType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibrarySectionsAllLibraryResponseType, false) } } field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } } - sig { params(alt: ::String, type: Models::Operations::GetAllMediaLibraryLibraryResponseType, url: ::String).void } + sig { params(alt: ::String, type: Models::Operations::GetLibrarySectionsAllLibraryResponseType, 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_all_media_library_library_optimizedforstreaming.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_optimizedforstreaming.rb similarity index 89% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_library_optimizedforstreaming.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_optimizedforstreaming.rb index 7519bc5..05bc1e3 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_library_optimizedforstreaming.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_optimizedforstreaming.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true - class GetAllMediaLibraryLibraryOptimizedForStreaming + class GetLibrarySectionsAllLibraryOptimizedForStreaming extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_library_response_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_response_type.rb similarity index 86% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_library_response_type.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_response_type.rb index 14134ea..6aef733 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_library_response_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_response_type.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryLibraryResponseType < T::Enum + class GetLibrarySectionsAllLibraryResponseType < T::Enum enums do COVER_POSTER = new('coverPoster') BACKGROUND = new('background') diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_library_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_type.rb similarity index 56% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_library_type.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_type.rb index 9fd18fe..3089d80 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_library_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_library_type.rb @@ -8,9 +8,9 @@ module PlexRubySDK module Models module Operations - # GetAllMediaLibraryLibraryType - The type of media content + # GetLibrarySectionsAllLibraryType - The type of media content in the Plex library. This can represent videos, music, or photos. # - class GetAllMediaLibraryLibraryType < T::Enum + class GetLibrarySectionsAllLibraryType < T::Enum enums do MOVIE = new('movie') TV_SHOW = new('show') @@ -18,6 +18,10 @@ module PlexRubySDK EPISODE = new('episode') ARTIST = new('artist') ALBUM = new('album') + TRACK = new('track') + PHOTO_ALBUM = new('photoalbum') + PHOTO = new('photo') + COLLECTION = new('collection') end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_media.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_media.rb similarity index 93% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_media.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_media.rb index d45258a..7bae374 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_media.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_media.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryMedia + class GetLibrarySectionsAllMedia extend T::Sig include Crystalline::MetadataFields @@ -40,7 +40,7 @@ module PlexRubySDK # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true field :optimized_for_streaming, T.nilable(T.any(Models::Operations::OptimizedForStreaming1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } # An array of parts for this media item. - field :part, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryPart]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } } + field :part, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllPart]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } } # Video codec used. field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } } # Frame rate of the video. Values found include NTSC, PAL, 24p @@ -54,7 +54,7 @@ module PlexRubySDK field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } - sig { params(id: ::Integer, aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), container: T.nilable(::String), display_offset: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(T.any(Models::Operations::OptimizedForStreaming1, T::Boolean)), part: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryPart]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void } + sig { params(id: ::Integer, aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), container: T.nilable(::String), display_offset: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(T.any(Models::Operations::OptimizedForStreaming1, T::Boolean)), part: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllPart]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void } def initialize(id: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, container: nil, display_offset: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil) @id = id @aspect_ratio = aspect_ratio diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb similarity index 93% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_mediacontainer.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb index 6b073bf..32f85bd 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_mediacontainer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryMediaContainer + class GetLibrarySectionsAllMediaContainer extend T::Sig include Crystalline::MetadataFields @@ -49,12 +49,12 @@ module PlexRubySDK field :library_section_uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } } # The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. # - field :meta, T.nilable(Models::Operations::GetAllMediaLibraryMeta), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Meta') } } + field :meta, T.nilable(Models::Operations::GetLibrarySectionsAllMeta), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Meta') } } # An array of metadata items. - field :metadata, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } + field :metadata, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } - sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, library_section_uuid: T.nilable(::String), meta: T.nilable(Models::Operations::GetAllMediaLibraryMeta), metadata: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryMetadata])).void } + sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, library_section_uuid: T.nilable(::String), meta: T.nilable(Models::Operations::GetLibrarySectionsAllMeta), metadata: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllMetadata])).void } def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, library_section_id: nil, library_section_title: nil, media_tag_prefix: nil, media_tag_version: nil, nocache: nil, offset: nil, size: nil, thumb: nil, title1: nil, title2: nil, total_size: nil, view_group: nil, library_section_uuid: nil, meta: nil, metadata: nil) @allow_sync = allow_sync @art = art diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_meta.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_meta.rb similarity index 65% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_meta.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_meta.rb index 1b2dacc..fac602e 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_meta.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_meta.rb @@ -10,17 +10,17 @@ module PlexRubySDK # The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. # - class GetAllMediaLibraryMeta + class GetLibrarySectionsAllMeta extend T::Sig include Crystalline::MetadataFields - field :field_type, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } + field :field_type, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } - field :type, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } + field :type, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } - sig { params(field_type: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryFieldType]), type: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryType])).void } + sig { params(field_type: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllFieldType]), type: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllType])).void } def initialize(field_type: nil, type: nil) @field_type = field_type @type = type diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_metadata.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb similarity index 84% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_metadata.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb index 1319925..4f09654 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_metadata.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb @@ -10,7 +10,7 @@ module PlexRubySDK # Unknown # - class GetAllMediaLibraryMetadata + class GetLibrarySectionsAllMetadata extend T::Sig include Crystalline::MetadataFields @@ -53,25 +53,25 @@ module PlexRubySDK # The sort title used for ordering media items. field :title_sort, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('titleSort') } } - field :type, Models::Operations::GetAllMediaLibraryLibraryType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetAllMediaLibraryLibraryType, false) } } + field :type, Models::Operations::GetLibrarySectionsAllLibraryType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibrarySectionsAllLibraryType, false) } } # The URL for the audience rating image. field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } } # The source from which chapter data is derived. field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } } - field :collection, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryCollection]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Collection') } } + field :collection, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllCollection]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Collection') } } # The content rating for the media item. field :content_rating, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } } - field :country, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } } + field :country, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } } # 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::GetAllMediaLibraryDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } } + field :director, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } } - field :genre, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } } + field :genre, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } } # The art URL for the grandparent media item. field :grandparent_art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentArt') } } # The GUID of the grandparent media item. @@ -89,9 +89,9 @@ module PlexRubySDK # The title of the grandparent media item. field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } } - field :guids, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryGuids]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } } + field :guids, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllGuids]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } } - field :image, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryImage]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } } + field :image, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllImage]), { '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. @@ -99,7 +99,7 @@ module PlexRubySDK # 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') } } - field :media, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } + field :media, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } # The original title of the media item (if different). field :original_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originalTitle') } } # The GUID of the parent media item. @@ -119,7 +119,7 @@ module PlexRubySDK # The URL for the rating image. field :rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingImage') } } - field :role, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } } + field :role, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } } # 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') } } # The studio that produced the media item. @@ -127,7 +127,7 @@ module PlexRubySDK # 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::GetAllMediaLibraryUltraBlurColors), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } } + field :ultra_blur_colors, T.nilable(Models::Operations::GetLibrarySectionsAllUltraBlurColors), { '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. @@ -139,12 +139,12 @@ module PlexRubySDK # 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::GetAllMediaLibraryWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } } + field :writer, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllWriter]), { '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, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::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::GetAllMediaLibraryLibraryType, audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), collection: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryCountry]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryDirector]), genre: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryGenre]), 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::GetAllMediaLibraryGuids]), image: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), media: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryMedia]), 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), rating_image: T.nilable(::String), role: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryRole]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::GetAllMediaLibraryUltraBlurColors), 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::GetAllMediaLibraryWriter]), year: T.nilable(::Integer)).void } + sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::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::GetLibrarySectionsAllLibraryType, audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), collection: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllCountry]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllDirector]), genre: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllGenre]), 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::GetLibrarySectionsAllGuids]), image: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), media: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllMedia]), 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), rating_image: T.nilable(::String), role: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllRole]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::GetLibrarySectionsAllUltraBlurColors), 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::GetLibrarySectionsAllWriter]), 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, 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_source: nil, collection: nil, content_rating: nil, country: nil, created_at_accuracy: nil, created_at_tz_offset: nil, director: 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, 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, rating_image: nil, role: 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 diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_operator.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_operator.rb similarity index 95% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_operator.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_operator.rb index 8f384df..ba555b7 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_operator.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_operator.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryOperator + class GetLibrarySectionsAllOperator extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_optimizedforstreaming.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming.rb similarity index 90% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_optimizedforstreaming.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming.rb index 0204c30..d465916 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_optimizedforstreaming.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true - class GetAllMediaLibraryOptimizedForStreaming + class GetLibrarySectionsAllOptimizedForStreaming extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_optimizedforstreaming_1.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_1.rb similarity index 81% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_optimizedforstreaming_1.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_1.rb index 0599edc..c5565bc 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_optimizedforstreaming_1.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_1.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryOptimizedForStreaming1 < T::Enum + class GetLibrarySectionsAllOptimizedForStreaming1 < T::Enum enums do ZERO = new(0) ONE = new(1) diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_part.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb similarity index 83% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_part.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb index 19aaa32..f09ce0d 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_part.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryPart + class GetLibrarySectionsAllPart extend T::Sig include Crystalline::MetadataFields @@ -34,20 +34,20 @@ module PlexRubySDK field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } } - field :has_thumbnail, T.nilable(Models::Operations::GetAllMediaLibraryHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(Models::Operations::GetAllMediaLibraryHasThumbnail, true) } } + field :has_thumbnail, T.nilable(Models::Operations::GetLibrarySectionsAllHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibrarySectionsAllHasThumbnail, true) } } field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } } # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true - field :optimized_for_streaming, T.nilable(T.any(Models::Operations::GetAllMediaLibraryOptimizedForStreaming1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } + field :optimized_for_streaming, T.nilable(T.any(Models::Operations::GetLibrarySectionsAllOptimizedForStreaming1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } field :packet_length, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('packetLength') } } # An array of streams for this part. - field :stream, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } } + field :stream, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } } # Video profile for the part. field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } - sig { params(file: ::String, id: ::Integer, key: ::String, size: ::Integer, accessible: T.nilable(T::Boolean), audio_profile: T.nilable(::String), container: T.nilable(::String), duration: T.nilable(::Integer), exists: T.nilable(T::Boolean), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(Models::Operations::GetAllMediaLibraryHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T.any(Models::Operations::GetAllMediaLibraryOptimizedForStreaming1, T::Boolean)), packet_length: T.nilable(::Integer), stream: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryStream]), video_profile: T.nilable(::String)).void } + sig { params(file: ::String, id: ::Integer, key: ::String, size: ::Integer, accessible: T.nilable(T::Boolean), audio_profile: T.nilable(::String), container: T.nilable(::String), duration: T.nilable(::Integer), exists: T.nilable(T::Boolean), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(Models::Operations::GetLibrarySectionsAllHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T.any(Models::Operations::GetLibrarySectionsAllOptimizedForStreaming1, T::Boolean)), packet_length: T.nilable(::Integer), stream: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllStream]), video_profile: T.nilable(::String)).void } def initialize(file: nil, id: nil, key: nil, size: nil, accessible: nil, audio_profile: nil, container: nil, duration: nil, exists: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, packet_length: nil, stream: nil, video_profile: nil) @file = file @id = id diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_queryparam_includemeta.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_queryparam_includemeta.rb similarity index 65% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_queryparam_includemeta.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_queryparam_includemeta.rb index a312b4c..c102099 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_queryparam_includemeta.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_queryparam_includemeta.rb @@ -8,9 +8,9 @@ module PlexRubySDK module Models module Operations - # GetAllMediaLibraryQueryParamIncludeMeta - Adds the Meta object to the response + # GetLibrarySectionsAllQueryParamIncludeMeta - Adds the Meta object to the response # - class GetAllMediaLibraryQueryParamIncludeMeta < T::Enum + class GetLibrarySectionsAllQueryParamIncludeMeta < T::Enum enums do DISABLE = new(0) ENABLE = new(1) diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_queryparam_type.rb similarity index 65% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_queryparam_type.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_queryparam_type.rb index c35b82d..c0bc6a1 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_queryparam_type.rb @@ -8,22 +8,24 @@ module PlexRubySDK module Models module Operations - # GetAllMediaLibraryQueryParamType - The type of media to retrieve or filter by. + # GetLibrarySectionsAllQueryParamType - The type of media to retrieve or filter by. # 1 = movie # 2 = show # 3 = season # 4 = episode # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries # - class GetAllMediaLibraryQueryParamType < T::Enum + class GetLibrarySectionsAllQueryParamType < T::Enum enums do MOVIE = new(1) TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) - AUDIO = new(8) - ALBUM = new(9) - TRACK = new(10) + ARTIST = new(5) + ALBUM = new(6) + TRACK = new(7) + PHOTO_ALBUM = new(8) + PHOTO = new(9) end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_request.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_request.rb similarity index 80% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_request.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_request.rb index 8c213f9..29cca6c 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_request.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_request.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryRequest + class GetLibrarySectionsAllRequest extend T::Sig include Crystalline::MetadataFields @@ -24,7 +24,7 @@ module PlexRubySDK # 4 = episode # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries # - field :type, Models::Operations::GetAllMediaLibraryQueryParamType, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } } + field :type, Models::Operations::GetLibrarySectionsAllQueryParamType, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } } field :include_advanced, T.nilable(Models::Operations::IncludeAdvanced), { 'query_param': { 'field_name': 'includeAdvanced', 'style': 'form', 'explode': true } } @@ -36,7 +36,7 @@ module PlexRubySDK field :include_guids, T.nilable(Models::Operations::QueryParamIncludeGuids), { 'query_param': { 'field_name': 'includeGuids', 'style': 'form', 'explode': true } } # Adds the Meta object to the response # - field :include_meta, T.nilable(Models::Operations::GetAllMediaLibraryQueryParamIncludeMeta), { 'query_param': { 'field_name': 'includeMeta', 'style': 'form', 'explode': true } } + field :include_meta, T.nilable(Models::Operations::GetLibrarySectionsAllQueryParamIncludeMeta), { 'query_param': { 'field_name': 'includeMeta', 'style': 'form', 'explode': true } } # The number of items to return. If not specified, all items will be returned. # If the number of items exceeds the limit, the response will be paginated. # By default this is 50 @@ -49,7 +49,7 @@ module PlexRubySDK field :x_plex_container_start, T.nilable(::Integer), { 'query_param': { 'field_name': 'X-Plex-Container-Start', 'style': 'form', 'explode': true } } - sig { params(section_key: ::Integer, type: Models::Operations::GetAllMediaLibraryQueryParamType, include_advanced: T.nilable(Models::Operations::IncludeAdvanced), include_collections: T.nilable(Models::Operations::QueryParamIncludeCollections), include_external_media: T.nilable(Models::Operations::QueryParamIncludeExternalMedia), include_guids: T.nilable(Models::Operations::QueryParamIncludeGuids), include_meta: T.nilable(Models::Operations::GetAllMediaLibraryQueryParamIncludeMeta), x_plex_container_size: T.nilable(::Integer), x_plex_container_start: T.nilable(::Integer)).void } + sig { params(section_key: ::Integer, type: Models::Operations::GetLibrarySectionsAllQueryParamType, include_advanced: T.nilable(Models::Operations::IncludeAdvanced), include_collections: T.nilable(Models::Operations::QueryParamIncludeCollections), include_external_media: T.nilable(Models::Operations::QueryParamIncludeExternalMedia), include_guids: T.nilable(Models::Operations::QueryParamIncludeGuids), include_meta: T.nilable(Models::Operations::GetLibrarySectionsAllQueryParamIncludeMeta), x_plex_container_size: T.nilable(::Integer), x_plex_container_start: T.nilable(::Integer)).void } def initialize(section_key: nil, type: nil, include_advanced: nil, include_collections: nil, include_external_media: nil, include_guids: nil, include_meta: nil, x_plex_container_size: nil, x_plex_container_start: nil) @section_key = section_key @type = type diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_response.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_response.rb similarity index 87% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_response.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_response.rb index f988050..a677d11 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_response.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_response.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryResponse + class GetLibrarySectionsAllResponse extend T::Sig include Crystalline::MetadataFields @@ -20,10 +20,10 @@ module PlexRubySDK # HTTP response status code for this operation field :status_code, ::Integer # Successful response containing media container data. - field :object, T.nilable(Models::Operations::GetAllMediaLibraryResponseBody) + field :object, T.nilable(Models::Operations::GetLibrarySectionsAllResponseBody) - sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, object: T.nilable(Models::Operations::GetAllMediaLibraryResponseBody)).void } + sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, object: T.nilable(Models::Operations::GetLibrarySectionsAllResponseBody)).void } def initialize(content_type: nil, raw_response: nil, status_code: nil, object: nil) @content_type = content_type @raw_response = raw_response diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_responsebody.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_responsebody.rb similarity index 77% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_responsebody.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_responsebody.rb index 7b8d28e..50cf86d 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_responsebody.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_responsebody.rb @@ -9,15 +9,15 @@ module PlexRubySDK module Operations # Successful response containing media container data. - class GetAllMediaLibraryResponseBody + class GetLibrarySectionsAllResponseBody extend T::Sig include Crystalline::MetadataFields - field :media_container, T.nilable(Models::Operations::GetAllMediaLibraryMediaContainer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('MediaContainer') } } + field :media_container, T.nilable(Models::Operations::GetLibrarySectionsAllMediaContainer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('MediaContainer') } } - sig { params(media_container: T.nilable(Models::Operations::GetAllMediaLibraryMediaContainer)).void } + sig { params(media_container: T.nilable(Models::Operations::GetLibrarySectionsAllMediaContainer)).void } def initialize(media_container: nil) @media_container = media_container end diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_role.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_role.rb similarity index 94% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_role.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_role.rb index bf39b78..c0003cc 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_role.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_role.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryRole + class GetLibrarySectionsAllRole extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_sort.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_sort.rb similarity index 71% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_sort.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_sort.rb index 1cac4a7..08df201 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_sort.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_sort.rb @@ -9,13 +9,13 @@ module PlexRubySDK module Operations - class GetAllMediaLibrarySort + class GetLibrarySectionsAllSort extend T::Sig include Crystalline::MetadataFields # The direction of the sort. Can be either `asc` or `desc`. # - field :default_direction, Models::Operations::GetAllMediaLibraryDefaultDirection, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection'), 'decoder': Utils.enum_from_string(Models::Operations::GetAllMediaLibraryDefaultDirection, false) } } + field :default_direction, Models::Operations::GetLibrarySectionsAllDefaultDirection, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibrarySectionsAllDefaultDirection, false) } } field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } @@ -24,7 +24,7 @@ module PlexRubySDK field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } # The direction of the sort. Can be either `asc` or `desc`. # - field :active_direction, T.nilable(Models::Operations::GetAllMediaLibraryActiveDirection), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('activeDirection'), 'decoder': Utils.enum_from_string(Models::Operations::GetAllMediaLibraryActiveDirection, true) } } + field :active_direction, T.nilable(Models::Operations::GetLibrarySectionsAllActiveDirection), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('activeDirection'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibrarySectionsAllActiveDirection, true) } } field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } @@ -33,7 +33,7 @@ module PlexRubySDK field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } } - sig { params(default_direction: Models::Operations::GetAllMediaLibraryDefaultDirection, key: ::String, title: ::String, active: T.nilable(T::Boolean), active_direction: T.nilable(Models::Operations::GetAllMediaLibraryActiveDirection), default: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String)).void } + sig { params(default_direction: Models::Operations::GetLibrarySectionsAllDefaultDirection, key: ::String, title: ::String, active: T.nilable(T::Boolean), active_direction: T.nilable(Models::Operations::GetLibrarySectionsAllActiveDirection), default: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String)).void } def initialize(default_direction: nil, key: nil, title: nil, active: nil, active_direction: nil, default: nil, desc_key: nil, first_character_key: nil) @default_direction = default_direction @key = key diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb similarity index 88% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb index 5cdc285..29862ab 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryStream + class GetLibrarySectionsAllStream extend T::Sig include Crystalline::MetadataFields @@ -26,7 +26,7 @@ module PlexRubySDK # - 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) } } + field :stream_type, Models::Operations::GetLibrarySectionsAllStreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibrarySectionsAllStreamType, 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. @@ -121,7 +121,7 @@ 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, 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 } + sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, stream_type: Models::Operations::GetLibrarySectionsAllStreamType, 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 diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_streamtype.rb similarity index 78% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_streamtype.rb index 4c9f8da..43775f6 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_streamtype.rb @@ -8,12 +8,12 @@ module PlexRubySDK module Models module Operations - # GetAllMediaLibraryStreamType - Stream type: + # GetLibrarySectionsAllStreamType - Stream type: # - 1 = video # - 2 = audio # - 3 = subtitle # - class GetAllMediaLibraryStreamType < T::Enum + class GetLibrarySectionsAllStreamType < T::Enum enums do VIDEO = new(1) AUDIO = new(2) diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_type.rb similarity index 75% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_type.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_type.rb index bdc0753..e6b8fbb 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_type.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryType + class GetLibrarySectionsAllType extend T::Sig include Crystalline::MetadataFields @@ -22,16 +22,16 @@ module PlexRubySDK field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - field :field, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } + field :field, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } - field :filter, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } + field :filter, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } - field :sort, T.nilable(T::Array[Models::Operations::GetAllMediaLibrarySort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } + field :sort, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } } - sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryField]), filter: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryFilter]), sort: T.nilable(T::Array[Models::Operations::GetAllMediaLibrarySort]), subtype: T.nilable(::String)).void } + sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllField]), filter: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllFilter]), sort: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllSort]), subtype: T.nilable(::String)).void } def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil, subtype: nil) @active = active @key = key diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_ultrablurcolors.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_ultrablurcolors.rb similarity index 96% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_ultrablurcolors.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_ultrablurcolors.rb index 0fc4ec0..98ebb1e 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_ultrablurcolors.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_ultrablurcolors.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryUltraBlurColors + class GetLibrarySectionsAllUltraBlurColors extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_all_media_library_writer.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_writer.rb similarity index 94% rename from lib/plex_ruby_sdk/models/operations/get_all_media_library_writer.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_writer.rb index 6f026fb..fbb0f6d 100644 --- a/lib/plex_ruby_sdk/models/operations/get_all_media_library_writer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_writer.rb @@ -9,7 +9,7 @@ module PlexRubySDK module Operations - class GetAllMediaLibraryWriter + class GetLibrarySectionsAllWriter extend T::Sig include Crystalline::MetadataFields 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 049f117..839f8d6 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 @@ -14,25 +14,27 @@ module PlexRubySDK include Crystalline::MetadataFields + field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } + # The unique identifier for the country. + # NOTE: This is different for each Plex server and is not globally unique. + # field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # 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(id: ::Integer, tag: ::String, filter: T.nilable(::String)).void } - def initialize(id: nil, tag: nil, filter: nil) + sig { params(filter: ::String, id: ::Integer, tag: ::String).void } + def initialize(filter: nil, id: nil, tag: nil) + @filter = filter @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 7d33980..4018015 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 @@ -19,13 +19,13 @@ module PlexRubySDK field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # The role of Director field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - # 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. + # A unique 24-character hexadecimal key associated with the director's tag, used for internal identification. + field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } + # The absolute 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: T.nilable(::String), thumb: T.nilable(::String)).void } + sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, thumb: T.nilable(::String)).void } def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, thumb: nil) @filter = filter @id = id 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 78dbd5d..a096e80 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 @@ -15,7 +15,9 @@ module PlexRubySDK field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } - + # The unique identifier for the genre. + # NOTE: This is different for each Plex server and is not globally unique. + # field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # The genre name of this media-item # diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb index fded44a..7a7745b 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb @@ -13,7 +13,8 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # The GUID value. + # The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb:// + # field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_request.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_request.rb index 1b2b473..2f37fbe 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_request.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_request.rb @@ -13,8 +13,8 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # the id of the library item to return the children of. - field :rating_key, ::Integer, { 'path_param': { 'field_name': 'ratingKey', 'style': 'simple', 'explode': false } } + # The id(s) of the library item(s) to return metadata for. Can be a single ID or comma-separated list of IDs. + field :rating_key, ::String, { 'path_param': { 'field_name': 'ratingKey', 'style': 'simple', 'explode': false } } # Trigger asynchronous metadata augmentation. field :async_augment_metadata, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'asyncAugmentMetadata', 'style': 'form', 'explode': true } } # Trigger asynchronous file checking. @@ -43,7 +43,7 @@ module PlexRubySDK field :include_stations, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includeStations', 'style': 'form', 'explode': true } } - sig { params(rating_key: ::Integer, async_augment_metadata: T.nilable(T::Boolean), async_check_files: T.nilable(T::Boolean), async_refresh_analysis: T.nilable(T::Boolean), async_refresh_local_media_agent: T.nilable(T::Boolean), include_chapters: T.nilable(T::Boolean), include_concerts: T.nilable(T::Boolean), include_external_media: T.nilable(T::Boolean), include_extras: T.nilable(T::Boolean), include_on_deck: T.nilable(T::Boolean), include_popular_leaves: T.nilable(T::Boolean), include_preferences: T.nilable(T::Boolean), include_reviews: T.nilable(T::Boolean), include_stations: T.nilable(T::Boolean)).void } + sig { params(rating_key: ::String, async_augment_metadata: T.nilable(T::Boolean), async_check_files: T.nilable(T::Boolean), async_refresh_analysis: T.nilable(T::Boolean), async_refresh_local_media_agent: T.nilable(T::Boolean), include_chapters: T.nilable(T::Boolean), include_concerts: T.nilable(T::Boolean), include_external_media: T.nilable(T::Boolean), include_extras: T.nilable(T::Boolean), include_on_deck: T.nilable(T::Boolean), include_popular_leaves: T.nilable(T::Boolean), include_preferences: T.nilable(T::Boolean), include_reviews: T.nilable(T::Boolean), include_stations: T.nilable(T::Boolean)).void } def initialize(rating_key: nil, async_augment_metadata: nil, async_check_files: nil, async_refresh_analysis: nil, async_refresh_local_media_agent: nil, include_chapters: nil, include_concerts: nil, include_external_media: nil, include_extras: nil, include_on_deck: nil, include_popular_leaves: nil, include_preferences: nil, include_reviews: nil, include_stations: nil) @rating_key = rating_key @async_augment_metadata = async_augment_metadata 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 8ef0b96..a636948 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 @@ -15,25 +15,29 @@ module PlexRubySDK # 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') } } - # Unique identifier for the actor or role. + # The unique identifier for the role. + # NOTE: This is different for each Plex server and is not globally unique. + # field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # The display tag for the actor (typically the actor's name). field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification. + # NOTE: This is globally unique across all Plex Servers. + # + field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } # The role played by the actor in the media item. field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } } - # 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. + # The absolute 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, 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) + 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) @filter = filter @id = id @tag = tag - @role = role @tag_key = tag_key + @role = role @thumb = thumb end @@ -42,8 +46,8 @@ module PlexRubySDK return false unless @filter == other.filter return false unless @id == other.id return false unless @tag == other.tag - return false unless @role == other.role 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_type.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb index 5a82cfb..b6e6ddc 100644 --- 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 @@ -8,7 +8,7 @@ module PlexRubySDK module Models module Operations - # GetMediaMetaDataType - The type of media content + # GetMediaMetaDataType - The type of media content in the Plex library. This can represent videos, music, or photos. # class GetMediaMetaDataType < T::Enum enums do @@ -18,6 +18,10 @@ module PlexRubySDK EPISODE = new('episode') ARTIST = new('artist') ALBUM = new('album') + TRACK = new('track') + PHOTO_ALBUM = new('photoalbum') + PHOTO = new('photo') + COLLECTION = new('collection') end end end 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 58eac7e..43a308e 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 @@ -19,9 +19,9 @@ module PlexRubySDK field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # The role of Writer field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - # A unique key associated with the writers tag, used for internal identification. + # A 24-character hexadecimal unique key associated with the writer’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 writer. + # The absolute URL of the thumbnail image for the writer. field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb index 6719b76..f750266 100644 --- a/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb @@ -8,7 +8,7 @@ module PlexRubySDK module Models module Operations - # GetRecentlyAddedHubsType - The type of media content + # GetRecentlyAddedHubsType - The type of media content in the Plex library. This can represent videos, music, or photos. # class GetRecentlyAddedHubsType < T::Enum enums do @@ -18,6 +18,10 @@ module PlexRubySDK EPISODE = new('episode') ARTIST = new('artist') ALBUM = new('album') + TRACK = new('track') + PHOTO_ALBUM = new('photoalbum') + PHOTO = new('photo') + COLLECTION = new('collection') end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb index 42957a6..4777b5b 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb @@ -27,7 +27,7 @@ module PlexRubySDK field :summary, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } } field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - # The type of media content + # The type of media content in the Plex library. This can represent videos, music, or photos. # field :type, Models::Operations::GetSearchAllLibrariesType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetSearchAllLibrariesType, false) } } diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_type.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_type.rb index 4bbb6ed..48c0e90 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_type.rb @@ -8,7 +8,7 @@ module PlexRubySDK module Models module Operations - # GetSearchAllLibrariesType - The type of media content + # GetSearchAllLibrariesType - The type of media content in the Plex library. This can represent videos, music, or photos. # class GetSearchAllLibrariesType < T::Enum enums do @@ -18,6 +18,10 @@ module PlexRubySDK EPISODE = new('episode') ARTIST = new('artist') ALBUM = new('album') + TRACK = new('track') + PHOTO_ALBUM = new('photoalbum') + PHOTO = new('photo') + COLLECTION = new('collection') end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb index e832538..84fde83 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb @@ -21,9 +21,11 @@ module PlexRubySDK TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) - AUDIO = new(8) - ALBUM = new(9) - TRACK = new(10) + ARTIST = new(5) + ALBUM = new(6) + TRACK = new(7) + PHOTO_ALBUM = new(8) + PHOTO = new(9) end end end diff --git a/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb index e5aac9c..c83c07b 100644 --- a/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb @@ -21,9 +21,11 @@ module PlexRubySDK TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) - AUDIO = new(8) - ALBUM = new(9) - TRACK = new(10) + ARTIST = new(5) + ALBUM = new(6) + TRACK = new(7) + PHOTO_ALBUM = new(8) + PHOTO = new(9) end end end diff --git a/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_mediacontainer.rb index 5007874..dac4cc6 100644 --- a/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_mediacontainer.rb +++ b/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_mediacontainer.rb @@ -13,28 +13,28 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :allow_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } } - - field :identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } } - - field :media_tag_prefix, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagPrefix') } } - - field :media_tag_version, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } } + # Indicates whether syncing is allowed. + field :allow_sync, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } } + # An plugin identifier for the media container. + field :identifier, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } } + # The prefix used for media tag resource paths. + field :media_tag_prefix, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagPrefix') } } + # The version number for media tags. + field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } } + # Number of media items returned in this response. + field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } field :metadata, T.nilable(T::Array[Models::Operations::GetTopWatchedContentMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } - field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } - - sig { params(allow_sync: T.nilable(T::Boolean), identifier: T.nilable(::String), media_tag_prefix: T.nilable(::String), media_tag_version: T.nilable(::Integer), metadata: T.nilable(T::Array[Models::Operations::GetTopWatchedContentMetadata]), size: T.nilable(::Integer)).void } - def initialize(allow_sync: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, size: nil) + sig { params(allow_sync: T::Boolean, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, size: ::Integer, metadata: T.nilable(T::Array[Models::Operations::GetTopWatchedContentMetadata])).void } + def initialize(allow_sync: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, size: nil, metadata: nil) @allow_sync = allow_sync @identifier = identifier @media_tag_prefix = media_tag_prefix @media_tag_version = media_tag_version - @metadata = metadata @size = size + @metadata = metadata end def ==(other) @@ -43,8 +43,8 @@ module PlexRubySDK return false unless @identifier == other.identifier return false unless @media_tag_prefix == other.media_tag_prefix return false unless @media_tag_version == other.media_tag_version - return false unless @metadata == other.metadata return false unless @size == other.size + return false unless @metadata == other.metadata true end end diff --git a/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_includeguids.rb b/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_includeguids.rb new file mode 100644 index 0000000..a589afb --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_includeguids.rb @@ -0,0 +1,21 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # GetTopWatchedContentQueryParamIncludeGuids - Adds the Guid object to the response + # + class GetTopWatchedContentQueryParamIncludeGuids < T::Enum + enums do + DISABLE = new(0) + ENABLE = new(1) + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb index 64473be..141aa7c 100644 --- a/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb @@ -21,9 +21,11 @@ module PlexRubySDK TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) - AUDIO = new(8) - ALBUM = new(9) - TRACK = new(10) + ARTIST = new(5) + ALBUM = new(6) + TRACK = new(7) + PHOTO_ALBUM = new(8) + PHOTO = new(9) end end end diff --git a/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb b/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb index 52460e2..e842309 100644 --- a/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb +++ b/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb @@ -21,12 +21,12 @@ module PlexRubySDK # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries # field :type, Models::Operations::GetTopWatchedContentQueryParamType, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } } - # Adds the Guids object to the response + # Adds the Guid object to the response # - field :include_guids, T.nilable(::Integer), { 'query_param': { 'field_name': 'includeGuids', 'style': 'form', 'explode': true } } + field :include_guids, T.nilable(Models::Operations::GetTopWatchedContentQueryParamIncludeGuids), { 'query_param': { 'field_name': 'includeGuids', 'style': 'form', 'explode': true } } - sig { params(type: Models::Operations::GetTopWatchedContentQueryParamType, include_guids: T.nilable(::Integer)).void } + sig { params(type: Models::Operations::GetTopWatchedContentQueryParamType, include_guids: T.nilable(Models::Operations::GetTopWatchedContentQueryParamIncludeGuids)).void } def initialize(type: nil, include_guids: nil) @type = type @include_guids = include_guids diff --git a/lib/plex_ruby_sdk/models/operations/guids.rb b/lib/plex_ruby_sdk/models/operations/guids.rb index 997aa38..725c362 100644 --- a/lib/plex_ruby_sdk/models/operations/guids.rb +++ b/lib/plex_ruby_sdk/models/operations/guids.rb @@ -13,12 +13,12 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337 + # The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb:// # - field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - sig { params(id: T.nilable(::String)).void } + sig { params(id: ::String).void } def initialize(id: nil) @id = id end diff --git a/lib/plex_ruby_sdk/models/operations/producer.rb b/lib/plex_ruby_sdk/models/operations/producer.rb index be5f759..53bd737 100644 --- a/lib/plex_ruby_sdk/models/operations/producer.rb +++ b/lib/plex_ruby_sdk/models/operations/producer.rb @@ -19,13 +19,14 @@ module PlexRubySDK field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # The name of the producer field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - # A unique key associated with the producer'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. + # A 24-character hexadecimal unique key associated with the producer's tag, used for internal identification. + # + field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } + # The absolute URL of the thumbnail image for the producer. field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } - sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: T.nilable(::String), thumb: T.nilable(::String)).void } + sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, thumb: T.nilable(::String)).void } def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, thumb: nil) @filter = filter @id = id diff --git a/lib/plex_ruby_sdk/models/operations/queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/queryparam_type.rb index e92089c..45bdbaa 100644 --- a/lib/plex_ruby_sdk/models/operations/queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/queryparam_type.rb @@ -21,9 +21,11 @@ module PlexRubySDK TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) - AUDIO = new(8) - ALBUM = new(9) - TRACK = new(10) + ARTIST = new(5) + ALBUM = new(6) + TRACK = new(7) + PHOTO_ALBUM = new(8) + PHOTO = new(9) end end end diff --git a/lib/plex_ruby_sdk/models/operations/rating.rb b/lib/plex_ruby_sdk/models/operations/rating.rb index 84ca80e..b1be9d4 100644 --- a/lib/plex_ruby_sdk/models/operations/rating.rb +++ b/lib/plex_ruby_sdk/models/operations/rating.rb @@ -13,7 +13,7 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - + # The URL for the rating image, for example from IMDb. field :image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('image') } } field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } diff --git a/lib/plex_ruby_sdk/models/operations/role.rb b/lib/plex_ruby_sdk/models/operations/role.rb index 92bfdf2..e9fb220 100644 --- a/lib/plex_ruby_sdk/models/operations/role.rb +++ b/lib/plex_ruby_sdk/models/operations/role.rb @@ -15,25 +15,29 @@ module PlexRubySDK # 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') } } - # Unique identifier for the actor or role. + # The unique identifier for the role. + # NOTE: This is different for each Plex server and is not globally unique. + # field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # The display tag for the actor (typically the actor's name). field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification. + # NOTE: This is globally unique across all Plex Servers. + # + field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } # The role played by the actor in the media item. field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } } - # 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. + # The absolute 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, 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) + 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) @filter = filter @id = id @tag = tag - @role = role @tag_key = tag_key + @role = role @thumb = thumb end @@ -42,8 +46,8 @@ module PlexRubySDK return false unless @filter == other.filter return false unless @id == other.id return false unless @tag == other.tag - return false unless @role == other.role 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/type.rb b/lib/plex_ruby_sdk/models/operations/type.rb index 0a5c240..9dee0e7 100644 --- a/lib/plex_ruby_sdk/models/operations/type.rb +++ b/lib/plex_ruby_sdk/models/operations/type.rb @@ -21,9 +21,11 @@ module PlexRubySDK TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) - AUDIO = new(8) - ALBUM = new(9) - TRACK = new(10) + ARTIST = new(5) + ALBUM = new(6) + TRACK = new(7) + PHOTO_ALBUM = new(8) + PHOTO = new(9) end end end diff --git a/lib/plex_ruby_sdk/models/operations/writer.rb b/lib/plex_ruby_sdk/models/operations/writer.rb index 7cd2b79..5404e3f 100644 --- a/lib/plex_ruby_sdk/models/operations/writer.rb +++ b/lib/plex_ruby_sdk/models/operations/writer.rb @@ -19,16 +19,19 @@ module PlexRubySDK field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # The role of Writer field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - # A unique key associated with the writers tag, used for internal identification. + # A 24-character hexadecimal unique key associated with the writer’s tag, used for internal identification. field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } + # The absolute 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: T.nilable(::String)).void } - def initialize(filter: nil, id: nil, tag: nil, tag_key: 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 + @thumb = thumb end def ==(other) @@ -37,6 +40,7 @@ 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 @thumb == other.thumb true end end diff --git a/lib/plex_ruby_sdk/sdkconfiguration.rb b/lib/plex_ruby_sdk/sdkconfiguration.rb index 6a1b198..b485e30 100644 --- a/lib/plex_ruby_sdk/sdkconfiguration.rb +++ b/lib/plex_ruby_sdk/sdkconfiguration.rb @@ -66,9 +66,9 @@ module PlexRubySDK end @language = 'ruby' @openapi_doc_version = '0.0.3' - @sdk_version = '0.13.1' + @sdk_version = '0.15.0' @gen_version = '2.570.4' - @user_agent = 'speakeasy-sdk/ruby 0.13.1 2.570.4 0.0.3 plex_ruby_sdk' + @user_agent = 'speakeasy-sdk/ruby 0.15.0 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 f310a6b..ab4ec90 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.13.1' + s.version = '0.15.0' s.platform = Gem::Platform::RUBY s.licenses = ['Apache-2.0'] s.summary = ''