diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 220f102..8d80c62 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: b2624bb972abebc11eff6d460c59de68 + docChecksum: 77bdddd188d0778dc73b7f7906e1677c docVersion: 0.0.3 speakeasyVersion: 1.531.4 generationVersion: 2.570.4 - releaseVersion: 0.15.0 - configChecksum: 8b48906f585b923403724afef31b2f99 + releaseVersion: 0.17.0 + configChecksum: 6af8bfee0a68b4f46af0597435d34c6f repoURL: https://github.com/LukeHagar/plexruby.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexruby @@ -392,9 +392,7 @@ generatedFiles: - docs/models/operations/director.md - docs/models/operations/directory.md - docs/models/operations/download.md - - docs/models/operations/enablecreditsmarkergeneration.md - docs/models/operations/enablepapertrailresponse.md - - docs/models/operations/episodesort.md - docs/models/operations/extras.md - docs/models/operations/feature.md - docs/models/operations/field.md @@ -490,17 +488,11 @@ generatedFiles: - docs/models/operations/getlibraryitemsfieldtype.md - docs/models/operations/getlibraryitemsfilter.md - docs/models/operations/getlibraryitemsgenre.md + - docs/models/operations/getlibraryitemsguids.md - docs/models/operations/getlibraryitemshasthumbnail.md - docs/models/operations/getlibraryitemsimage.md - - docs/models/operations/getlibraryitemslibraryactivedirection.md - - docs/models/operations/getlibraryitemslibrarydefaultdirection.md - - docs/models/operations/getlibraryitemslibraryfield.md - - docs/models/operations/getlibraryitemslibraryfieldtype.md - - docs/models/operations/getlibraryitemslibraryfilter.md - - docs/models/operations/getlibraryitemslibraryoperator.md - - docs/models/operations/getlibraryitemslibraryresponse200type.md + - docs/models/operations/getlibraryitemslibraryoptimizedforstreaming.md - docs/models/operations/getlibraryitemslibraryresponsetype.md - - docs/models/operations/getlibraryitemslibrarysort.md - docs/models/operations/getlibraryitemslibrarytype.md - docs/models/operations/getlibraryitemslocation.md - docs/models/operations/getlibraryitemsmedia.md @@ -509,15 +501,17 @@ generatedFiles: - docs/models/operations/getlibraryitemsmetadata.md - docs/models/operations/getlibraryitemsoperator.md - docs/models/operations/getlibraryitemsoptimizedforstreaming.md + - docs/models/operations/getlibraryitemsoptimizedforstreaming1.md - docs/models/operations/getlibraryitemspart.md + - docs/models/operations/getlibraryitemsproducer.md - docs/models/operations/getlibraryitemsqueryparamincludemeta.md - docs/models/operations/getlibraryitemsqueryparamtype.md - docs/models/operations/getlibraryitemsrequest.md - docs/models/operations/getlibraryitemsresponse.md - docs/models/operations/getlibraryitemsresponsebody.md - docs/models/operations/getlibraryitemsrole.md + - docs/models/operations/getlibraryitemssimilar.md - docs/models/operations/getlibraryitemssort.md - - docs/models/operations/getlibraryitemsstream.md - docs/models/operations/getlibraryitemstype.md - docs/models/operations/getlibraryitemsultrablurcolors.md - docs/models/operations/getlibraryitemswriter.md @@ -543,6 +537,7 @@ generatedFiles: - docs/models/operations/getlibrarysectionsalloperator.md - docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md - docs/models/operations/getlibrarysectionsalloptimizedforstreaming1.md + - docs/models/operations/getlibrarysectionsalloptimizedforstreaminglibrary1.md - docs/models/operations/getlibrarysectionsallpart.md - docs/models/operations/getlibrarysectionsallqueryparamincludemeta.md - docs/models/operations/getlibrarysectionsallqueryparamtype.md @@ -552,7 +547,6 @@ generatedFiles: - 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 @@ -561,8 +555,11 @@ generatedFiles: - docs/models/operations/getmediaartsrequest.md - docs/models/operations/getmediaartsresponse.md - docs/models/operations/getmediaartsresponsebody.md + - docs/models/operations/getmediametadataattributes.md + - docs/models/operations/getmediametadatachapter.md - docs/models/operations/getmediametadatacountry.md - docs/models/operations/getmediametadatadirector.md + - docs/models/operations/getmediametadataextras.md - docs/models/operations/getmediametadatagenre.md - docs/models/operations/getmediametadataguids.md - docs/models/operations/getmediametadatahasthumbnail.md @@ -570,6 +567,7 @@ generatedFiles: - docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md - docs/models/operations/getmediametadatalibrarytype.md - docs/models/operations/getmediametadatalocation.md + - docs/models/operations/getmediametadatamarker.md - docs/models/operations/getmediametadatamedia.md - docs/models/operations/getmediametadatamediacontainer.md - docs/models/operations/getmediametadatametadata.md @@ -578,13 +576,13 @@ generatedFiles: - docs/models/operations/getmediametadataoptimizedforstreaminglibrary1.md - docs/models/operations/getmediametadatapart.md - docs/models/operations/getmediametadataproducer.md + - docs/models/operations/getmediametadataratings.md - docs/models/operations/getmediametadatarequest.md - docs/models/operations/getmediametadataresponse.md - docs/models/operations/getmediametadataresponsebody.md - docs/models/operations/getmediametadatarole.md - docs/models/operations/getmediametadatasimilar.md - docs/models/operations/getmediametadatastream.md - - docs/models/operations/getmediametadatastreamtype.md - docs/models/operations/getmediametadatatype.md - docs/models/operations/getmediametadataultrablurcolors.md - docs/models/operations/getmediametadatawriter.md @@ -672,23 +670,23 @@ generatedFiles: - docs/models/operations/getresourcesstatisticsrequest.md - docs/models/operations/getresourcesstatisticsresponse.md - docs/models/operations/getresourcesstatisticsresponsebody.md - - docs/models/operations/getsearchalllibrariescollection.md - docs/models/operations/getsearchalllibrariescountry.md - docs/models/operations/getsearchalllibrariesdirector.md - - docs/models/operations/getsearchalllibrariesenablecreditsmarkergeneration.md - - docs/models/operations/getsearchalllibrariesepisodesort.md + - docs/models/operations/getsearchalllibrariesdirectory.md - docs/models/operations/getsearchalllibrariesflattenseasons.md - docs/models/operations/getsearchalllibrariesgenre.md + - docs/models/operations/getsearchalllibrariesguids.md - docs/models/operations/getsearchalllibrarieshasthumbnail.md - docs/models/operations/getsearchalllibrariesimage.md + - docs/models/operations/getsearchalllibrarieslibraryoptimizedforstreaming.md - docs/models/operations/getsearchalllibrarieslibrarytype.md - docs/models/operations/getsearchalllibrarieslocation.md - docs/models/operations/getsearchalllibrariesmedia.md - docs/models/operations/getsearchalllibrariesmediacontainer.md - - docs/models/operations/getsearchalllibrariesmediaguid.md - docs/models/operations/getsearchalllibrariesmetadata.md - - docs/models/operations/getsearchalllibrariesmetadatarating.md - docs/models/operations/getsearchalllibrariesoptimizedforstreaming.md + - docs/models/operations/getsearchalllibrariesoptimizedforstreaming1.md + - docs/models/operations/getsearchalllibrariesoptimizedforstreaminglibrary1.md - docs/models/operations/getsearchalllibrariespart.md - docs/models/operations/getsearchalllibrariesqueryparamincludecollections.md - docs/models/operations/getsearchalllibrariesqueryparamincludeexternalmedia.md @@ -697,7 +695,6 @@ generatedFiles: - docs/models/operations/getsearchalllibrariesresponsebody.md - docs/models/operations/getsearchalllibrariesrole.md - docs/models/operations/getsearchalllibrariesshowordering.md - - docs/models/operations/getsearchalllibrariesstream.md - docs/models/operations/getsearchalllibrariestype.md - docs/models/operations/getsearchalllibrariesultrablurcolors.md - docs/models/operations/getsearchalllibrarieswriter.md @@ -830,12 +827,10 @@ generatedFiles: - docs/models/operations/markunplayedresponse.md - docs/models/operations/media.md - docs/models/operations/mediacontainer.md - - docs/models/operations/mediaguid.md - docs/models/operations/mediaprovider.md - docs/models/operations/mediareviewsvisibility.md - docs/models/operations/meta.md - docs/models/operations/metadata.md - - docs/models/operations/metadatarating.md - docs/models/operations/minsize.md - docs/models/operations/myplex.md - docs/models/operations/one.md @@ -927,7 +922,6 @@ generatedFiles: - docs/models/operations/stoptranscodesessionrequest.md - docs/models/operations/stoptranscodesessionresponse.md - docs/models/operations/stream.md - - docs/models/operations/streamtype.md - docs/models/operations/subscription.md - docs/models/operations/tag.md - docs/models/operations/taskname.md @@ -1342,9 +1336,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/director.rb - lib/plex_ruby_sdk/models/operations/directory.rb - lib/plex_ruby_sdk/models/operations/download.rb - - lib/plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb - lib/plex_ruby_sdk/models/operations/enablepapertrail_response.rb - - lib/plex_ruby_sdk/models/operations/episodesort.rb - lib/plex_ruby_sdk/models/operations/extras.rb - lib/plex_ruby_sdk/models/operations/feature.rb - lib/plex_ruby_sdk/models/operations/field.rb @@ -1401,17 +1393,11 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_library_items_fieldtype.rb - lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb - lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_guids.rb - lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb - lib/plex_ruby_sdk/models/operations/get_library_items_image.rb - - lib/plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb - - lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb - - lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb - - lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb - - lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb - - lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb - - lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_library_optimizedforstreaming.rb - lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb - - lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb - lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb - lib/plex_ruby_sdk/models/operations/get_library_items_location.rb - lib/plex_ruby_sdk/models/operations/get_library_items_media.rb @@ -1420,15 +1406,17 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb - lib/plex_ruby_sdk/models/operations/get_library_items_operator.rb - lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming_1.rb - lib/plex_ruby_sdk/models/operations/get_library_items_part.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_producer.rb - lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_includemeta.rb - lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb - lib/plex_ruby_sdk/models/operations/get_library_items_request.rb - lib/plex_ruby_sdk/models/operations/get_library_items_response.rb - lib/plex_ruby_sdk/models/operations/get_library_items_responsebody.rb - lib/plex_ruby_sdk/models/operations/get_library_items_role.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_similar.rb - lib/plex_ruby_sdk/models/operations/get_library_items_sort.rb - - lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb - 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 @@ -1454,6 +1442,7 @@ generatedFiles: - 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_optimizedforstreaming_library_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 @@ -1463,7 +1452,6 @@ generatedFiles: - 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 @@ -1472,8 +1460,11 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_media_arts_request.rb - lib/plex_ruby_sdk/models/operations/get_media_arts_response.rb - lib/plex_ruby_sdk/models/operations/get_media_arts_responsebody.rb + - lib/plex_ruby_sdk/models/operations/get_media_meta_data_attributes.rb + - lib/plex_ruby_sdk/models/operations/get_media_meta_data_chapter.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_country.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_director.rb + - lib/plex_ruby_sdk/models/operations/get_media_meta_data_extras.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb @@ -1481,6 +1472,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_type.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_location.rb + - lib/plex_ruby_sdk/models/operations/get_media_meta_data_marker.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb @@ -1489,13 +1481,13 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_media_meta_data_optimizedforstreaming_library_1.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_producer.rb + - lib/plex_ruby_sdk/models/operations/get_media_meta_data_ratings.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_request.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_response.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_responsebody.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_similar.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb - - lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_ultrablurcolors.rb - lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb @@ -1543,23 +1535,23 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_recently_added_type.rb - lib/plex_ruby_sdk/models/operations/get_refresh_library_metadata_request.rb - lib/plex_ruby_sdk/models/operations/get_refresh_library_metadata_response.rb - - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_collection.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb - - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_enablecreditsmarkergeneration.rb - - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_episodesort.rb + - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_directory.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb + - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_guids.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_image.rb + - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_type.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb - - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediaguid.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb - - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb + - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_1.rb + - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_library_1.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_queryparam_includecollections.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_queryparam_includeexternalmedia.rb @@ -1568,7 +1560,6 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_responsebody.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb - - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_stream.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_type.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_ultrablurcolors.rb - lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb @@ -1780,12 +1771,10 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/markunplayed_response.rb - lib/plex_ruby_sdk/models/operations/media.rb - lib/plex_ruby_sdk/models/operations/mediacontainer.rb - - lib/plex_ruby_sdk/models/operations/mediaguid.rb - lib/plex_ruby_sdk/models/operations/mediaprovider.rb - lib/plex_ruby_sdk/models/operations/mediareviewsvisibility.rb - lib/plex_ruby_sdk/models/operations/meta.rb - lib/plex_ruby_sdk/models/operations/metadata.rb - - lib/plex_ruby_sdk/models/operations/metadatarating.rb - lib/plex_ruby_sdk/models/operations/minsize.rb - lib/plex_ruby_sdk/models/operations/myplex.rb - lib/plex_ruby_sdk/models/operations/one.rb @@ -1877,7 +1866,6 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/stoptranscodesession_request.rb - lib/plex_ruby_sdk/models/operations/stoptranscodesession_response.rb - lib/plex_ruby_sdk/models/operations/stream.rb - - lib/plex_ruby_sdk/models/operations/streamtype.rb - lib/plex_ruby_sdk/models/operations/subscription.rb - lib/plex_ruby_sdk/models/operations/tag.rb - lib/plex_ruby_sdk/models/operations/taskname.rb @@ -2326,7 +2314,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"}, "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"}]}]}} + 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": 16331, "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": 56072, "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": 765072, "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": 122622, "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": 813665, "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"}, {"id": 259, "tag": "United States of America", "filter": "country=19"}, {"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"}], "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"}, {"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}, {"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}], "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"}, "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": 171582, "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": 499018, "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": 814997, "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"}, {"id": 259, "filter": "genre=19", "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}, {"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"}, {"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"}, {"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} getLibraryHubs: speakeasy-default-get-library-hubs: parameters: @@ -2448,9 +2436,9 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"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": "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}], "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"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": []}], "size": 70, "totalSize": 170, "offset": 0, "content": "secondary", "allowSync": true, "nocache": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1701731894, "thumb": "/:/resources/movie.png", "title1": "Movies", "title2": "Recently Released", "viewGroup": "movie", "viewMode": 65592, "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": []}], "Genre": [{"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 3, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "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"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}]}]}}} + application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "content": "secondary", "allowSync": false, "nocache": true, "art": "/:/resources/show-fanart.jpg", "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", "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "viewMode": "131131", "mixedParents": true, "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", "banner": "/library/metadata/58683/banner/1703239236", "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\"}}"}], "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "showOrdering": "absolute", "flattenSeasons": "1", "skipChildren": false, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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"}, {"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"}, {"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"}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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"}, {"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"}, {"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"}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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"}, {"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"}, {"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"}]}], "Genre": [{"id": 259, "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America"}, {"id": 259, "tag": "United States of America"}, {"id": 259, "tag": "United States of America"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Jamie P. Hanson", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Collection": [{"tag": "My Awesome Collection"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "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"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}], "Chapter": [{"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", "banner": "/library/metadata/58683/banner/1703239236", "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\"}}"}], "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "showOrdering": "absolute", "flattenSeasons": "1", "skipChildren": false, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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"}, {"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"}, {"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"}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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"}]}], "Genre": [{"id": 259, "tag": "Crime"}, {"id": 259, "tag": "Crime"}, {"id": 259, "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America"}, {"id": 259, "tag": "United States of America"}, {"id": 259, "tag": "United States of America"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Jamie P. Hanson", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "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/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}], "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}}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "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": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "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"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}}} "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}]} get-library-sections-all: @@ -2469,11 +2457,11 @@ 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}, {"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"}]}]}} + 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": 811913, "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": 548492, "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": 515578, "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": 122851, "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": 394553, "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": 239141, "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"}, {"tag": "Teller"}], "Collection": [{"tag": "My Awesome 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"}, {"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": 930142, "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": 364548, "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": 606123, "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": 281608, "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": 316729, "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": 774019, "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": 875904, "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": 781960, "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": 19590, "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": 899608, "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": 532904, "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": 429740, "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": 156451, "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": 746004, "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"}]}, {"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": 721930, "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": 832824, "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": 529196, "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": 808229, "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": 648867, "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": 599490, "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": 575357, "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": 985759, "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": 122799, "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": 85420, "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": 618513, "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": 294873, "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": 871448, "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": 944898, "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": 434400, "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"}, {"tag": "United States of America"}], "Director": [{"tag": "Danny Boyle"}], "Writer": [{"tag": "Jamie P. Hanson"}], "Role": [{"tag": "Teller"}, {"tag": "Teller"}], "Collection": [{"tag": "My Awesome Collection"}]}]}} "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}]} get-refresh-library-metadata: speakeasy-default-get-refresh-library-metadata: parameters: @@ -2554,11 +2542,11 @@ examples: X-Plex-Client-Identifier: "3381b62b-9ab7-4e37-827b-203e9809eb58" responses: "200": - application/json: {"MediaContainer": {"size": 9266.91, "SearchResult": [{"score": 2698.71, "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}, {"score": 8744.37, "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": []}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}, {"score": 6729.16, "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}, {"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}]}} + application/json: {"MediaContainer": {"size": 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, "SearchResult": [{"score": 0.92, "Directory": {"key": "/library/sections/3/all?actor=197429", "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "type": "tag", "id": 197429, "filter": "actor=197429", "tag": "Ben Stiller", "tagKey": "5d776826999c64001ec2c606", "thumb": "https://metadata-static.plex.tv/5/people/57bd7c7d6c5c9e2881251b30e5603d3d.jpg", "count": 10}, "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", "banner": "/library/metadata/58683/banner/1703239236", "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, "parentYear": 2010, "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\"}}"}], "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "showOrdering": "absolute", "flattenSeasons": "1", "skipChildren": false, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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"}, {"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"}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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"}, {"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"}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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"}, {"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"}, {"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"}]}], "Genre": [{"id": 259, "tag": "Crime"}, {"id": 259, "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America"}, {"id": 259, "tag": "United States of America"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Jamie P. Hanson", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Jamie P. Hanson", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}]}}, {"score": 0.92, "Directory": {"key": "/library/sections/3/all?actor=197429", "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "type": "tag", "id": 197429, "filter": "actor=197429", "tag": "Ben Stiller", "tagKey": "5d776826999c64001ec2c606", "thumb": "https://metadata-static.plex.tv/5/people/57bd7c7d6c5c9e2881251b30e5603d3d.jpg", "count": 10}, "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", "banner": "/library/metadata/58683/banner/1703239236", "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, "parentYear": 2010, "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\"}}"}], "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "showOrdering": "absolute", "flattenSeasons": "1", "skipChildren": false, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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"}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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"}, {"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"}]}], "Genre": [{"id": 259, "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America"}, {"id": 259, "tag": "United States of America"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}]}}, {"score": 0.92, "Directory": {"key": "/library/sections/3/all?actor=197429", "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "type": "tag", "id": 197429, "filter": "actor=197429", "tag": "Ben Stiller", "tagKey": "5d776826999c64001ec2c606", "thumb": "https://metadata-static.plex.tv/5/people/57bd7c7d6c5c9e2881251b30e5603d3d.jpg", "count": 10}, "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", "banner": "/library/metadata/58683/banner/1703239236", "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, "parentYear": 2010, "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\"}}"}, {"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\"}}"}], "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "showOrdering": "absolute", "flattenSeasons": "1", "skipChildren": false, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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"}, {"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"}, {"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"}]}], "Genre": [{"id": 259, "tag": "Crime"}, {"id": 259, "tag": "Crime"}, {"id": 259, "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}]}}]}} "400": - application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": - application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"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-meta-data: speakeasy-default-get-media-meta-data: parameters: @@ -2580,11 +2568,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"}, {"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}}]}} + 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": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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": 848775, "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": 207161, "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": 321010, "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": 390352, "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": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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": 795668, "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": 424616, "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": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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": 29208, "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": 493947, "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": 357105, "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"}], "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"}, {"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"}], "Similar": [{"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": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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": 875144, "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": 633740, "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": 596563, "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": 290704, "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": 56662, "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": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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": 735781, "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": 804626, "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": 685991, "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": 631861, "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"}], "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"}], "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"}, {"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"}, {"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"}], "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": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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": 561508, "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": 943547, "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": 900528, "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": 561574, "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": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "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": 631574, "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": 185669, "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": 840863, "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": 712169, "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": 546415, "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"}, {"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"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Similar": [{"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"}], "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}}]}} "400": - application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": - application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"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}]} get-media-arts: speakeasy-default-get-media-arts: parameters: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index decb9c6..523d612 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -17,11 +17,12 @@ generation: oAuth2ClientCredentialsEnabled: false oAuth2PasswordEnabled: false ruby: - version: 0.15.0 + version: 0.17.0 additionalDependencies: development: {} runtime: {} author: LukeHagar + baseErrorName: PlexAPIError clientServerStatusCodesAsErrors: true defaultErrorName: APIError description: Ruby Client SDK Generated by Speakeasy diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 48e44a7..48d51ed 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -9,19 +9,19 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0 - sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4 + sourceRevisionDigest: sha256:dafcc1192236829b85bc924e0462432c0eb7318a17c542f46e3dd05a9a6265df + sourceBlobDigest: sha256:bc072115d585e1695cb8393db901a3d36be1dcd57a69bad2b91a1ba7ac3c9c4b tags: - latest - - speakeasy-sdk-regen-1749082164 + - speakeasy-sdk-regen-1749514160 targets: plexruby: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0 - sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4 + sourceRevisionDigest: sha256:dafcc1192236829b85bc924e0462432c0eb7318a17c542f46e3dd05a9a6265df + sourceBlobDigest: sha256:bc072115d585e1695cb8393db901a3d36be1dcd57a69bad2b91a1ba7ac3c9c4b codeSamplesNamespace: code-samples-ruby-plexruby - codeSamplesRevisionDigest: sha256:8762b4797b28c7f1c47bdbc7aa0b2e2c1b5a9c0b9596cd2c3cfb9ed7b6601caa + codeSamplesRevisionDigest: sha256:6ac6bdd7073c884405e9dec6a3da0ef384298796003a1bd47f301acba68ad948 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/Gemfile.lock b/Gemfile.lock index bc007b7..2e3bfb7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - plex_ruby_sdk (0.15.0) + plex_ruby_sdk (0.17.0) faraday faraday-multipart faraday-retry (~> 2.2.1) diff --git a/RELEASES.md b/RELEASES.md index c679222..a49da58 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -826,4 +826,14 @@ Based on: ### 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 +- [Ruby Gems v0.15.0] https://rubygems.org/gems/plex_ruby_sdk/versions/0.15.0 - . + +## 2025-06-10 00:09:04 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.531.4 (2.570.4) https://github.com/speakeasy-api/speakeasy +### Generated +- [ruby v0.17.0] . +### Releases +- [Ruby Gems v0.17.0] https://rubygems.org/gems/plex_ruby_sdk/versions/0.17.0 - . \ No newline at end of file diff --git a/docs/models/operations/enablecreditsmarkergeneration.md b/docs/models/operations/enablecreditsmarkergeneration.md deleted file mode 100644 index 204050a..0000000 --- a/docs/models/operations/enablecreditsmarkergeneration.md +++ /dev/null @@ -1,11 +0,0 @@ -# EnableCreditsMarkerGeneration - -Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - - -## Values - -| Name | Value | -| ----------------- | ----------------- | -| `LIBRARY_DEFAULT` | -1 | -| `DISABLED` | 0 | \ No newline at end of file diff --git a/docs/models/operations/episodesort.md b/docs/models/operations/episodesort.md deleted file mode 100644 index 2672832..0000000 --- a/docs/models/operations/episodesort.md +++ /dev/null @@ -1,12 +0,0 @@ -# EpisodeSort - -Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - - -## Values - -| Name | Value | -| ----------------- | ----------------- | -| `LIBRARY_DEFAULT` | -1 | -| `OLDEST_FIRST` | 0 | -| `NEWEST_FIRST` | 1 | \ No newline at end of file diff --git a/docs/models/operations/flattenseasons.md b/docs/models/operations/flattenseasons.md index cd012fd..7106305 100644 --- a/docs/models/operations/flattenseasons.md +++ b/docs/models/operations/flattenseasons.md @@ -3,6 +3,7 @@ Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). + ## Values | Name | Value | diff --git a/docs/models/operations/getactorslibrarymediacontainer.md b/docs/models/operations/getactorslibrarymediacontainer.md index 7d8030f..ea03723 100644 --- a/docs/models/operations/getactorslibrarymediacontainer.md +++ b/docs/models/operations/getactorslibrarymediacontainer.md @@ -16,5 +16,5 @@ | `title1` | *::String* | :heavy_check_mark: | The primary title of the media container. | TV Series | | `title2` | *::String* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor | | `view_group` | *::String* | :heavy_check_mark: | Identifier for the view group layout. | secondary | -| `view_mode` | *::String* | :heavy_check_mark: | Identifier for the view mode. | 131131 | +| `view_mode` | *T.nilable(::String)* | :heavy_minus_sign: | Identifier for the view mode. | 131131 | | `directory` | T::Array<[Models::Operations::GetActorsLibraryDirectory](../../models/operations/getactorslibrarydirectory.md)> | :heavy_minus_sign: | An array of actor entries for media items. | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemscollection.md b/docs/models/operations/getlibraryitemscollection.md index 03aacb6..bcec2fb 100644 --- a/docs/models/operations/getlibraryitemscollection.md +++ b/docs/models/operations/getlibraryitemscollection.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Working NL Subs | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `tag` | *::String* | :heavy_check_mark: | The user-made collection this media item belongs to | My Awesome Collection | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemscountry.md b/docs/models/operations/getlibraryitemscountry.md index 48b051e..568d48b 100644 --- a/docs/models/operations/getlibraryitemscountry.md +++ b/docs/models/operations/getlibraryitemscountry.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | United States of America | \ 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 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsdirector.md b/docs/models/operations/getlibraryitemsdirector.md index 5bfd848..fbb5910 100644 --- a/docs/models/operations/getlibraryitemsdirector.md +++ b/docs/models/operations/getlibraryitemsdirector.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | James Cameron | \ 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 | +| `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/getlibraryitemsfilter.md b/docs/models/operations/getlibraryitemsfilter.md index 1b7662d..085cd13 100644 --- a/docs/models/operations/getlibraryitemsfilter.md +++ b/docs/models/operations/getlibraryitemsfilter.md @@ -9,5 +9,4 @@ | `filter_type` | *::String* | :heavy_check_mark: | N/A | string | | `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | | `title` | *::String* | :heavy_check_mark: | N/A | Genre | -| `type` | *::String* | :heavy_check_mark: | N/A | filter | -| `advanced` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | \ No newline at end of file +| `type` | *::String* | :heavy_check_mark: | N/A | filter | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsgenre.md b/docs/models/operations/getlibraryitemsgenre.md index 2f897b8..105cc20 100644 --- a/docs/models/operations/getlibraryitemsgenre.md +++ b/docs/models/operations/getlibraryitemsgenre.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Adventure | \ 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 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsguids.md b/docs/models/operations/getlibraryitemsguids.md new file mode 100644 index 0000000..86c174a --- /dev/null +++ b/docs/models/operations/getlibraryitemsguids.md @@ -0,0 +1,8 @@ +# GetLibraryItemsGuids + + +## 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/getlibraryitemshasthumbnail.md b/docs/models/operations/getlibraryitemshasthumbnail.md index ceb4ca0..bb7b1de 100644 --- a/docs/models/operations/getlibraryitemshasthumbnail.md +++ b/docs/models/operations/getlibraryitemshasthumbnail.md @@ -1,5 +1,8 @@ # GetLibraryItemsHasThumbnail +Indicates if the part has a thumbnail. + + ## Values diff --git a/docs/models/operations/getlibraryitemsimage.md b/docs/models/operations/getlibraryitemsimage.md index 898b7c4..3545a67 100644 --- a/docs/models/operations/getlibraryitemsimage.md +++ b/docs/models/operations/getlibraryitemsimage.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -| `alt` | *::String* | :heavy_check_mark: | N/A | Episode 1 | -| `type` | [Models::Operations::GetLibraryItemsLibraryResponse200Type](../../models/operations/getlibraryitemslibraryresponse200type.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 +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `alt` | *::String* | :heavy_check_mark: | N/A | Episode 1 | +| `type` | [Models::Operations::GetLibraryItemsLibraryResponseType](../../models/operations/getlibraryitemslibraryresponsetype.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/getlibraryitemslibraryactivedirection.md b/docs/models/operations/getlibraryitemslibraryactivedirection.md deleted file mode 100644 index 5252490..0000000 --- a/docs/models/operations/getlibraryitemslibraryactivedirection.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetLibraryItemsLibraryActiveDirection - -The direction of the sort. Can be either `asc` or `desc`. - - - -## Values - -| Name | Value | -| ------------ | ------------ | -| `ASCENDING` | asc | -| `DESCENDING` | desc | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibrarydefaultdirection.md b/docs/models/operations/getlibraryitemslibrarydefaultdirection.md deleted file mode 100644 index 111d709..0000000 --- a/docs/models/operations/getlibraryitemslibrarydefaultdirection.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetLibraryItemsLibraryDefaultDirection - -The direction of the sort. Can be either `asc` or `desc`. - - - -## Values - -| Name | Value | -| ------------ | ------------ | -| `ASCENDING` | asc | -| `DESCENDING` | desc | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryfield.md b/docs/models/operations/getlibraryitemslibraryfield.md deleted file mode 100644 index 01ab2be..0000000 --- a/docs/models/operations/getlibraryitemslibraryfield.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetLibraryItemsLibraryField - - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `key` | *::String* | :heavy_check_mark: | N/A | show.title | -| `title` | *::String* | :heavy_check_mark: | N/A | Show Title | -| `type` | *::String* | :heavy_check_mark: | N/A | string | -| `sub_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rating | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryfieldtype.md b/docs/models/operations/getlibraryitemslibraryfieldtype.md deleted file mode 100644 index 952b7d6..0000000 --- a/docs/models/operations/getlibraryitemslibraryfieldtype.md +++ /dev/null @@ -1,9 +0,0 @@ -# GetLibraryItemsLibraryFieldType - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -| `type` | *::String* | :heavy_check_mark: | N/A | tag | -| `operator` | T::Array<[Models::Operations::GetLibraryItemsLibraryOperator](../../models/operations/getlibraryitemslibraryoperator.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryfilter.md b/docs/models/operations/getlibraryitemslibraryfilter.md deleted file mode 100644 index 18880f9..0000000 --- a/docs/models/operations/getlibraryitemslibraryfilter.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetLibraryItemsLibraryFilter - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -| `filter` | *::String* | :heavy_check_mark: | N/A | genre | -| `filter_type` | *::String* | :heavy_check_mark: | N/A | string | -| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | -| `title` | *::String* | :heavy_check_mark: | N/A | Genre | -| `type` | *::String* | :heavy_check_mark: | N/A | filter | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryoperator.md b/docs/models/operations/getlibraryitemslibraryoperator.md deleted file mode 100644 index c474dcb..0000000 --- a/docs/models/operations/getlibraryitemslibraryoperator.md +++ /dev/null @@ -1,9 +0,0 @@ -# GetLibraryItemsLibraryOperator - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `key` | *::String* | :heavy_check_mark: | N/A | = | -| `title` | *::String* | :heavy_check_mark: | N/A | is | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryoptimizedforstreaming.md b/docs/models/operations/getlibraryitemslibraryoptimizedforstreaming.md new file mode 100644 index 0000000..a56a8e2 --- /dev/null +++ b/docs/models/operations/getlibraryitemslibraryoptimizedforstreaming.md @@ -0,0 +1,5 @@ +# GetLibraryItemsLibraryOptimizedForStreaming + +Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + + diff --git a/docs/models/operations/getlibraryitemslibraryresponse200type.md b/docs/models/operations/getlibraryitemslibraryresponse200type.md deleted file mode 100644 index b4e85e1..0000000 --- a/docs/models/operations/getlibraryitemslibraryresponse200type.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetLibraryItemsLibraryResponse200Type - - -## Values - -| Name | Value | -| -------------- | -------------- | -| `COVER_POSTER` | coverPoster | -| `BACKGROUND` | background | -| `SNAPSHOT` | snapshot | -| `CLEAR_LOGO` | clearLogo | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryresponsetype.md b/docs/models/operations/getlibraryitemslibraryresponsetype.md index 5d046fe..1573fa0 100644 --- a/docs/models/operations/getlibraryitemslibraryresponsetype.md +++ b/docs/models/operations/getlibraryitemslibraryresponsetype.md @@ -1,14 +1,11 @@ # GetLibraryItemsLibraryResponseType -## Fields +## Values -| 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 | show | -| `title` | *::String* | :heavy_check_mark: | N/A | TV Shows | -| `active` | *T::Boolean* | :heavy_check_mark: | N/A | false | -| `filter` | T::Array<[Models::Operations::GetLibraryItemsLibraryFilter](../../models/operations/getlibraryitemslibraryfilter.md)> | :heavy_minus_sign: | N/A | | -| `sort` | T::Array<[Models::Operations::GetLibraryItemsLibrarySort](../../models/operations/getlibraryitemslibrarysort.md)> | :heavy_minus_sign: | N/A | | -| `field` | T::Array<[Models::Operations::GetLibraryItemsLibraryField](../../models/operations/getlibraryitemslibraryfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Name | Value | +| -------------- | -------------- | +| `COVER_POSTER` | coverPoster | +| `BACKGROUND` | background | +| `SNAPSHOT` | snapshot | +| `CLEAR_LOGO` | clearLogo | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibrarysort.md b/docs/models/operations/getlibraryitemslibrarysort.md deleted file mode 100644 index 574c1c5..0000000 --- a/docs/models/operations/getlibraryitemslibrarysort.md +++ /dev/null @@ -1,15 +0,0 @@ -# GetLibraryItemsLibrarySort - - -## 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::GetLibraryItemsLibraryActiveDirection)](../../models/operations/getlibraryitemslibraryactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | -| `default_direction` | [Models::Operations::GetLibraryItemsLibraryDefaultDirection](../../models/operations/getlibraryitemslibrarydefaultdirection.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/getlibraryitemslibrarytype.md b/docs/models/operations/getlibraryitemslibrarytype.md index 6c95eca..d027396 100644 --- a/docs/models/operations/getlibraryitemslibrarytype.md +++ b/docs/models/operations/getlibraryitemslibrarytype.md @@ -1,20 +1,14 @@ # GetLibraryItemsLibraryType -The type of media content in the Plex library. This can represent videos, music, or photos. +## Fields - -## 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 +| 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 | show | +| `title` | *::String* | :heavy_check_mark: | N/A | TV Shows | +| `active` | *T::Boolean* | :heavy_check_mark: | N/A | false | +| `filter` | T::Array<[Models::Operations::GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md)> | :heavy_minus_sign: | N/A | | +| `sort` | T::Array<[Models::Operations::GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md)> | :heavy_minus_sign: | N/A | | +| `field` | T::Array<[Models::Operations::GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslocation.md b/docs/models/operations/getlibraryitemslocation.md index 625e3d0..0e12b9f 100644 --- a/docs/models/operations/getlibraryitemslocation.md +++ b/docs/models/operations/getlibraryitemslocation.md @@ -1,8 +1,10 @@ # GetLibraryItemsLocation +The folder path for the media item. + ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `path` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /TV Shows/House | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `path` | *::String* | :heavy_check_mark: | N/A | /TV Shows/Clarkson's Farm | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmedia.md b/docs/models/operations/getlibraryitemsmedia.md index 64f731d..a56843a 100644 --- a/docs/models/operations/getlibraryitemsmedia.md +++ b/docs/models/operations/getlibraryitemsmedia.md @@ -3,23 +3,24 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | N/A | 119534 | -| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 11558112 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 25025 | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 3840 | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2072 | -| `aspect_ratio` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1.85 | -| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | -| `audio_channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 6 | -| `audio_codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | eac3 | -| `video_codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | hevc | -| `video_resolution` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 4k | -| `container` | *::String* | :heavy_check_mark: | N/A | mkv | -| `video_frame_rate` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 24p | -| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | main 10 | -| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `optimized_for_streaming` | [T.nilable(Models::Operations::GetLibraryItemsOptimizedForStreaming)](../../models/operations/getlibraryitemsoptimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 | -| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `part` | T::Array<[Models::Operations::GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md)> | :heavy_check_mark: | N/A | | \ 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. | aac | +| `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: | Container format of the media. | mp4 | +| `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/getlibraryitemsoptimizedforstreaming.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: | Indicates whether the media has 64-bit offsets.
This is relevant for media files that may require larger offsets than what 32-bit integers can provide.
| false | +| `part` | T::Array<[Models::Operations::GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmediacontainer.md b/docs/models/operations/getlibraryitemsmediacontainer.md index 040da42..cc8522a 100644 --- a/docs/models/operations/getlibraryitemsmediacontainer.md +++ b/docs/models/operations/getlibraryitemsmediacontainer.md @@ -1,33 +1,28 @@ # GetLibraryItemsMediaContainer -The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. - - ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -| `type` | T::Array<[Models::Operations::GetLibraryItemsType](../../models/operations/getlibraryitemstype.md)> | :heavy_minus_sign: | N/A | | -| `field_type` | T::Array<[Models::Operations::GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md)> | :heavy_minus_sign: | N/A | | -| `size` | *::Integer* | :heavy_check_mark: | N/A | 70 | -| `total_size` | *::Integer* | :heavy_check_mark: | N/A | 170 | -| `offset` | *::Integer* | :heavy_check_mark: | N/A | 0 | -| `content` | *::String* | :heavy_check_mark: | N/A | secondary | -| `allow_sync` | *T::Boolean* | :heavy_check_mark: | N/A | true | -| `nocache` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `art` | *::String* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | -| `identifier` | *::String* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | -| `library_section_id` | *::Integer* | :heavy_check_mark: | N/A | 1 | -| `library_section_title` | *::String* | :heavy_check_mark: | N/A | Movies | -| `library_section_uuid` | *::String* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | -| `media_tag_prefix` | *::String* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ | -| `media_tag_version` | *::Integer* | :heavy_check_mark: | N/A | 1701731894 | -| `thumb` | *::String* | :heavy_check_mark: | N/A | /:/resources/movie.png | -| `title1` | *::String* | :heavy_check_mark: | N/A | Movies | -| `title2` | *::String* | :heavy_check_mark: | N/A | Recently Released | -| `view_group` | *::String* | :heavy_check_mark: | N/A | movie | -| `view_mode` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 65592 | -| `mixed_parents` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `metadata` | T::Array<[Models::Operations::GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md)> | :heavy_minus_sign: | N/A | | -| `meta` | [T.nilable(Models::Operations::GetLibraryItemsMeta)](../../models/operations/getlibraryitemsmeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | \ No newline at end of file +| 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 | +| `content` | *::String* | :heavy_check_mark: | The content type or mode. | secondary | +| `allow_sync` | *T::Boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `nocache` | *T::Boolean* | :heavy_check_mark: | Specifies whether caching is disabled. | true | +| `art` | *::String* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | +| `identifier` | *::String* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `library_section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The unique identifier for the library section. | 2 | +| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | 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 | +| `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 | +| `view_mode` | *T.nilable(::String)* | :heavy_minus_sign: | Identifier for the view mode. | 131131 | +| `mixed_parents` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the media container has mixed parents. | true | +| `metadata` | T::Array<[Models::Operations::GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md)> | :heavy_check_mark: | An array of metadata items. | | +| `meta` | [T.nilable(Models::Operations::GetLibraryItemsMeta)](../../models/operations/getlibraryitemsmeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmeta.md b/docs/models/operations/getlibraryitemsmeta.md index 69ae9eb..32110bc 100644 --- a/docs/models/operations/getlibraryitemsmeta.md +++ b/docs/models/operations/getlibraryitemsmeta.md @@ -6,7 +6,7 @@ The Meta object is only included in the response if the `includeMeta` parameter ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -| `type` | T::Array<[Models::Operations::GetLibraryItemsLibraryResponseType](../../models/operations/getlibraryitemslibraryresponsetype.md)> | :heavy_minus_sign: | N/A | -| `field_type` | T::Array<[Models::Operations::GetLibraryItemsLibraryFieldType](../../models/operations/getlibraryitemslibraryfieldtype.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `type` | T::Array<[Models::Operations::GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md)> | :heavy_minus_sign: | N/A | +| `field_type` | T::Array<[Models::Operations::GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmetadata.md b/docs/models/operations/getlibraryitemsmetadata.md index 6f23337..05dcc7c 100644 --- a/docs/models/operations/getlibraryitemsmetadata.md +++ b/docs/models/operations/getlibraryitemsmetadata.md @@ -1,83 +1,88 @@ # GetLibraryItemsMetadata +Unknown + + ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `rating_key` | *::String* | :heavy_check_mark: | The rating key (Media ID) of this media item.
Note: This is always an integer, but is represented as a string in the API.
| 58683 | -| `key` | *::String* | :heavy_check_mark: | N/A | /library/metadata/58683 | -| `guid` | *::String* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | -| `studio` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 20th Century Studios | -| `skip_children` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `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 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 | -| `summary` | *::String* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | -| `rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 7.6 | -| `audience_rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 9.2 | -| `year` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2022 | -| `season_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2022 | -| `tagline` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Return to Pandora. | -| `flatten_seasons` | [T.nilable(Models::Operations::FlattenSeasons)](../../models/operations/flattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). | 1 | -| `episode_sort` | [T.nilable(Models::Operations::EpisodeSort)](../../models/operations/episodesort.md) | :heavy_minus_sign: | Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). | 0 | -| `enable_credits_marker_generation` | [T.nilable(Models::Operations::EnableCreditsMarkerGeneration)](../../models/operations/enablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 | -| `show_ordering` | [T.nilable(Models::Operations::ShowOrdering)](../../models/operations/showordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
| absolute | -| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | -| `art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | -| `banner` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | -| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 11558112 | -| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | -| `added_at` | *::Integer* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `updated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | -| `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `chapter_source` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | media | -| `primary_extra_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58684 | -| `rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `grandparent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 66 | -| `grandparent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | -| `grandparent_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66 | -| `grandparent_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Caprica | -| `grandparent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | -| `parent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | -| `grandparent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | -| `grandparent_art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | -| `grandparent_theme` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | -| `media` | T::Array<[Models::Operations::GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md)> | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.
| | -| `genre` | T::Array<[Models::Operations::GetLibraryItemsGenre](../../models/operations/getlibraryitemsgenre.md)> | :heavy_minus_sign: | N/A | | -| `country` | T::Array<[Models::Operations::GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md)> | :heavy_minus_sign: | N/A | | -| `director` | T::Array<[Models::Operations::GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md)> | :heavy_minus_sign: | N/A | | -| `writer` | T::Array<[Models::Operations::GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md)> | :heavy_minus_sign: | N/A | | -| `collection` | T::Array<[Models::Operations::GetLibraryItemsCollection](../../models/operations/getlibraryitemscollection.md)> | :heavy_minus_sign: | N/A | | -| `role` | T::Array<[Models::Operations::GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md)> | :heavy_minus_sign: | N/A | | -| `location` | T::Array<[Models::Operations::GetLibraryItemsLocation](../../models/operations/getlibraryitemslocation.md)> | :heavy_minus_sign: | N/A | | -| `media_guid` | T::Array<[Models::Operations::MediaGuid](../../models/operations/mediaguid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | -| `ultra_blur_colors` | [T.nilable(Models::Operations::GetLibraryItemsUltraBlurColors)](../../models/operations/getlibraryitemsultrablurcolors.md) | :heavy_minus_sign: | N/A | | -| `meta_data_rating` | T::Array<[Models::Operations::MetaDataRating](../../models/operations/metadatarating.md)> | :heavy_minus_sign: | N/A | | -| `image` | T::Array<[Models::Operations::GetLibraryItemsImage](../../models/operations/getlibraryitemsimage.md)> | :heavy_minus_sign: | N/A | | -| `title_sort` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Whale | -| `view_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | -| `last_viewed_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1682752242 | -| `original_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | -| `view_offset` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 5222500 | -| `skip_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | -| `index` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | -| `theme` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 | -| `leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 14 | -| `viewed_leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 0 | -| `child_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | -| `has_premium_extras` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | -| `has_premium_primary_extra` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | -| `parent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the parent item.
| 66 | -| `parent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | -| `parent_studio` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | UCP | -| `parent_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66 | -| `parent_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Caprica | -| `parent_index` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | -| `parent_year` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2010 | -| `parent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | -| `parent_theme` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `rating_key` | *::String* | :heavy_check_mark: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 | +| `key` | *::String* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 | +| `guid` | *::String* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 | +| `slug` | *::String* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas | +| `studio` | *T.nilable(::String)* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios | +| `type` | [Models::Operations::GetLibraryItemsType](../../models/operations/getlibraryitemstype.md) | :heavy_check_mark: | N/A | movie | +| `title` | *::String* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water | +| `banner` | *::String* | :heavy_check_mark: | The banner image URL for the media item. | /library/metadata/58683/banner/1703239236 | +| `title_sort` | *::String* | :heavy_check_mark: | The sort title used for ordering media items. | Whale | +| `content_rating` | *T.nilable(::String)* | :heavy_minus_sign: | The content rating for the media item. | PG-13 | +| `summary` | *::String* | :heavy_check_mark: | A synopsis of the media item. | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.
Once a familiar threat returns to finish what was previously started, Jake must
work with Neytiri and the army of the Na'vi race to protect their home.
| +| `rating` | *::Float* | :heavy_check_mark: | The critic rating for the media item. | 7.6 | +| `audience_rating` | *::Float* | :heavy_check_mark: | The audience rating for the media item. | 9.2 | +| `year` | *T.nilable(::Integer)* | :heavy_minus_sign: | The release year of the media item. | 2022 | +| `tagline` | *::String* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. | +| `thumb` | *::String* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 | +| `art` | *::String* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 | +| `theme` | *::String* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 | +| `index` | *::Integer* | :heavy_check_mark: | The index position of the media item. | 1 | +| `leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | +| `viewed_leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 | +| `child_count` | *::Integer* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | +| `season_count` | *::Integer* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | +| `duration` | *::Integer* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | +| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 | +| `added_at` | *::Integer* | :heavy_check_mark: | N/A | 1556281940 | +| `updated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | +| `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | +| `chapter_source` | *T.nilable(::String)* | :heavy_minus_sign: | The source from which chapter data is derived. | media | +| `primary_extra_key` | *T.nilable(::String)* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 | +| `original_title` | *T.nilable(::String)* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 | +| `parent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the parent media item. | 66 | +| `grandparent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 | +| `parent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `grandparent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `grandparent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 | +| `grandparent_key` | *T.nilable(::String)* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 | +| `parent_key` | *T.nilable(::String)* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 | +| `grandparent_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica | +| `grandparent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 | +| `grandparent_theme` | *T.nilable(::String)* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 | +| `grandparent_art` | *T.nilable(::String)* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 | +| `parent_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the parent media item. | Caprica | +| `parent_index` | *T.nilable(::Integer)* | :heavy_minus_sign: | The index position of the parent media item. | 1 | +| `parent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 | +| `rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe | +| `view_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 | +| `view_offset` | *T.nilable(::Integer)* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 | +| `skip_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 | +| `subtype` | *T.nilable(::String)* | :heavy_minus_sign: | A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. | clip | +| `last_rated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 | +| `created_at_accuracy` | *T.nilable(::String)* | :heavy_minus_sign: | The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). | epoch,local | +| `created_at_tz_offset` | *T.nilable(::String)* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 | +| `last_viewed_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 | +| `user_rating` | *T.nilable(::Float)* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 | +| `image` | T::Array<[Models::Operations::GetLibraryItemsImage](../../models/operations/getlibraryitemsimage.md)> | :heavy_minus_sign: | N/A | | +| `ultra_blur_colors` | [T.nilable(Models::Operations::GetLibraryItemsUltraBlurColors)](../../models/operations/getlibraryitemsultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `guids` | T::Array<[Models::Operations::GetLibraryItemsGuids](../../models/operations/getlibraryitemsguids.md)> | :heavy_minus_sign: | N/A | | +| `library_section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The identifier for the library section. | 1 | +| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the library section. | Movies | +| `library_section_key` | *T.nilable(::String)* | :heavy_minus_sign: | The key corresponding to the library section. | /library/sections/1 | +| `show_ordering` | [T.nilable(Models::Operations::ShowOrdering)](../../models/operations/showordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.
Options:
- None = Library default
- tmdbAiring = The Movie Database (Aired)
- aired = TheTVDB (Aired)
- dvd = TheTVDB (DVD)
- absolute = TheTVDB (Absolute)
| absolute | +| `flatten_seasons` | [T.nilable(Models::Operations::FlattenSeasons)](../../models/operations/flattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
| 1 | +| `skip_children` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether child items should be skipped. | false | +| `media` | T::Array<[Models::Operations::GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md)> | :heavy_minus_sign: | N/A | | +| `genre` | T::Array<[Models::Operations::GetLibraryItemsGenre](../../models/operations/getlibraryitemsgenre.md)> | :heavy_minus_sign: | N/A | | +| `country` | T::Array<[Models::Operations::GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md)> | :heavy_minus_sign: | N/A | | +| `director` | T::Array<[Models::Operations::GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md)> | :heavy_minus_sign: | N/A | | +| `writer` | T::Array<[Models::Operations::GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md)> | :heavy_minus_sign: | N/A | | +| `producer` | T::Array<[Models::Operations::GetLibraryItemsProducer](../../models/operations/getlibraryitemsproducer.md)> | :heavy_minus_sign: | N/A | | +| `collection` | T::Array<[Models::Operations::GetLibraryItemsCollection](../../models/operations/getlibraryitemscollection.md)> | :heavy_minus_sign: | N/A | | +| `role` | T::Array<[Models::Operations::GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.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::GetLibraryItemsSimilar](../../models/operations/getlibraryitemssimilar.md)> | :heavy_minus_sign: | N/A | | +| `location` | T::Array<[Models::Operations::GetLibraryItemsLocation](../../models/operations/getlibraryitemslocation.md)> | :heavy_minus_sign: | N/A | | +| `chapter` | T::Array<[Models::Operations::Chapter](../../models/operations/chapter.md)> | :heavy_minus_sign: | N/A | | +| `marker` | T::Array<[Models::Operations::Marker](../../models/operations/marker.md)> | :heavy_minus_sign: | N/A | | +| `extras` | [T.nilable(Models::Operations::Extras)](../../models/operations/extras.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsoptimizedforstreaming.md b/docs/models/operations/getlibraryitemsoptimizedforstreaming.md index 9b1efbf..fc2f119 100644 --- a/docs/models/operations/getlibraryitemsoptimizedforstreaming.md +++ b/docs/models/operations/getlibraryitemsoptimizedforstreaming.md @@ -1,9 +1,4 @@ # GetLibraryItemsOptimizedForStreaming +Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true -## Values - -| Name | Value | -| --------- | --------- | -| `DISABLE` | 0 | -| `ENABLE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsoptimizedforstreaming1.md b/docs/models/operations/getlibraryitemsoptimizedforstreaming1.md new file mode 100644 index 0000000..5389050 --- /dev/null +++ b/docs/models/operations/getlibraryitemsoptimizedforstreaming1.md @@ -0,0 +1,9 @@ +# GetLibraryItemsOptimizedForStreaming1 + + +## Values + +| Name | Value | +| ------ | ------ | +| `ZERO` | 0 | +| `ONE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemspart.md b/docs/models/operations/getlibraryitemspart.md index 0416759..b454a61 100644 --- a/docs/models/operations/getlibraryitemspart.md +++ b/docs/models/operations/getlibraryitemspart.md @@ -3,18 +3,20 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | N/A | 119542 | -| `key` | *::String* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | -| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 11558112 | -| `file` | *::String* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | -| `size` | *::Integer* | :heavy_check_mark: | N/A | 36158371307 | -| `container` | *::String* | :heavy_check_mark: | The container format of the media file.
| mkv | -| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | -| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `optimized_for_streaming` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | main 10 | -| `indexes` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | sd | -| `has_thumbnail` | [T.nilable(Models::Operations::GetLibraryItemsHasThumbnail)](../../models/operations/getlibraryitemshasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | -| `stream` | T::Array<[Models::Operations::GetLibraryItemsStream](../../models/operations/getlibraryitemsstream.md)> | :heavy_minus_sign: | N/A | | \ 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` | *T.nilable(::String)* | :heavy_minus_sign: | 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` | *T.nilable(::String)* | :heavy_minus_sign: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `size` | *T.nilable(::Integer)* | :heavy_minus_sign: | 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::GetLibraryItemsOptimizedForStreaming1, T::Boolean))](../../models/operations/getlibraryitemslibraryoptimizedforstreaming.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::GetLibraryItemsHasThumbnail)](../../models/operations/getlibraryitemshasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsproducer.md b/docs/models/operations/getlibraryitemsproducer.md new file mode 100644 index 0000000..771c587 --- /dev/null +++ b/docs/models/operations/getlibraryitemsproducer.md @@ -0,0 +1,13 @@ +# GetLibraryItemsProducer + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `filter` | *::String* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `tag` | *::String* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `tag_key` | *::String* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `role` | *T.nilable(::String)* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsrole.md b/docs/models/operations/getlibraryitemsrole.md index ca8afcd..ca0239f 100644 --- a/docs/models/operations/getlibraryitemsrole.md +++ b/docs/models/operations/getlibraryitemsrole.md @@ -3,11 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The ID of the tag or actor. | 294129 | -| `filter` | *T.nilable(::String)* | :heavy_minus_sign: | The filter used to find the actor or tag. | actor=294129 | -| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The thumbnail of the actor | https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | The name of the tag or actor. | Mike Smith | -| `tag_key` | *T.nilable(::String)* | :heavy_minus_sign: | Unique identifier for the tag. | 668e7e7b22bcad9064350c91 | -| `role` | *T.nilable(::String)* | :heavy_minus_sign: | The role of the actor or tag in the media. | Self | \ 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 | +| `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/getlibraryitemssimilar.md b/docs/models/operations/getlibraryitemssimilar.md new file mode 100644 index 0000000..54f4193 --- /dev/null +++ b/docs/models/operations/getlibraryitemssimilar.md @@ -0,0 +1,10 @@ +# GetLibraryItemsSimilar + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | The unique similar item identifier. | 26 | +| `filter` | *::String* | :heavy_check_mark: | The filter string for similar items. | similar=26 | +| `tag` | *::String* | :heavy_check_mark: | The tag or title of the similar content. | Breaking Bad | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsstream.md b/docs/models/operations/getlibraryitemsstream.md deleted file mode 100644 index 5861bd5..0000000 --- a/docs/models/operations/getlibraryitemsstream.md +++ /dev/null @@ -1,45 +0,0 @@ -# GetLibraryItemsStream - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | N/A | 272796 | -| `stream_type` | *::Integer* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | -| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the default stream | true | -| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is selected | true | -| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream | h264 | -| `index` | *::Integer* | :heavy_check_mark: | The index of the stream | 0 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | -| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | -| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | The color range of the video stream | tv | -| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | The color space of the video stream | bt709 | -| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | The transfer characteristics (TRC) of the video stream | bt709 | -| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | The bit depth of the video stream | 8 | -| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | The chroma location of the video stream | left | -| `stream_identifier` | *T.nilable(::String)* | :heavy_minus_sign: | The identifier of the video stream | 2 | -| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | The chroma subsampling format | 4:2:0 | -| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | The coded height of the video stream | 1088 | -| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | The coded width of the video stream | 1920 | -| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | The frame rate of the video stream | 29.97 | -| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream has a scaling matrix | false | -| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | The height of the video stream | 1080 | -| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | The level of the video codec | 40 | -| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | The profile of the video codec | main | -| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames | 4 | -| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | The scan type (progressive or interlaced) | progressive | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | The width of the video stream | 1920 | -| `display_title` | *T.nilable(::String)* | :heavy_minus_sign: | Display title of the stream | 1080p (H.264) | -| `extended_display_title` | *T.nilable(::String)* | :heavy_minus_sign: | Extended display title of the stream | 1080p (H.264) | -| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams) | 2 | -| `language` | *T.nilable(::String)* | :heavy_minus_sign: | The language of the stream (for audio/subtitle streams) | English | -| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag of the stream | en | -| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | Language code of the stream | eng | -| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | The audio channel layout | stereo | -| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate of the audio stream in Hz | 48000 | -| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Title of the subtitle track (for subtitle streams) | English | -| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the subtitle stream can auto-sync | false | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemstype.md b/docs/models/operations/getlibraryitemstype.md index 71f67e1..6d6407a 100644 --- a/docs/models/operations/getlibraryitemstype.md +++ b/docs/models/operations/getlibraryitemstype.md @@ -1,15 +1,20 @@ # GetLibraryItemsType +The type of media content in the Plex library. This can represent videos, music, or photos. -## 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::GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md)> | :heavy_minus_sign: | N/A | | -| `sort` | T::Array<[Models::Operations::GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md)> | :heavy_minus_sign: | N/A | | -| `field` | T::Array<[Models::Operations::GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file + +## 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/getlibraryitemswriter.md b/docs/models/operations/getlibraryitemswriter.md index 344e183..5d9cfd7 100644 --- a/docs/models/operations/getlibraryitemswriter.md +++ b/docs/models/operations/getlibraryitemswriter.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | James Cameron | \ 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 | +| `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/models/operations/getlibrarysectionsallmedia.md b/docs/models/operations/getlibrarysectionsallmedia.md index 30d67d7..b9c9d04 100644 --- a/docs/models/operations/getlibrarysectionsallmedia.md +++ b/docs/models/operations/getlibrarysectionsallmedia.md @@ -3,24 +3,24 @@ ## 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/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 +| 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::GetLibrarySectionsAllOptimizedForStreaming1, 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 index ed51858..e3cd00f 100644 --- a/docs/models/operations/getlibrarysectionsallmediacontainer.md +++ b/docs/models/operations/getlibrarysectionsallmediacontainer.md @@ -12,8 +12,8 @@ | `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_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The unique identifier for the library section. | 2 | +| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | 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 | diff --git a/docs/models/operations/getlibrarysectionsallmetadata.md b/docs/models/operations/getlibrarysectionsallmetadata.md index 500fe02..860c4e3 100644 --- a/docs/models/operations/getlibrarysectionsallmetadata.md +++ b/docs/models/operations/getlibrarysectionsallmetadata.md @@ -31,7 +31,7 @@ Unknown | `child_count` | *::Integer* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | | `season_count` | *::Integer* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | | `duration` | *::Integer* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | -| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | +| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 | | `added_at` | *::Integer* | :heavy_check_mark: | N/A | 1556281940 | | `updated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | | `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | diff --git a/docs/models/operations/getlibrarysectionsalloptimizedforstreaminglibrary1.md b/docs/models/operations/getlibrarysectionsalloptimizedforstreaminglibrary1.md new file mode 100644 index 0000000..70e3903 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsalloptimizedforstreaminglibrary1.md @@ -0,0 +1,9 @@ +# GetLibrarySectionsAllOptimizedForStreamingLibrary1 + + +## Values + +| Name | Value | +| ------ | ------ | +| `ZERO` | 0 | +| `ONE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsallpart.md b/docs/models/operations/getlibrarysectionsallpart.md index 17b39fa..cedf563 100644 --- a/docs/models/operations/getlibrarysectionsallpart.md +++ b/docs/models/operations/getlibrarysectionsallpart.md @@ -3,21 +3,21 @@ ## 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::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 +| 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::GetLibrarySectionsAllOptimizedForStreamingLibrary1, 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/getlibrarysectionsallstream.md b/docs/models/operations/getlibrarysectionsallstream.md index 4266b9b..2fa907f 100644 --- a/docs/models/operations/getlibrarysectionsallstream.md +++ b/docs/models/operations/getlibrarysectionsallstream.md @@ -3,56 +3,56 @@ ## 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 +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `stream_type` | *::Integer* | :heavy_check_mark: | Stream type:
- VIDEO = 1
- AUDIO = 2
- SUBTITLE = 3
| | +| `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/getlibrarysectionsallstreamtype.md b/docs/models/operations/getlibrarysectionsallstreamtype.md deleted file mode 100644 index 3bedf03..0000000 --- a/docs/models/operations/getlibrarysectionsallstreamtype.md +++ /dev/null @@ -1,16 +0,0 @@ -# GetLibrarySectionsAllStreamType - -Stream type: - - 1 = video - - 2 = audio - - 3 = subtitle - - - -## Values - -| Name | Value | -| ---------- | ---------- | -| `VIDEO` | 1 | -| `AUDIO` | 2 | -| `SUBTITLE` | 3 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadataattributes.md b/docs/models/operations/getmediametadataattributes.md new file mode 100644 index 0000000..738cef8 --- /dev/null +++ b/docs/models/operations/getmediametadataattributes.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataAttributes + +Attributes associated with the marker. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | The identifier for the attributes. | 306970 | +| `version` | *T.nilable(::Integer)* | :heavy_minus_sign: | The version number of the marker attributes. | 4 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatachapter.md b/docs/models/operations/getmediametadatachapter.md new file mode 100644 index 0000000..dd503ea --- /dev/null +++ b/docs/models/operations/getmediametadatachapter.md @@ -0,0 +1,15 @@ +# GetMediaMetaDataChapter + +The thumbnail for the chapter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 4 | +| `filter` | *::String* | :heavy_check_mark: | N/A | thumb=4 | +| `index` | *::Integer* | :heavy_check_mark: | N/A | 1 | +| `start_time_offset` | *::Integer* | :heavy_check_mark: | N/A | 0 | +| `end_time_offset` | *::Integer* | :heavy_check_mark: | N/A | 100100 | +| `thumb` | *::String* | :heavy_check_mark: | N/A | /library/media/46883/chapterImages/1 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadataextras.md b/docs/models/operations/getmediametadataextras.md new file mode 100644 index 0000000..adaa29b --- /dev/null +++ b/docs/models/operations/getmediametadataextras.md @@ -0,0 +1,8 @@ +# GetMediaMetaDataExtras + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `size` | *T.nilable(::Integer)* | :heavy_minus_sign: | The size of the extras. | 1 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatahasthumbnail.md b/docs/models/operations/getmediametadatahasthumbnail.md index 47ecf9a..8d92322 100644 --- a/docs/models/operations/getmediametadatahasthumbnail.md +++ b/docs/models/operations/getmediametadatahasthumbnail.md @@ -3,6 +3,7 @@ Indicates if the part has a thumbnail. + ## Values | Name | Value | diff --git a/docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md b/docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md index dd4392c..03d6ddb 100644 --- a/docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md +++ b/docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md @@ -2,3 +2,4 @@ Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + diff --git a/docs/models/operations/getmediametadatamarker.md b/docs/models/operations/getmediametadatamarker.md new file mode 100644 index 0000000..4f9a12d --- /dev/null +++ b/docs/models/operations/getmediametadatamarker.md @@ -0,0 +1,15 @@ +# GetMediaMetaDataMarker + +The final status of the marker + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 306970 | +| `type` | *::String* | :heavy_check_mark: | N/A | credits | +| `start_time_offset` | *::Integer* | :heavy_check_mark: | N/A | 4176050 | +| `end_time_offset` | *::Integer* | :heavy_check_mark: | N/A | 4393389 | +| `final` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `attributes` | [T.nilable(Models::Operations::GetMediaMetaDataAttributes)](../../models/operations/getmediametadataattributes.md) | :heavy_minus_sign: | Attributes associated with the marker. | | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatamedia.md b/docs/models/operations/getmediametadatamedia.md index c2c0472..30440a2 100644 --- a/docs/models/operations/getmediametadatamedia.md +++ b/docs/models/operations/getmediametadatamedia.md @@ -13,14 +13,14 @@ | `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 | +| `audio_codec` | *T.nilable(::String)* | :heavy_minus_sign: | Audio codec used. | aac | | `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 | +| `container` | *T.nilable(::String)* | :heavy_minus_sign: | Container format of the media. | mp4 | | `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::GetMediaMetaDataOptimizedForStreaming1, T::Boolean))](../../models/operations/getmediametadataoptimizedforstreaming.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::GetMediaMetaDataPart](../../models/operations/getmediametadatapart.md)> | :heavy_minus_sign: | An array of parts for this media item. | | \ No newline at end of file +| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether the media has 64-bit offsets.
This is relevant for media files that may require larger offsets than what 32-bit integers can provide.
| false | +| `part` | T::Array<[Models::Operations::GetMediaMetaDataPart](../../models/operations/getmediametadatapart.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatamediacontainer.md b/docs/models/operations/getmediametadatamediacontainer.md index ef9f9f1..4a38f56 100644 --- a/docs/models/operations/getmediametadatamediacontainer.md +++ b/docs/models/operations/getmediametadatamediacontainer.md @@ -8,8 +8,8 @@ | `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 | -| `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_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The unique identifier for the library section. | 2 | +| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | 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 | diff --git a/docs/models/operations/getmediametadatametadata.md b/docs/models/operations/getmediametadatametadata.md index 16be77b..7a75201 100644 --- a/docs/models/operations/getmediametadatametadata.md +++ b/docs/models/operations/getmediametadatametadata.md @@ -31,7 +31,7 @@ Unknown | `child_count` | *::Integer* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | | `season_count` | *::Integer* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | | `duration` | *::Integer* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | -| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | +| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 | | `added_at` | *::Integer* | :heavy_check_mark: | N/A | 1556281940 | | `updated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | | `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | @@ -64,9 +64,9 @@ Unknown | `user_rating` | *T.nilable(::Float)* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 | | `image` | T::Array<[Models::Operations::GetMediaMetaDataImage](../../models/operations/getmediametadataimage.md)> | :heavy_minus_sign: | N/A | | | `ultra_blur_colors` | [T.nilable(Models::Operations::GetMediaMetaDataUltraBlurColors)](../../models/operations/getmediametadataultrablurcolors.md) | :heavy_minus_sign: | N/A | | -| `library_section_id` | *::Integer* | :heavy_check_mark: | The identifier for the library section. | 1 | -| `library_section_title` | *::String* | :heavy_check_mark: | The title of the library section. | Movies | -| `library_section_key` | *::String* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | +| `library_section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The identifier for the library section. | 1 | +| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the library section. | Movies | +| `library_section_key` | *T.nilable(::String)* | :heavy_minus_sign: | 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 | | @@ -75,9 +75,9 @@ 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 | | -| `ratings` | T::Array<[Models::Operations::Ratings](../../models/operations/ratings.md)> | :heavy_minus_sign: | N/A | | +| `ratings` | T::Array<[Models::Operations::GetMediaMetaDataRatings](../../models/operations/getmediametadataratings.md)> | :heavy_minus_sign: | N/A | | | `similar` | T::Array<[Models::Operations::GetMediaMetaDataSimilar](../../models/operations/getmediametadatasimilar.md)> | :heavy_minus_sign: | N/A | | | `location` | T::Array<[Models::Operations::GetMediaMetaDataLocation](../../models/operations/getmediametadatalocation.md)> | :heavy_minus_sign: | N/A | | -| `chapter` | T::Array<[Models::Operations::Chapter](../../models/operations/chapter.md)> | :heavy_minus_sign: | N/A | | -| `marker` | T::Array<[Models::Operations::Marker](../../models/operations/marker.md)> | :heavy_minus_sign: | N/A | | -| `extras` | [T.nilable(Models::Operations::Extras)](../../models/operations/extras.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `chapter` | T::Array<[Models::Operations::GetMediaMetaDataChapter](../../models/operations/getmediametadatachapter.md)> | :heavy_minus_sign: | N/A | | +| `marker` | T::Array<[Models::Operations::GetMediaMetaDataMarker](../../models/operations/getmediametadatamarker.md)> | :heavy_minus_sign: | N/A | | +| `extras` | [T.nilable(Models::Operations::GetMediaMetaDataExtras)](../../models/operations/getmediametadataextras.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatapart.md b/docs/models/operations/getmediametadatapart.md index 0011129..09567bc 100644 --- a/docs/models/operations/getmediametadatapart.md +++ b/docs/models/operations/getmediametadatapart.md @@ -8,16 +8,16 @@ | `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 | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | 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 | +| `file` | *T.nilable(::String)* | :heavy_minus_sign: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `size` | *T.nilable(::Integer)* | :heavy_minus_sign: | 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::GetMediaMetaDataOptimizedForStreamingLibrary1, T::Boolean))](../../models/operations/getmediametadatalibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | +| `optimized_for_streaming` | [T.nilable(T.any(Models::Operations::GetMediaMetaDataOptimizedForStreamingLibrary1, T::Boolean))](../../models/operations/getmediametadatalibraryoptimizedforstreaming.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::GetMediaMetaDataHasThumbnail)](../../models/operations/getmediametadatahasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | -| `stream` | T::Array<[Models::Operations::GetMediaMetaDataStream](../../models/operations/getmediametadatastream.md)> | :heavy_minus_sign: | An array of streams for this part. | | \ No newline at end of file +| `stream` | T::Array<[Models::Operations::GetMediaMetaDataStream](../../models/operations/getmediametadatastream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/metadatarating.md b/docs/models/operations/getmediametadataratings.md similarity index 83% rename from docs/models/operations/metadatarating.md rename to docs/models/operations/getmediametadataratings.md index 46a7fd7..4536723 100644 --- a/docs/models/operations/metadatarating.md +++ b/docs/models/operations/getmediametadataratings.md @@ -1,10 +1,10 @@ -# MetaDataRating +# GetMediaMetaDataRatings ## Fields | Field | Type | Required | Description | Example | | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `image` | *::String* | :heavy_check_mark: | A URI or path to the rating image. | themoviedb://image.rating | -| `value` | *::Float* | :heavy_check_mark: | The value of the rating. | 3 | +| `image` | *::String* | :heavy_check_mark: | The image or reference for the rating. | imdb://image.rating | +| `value` | *::Float* | :heavy_check_mark: | The rating value. | 9 | | `type` | *::String* | :heavy_check_mark: | The type of rating (e.g., audience, critic). | audience | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatastream.md b/docs/models/operations/getmediametadatastream.md index 1842164..43f3927 100644 --- a/docs/models/operations/getmediametadatastream.md +++ b/docs/models/operations/getmediametadatastream.md @@ -3,56 +3,56 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `stream_type` | [Models::Operations::GetMediaMetaDataStreamType](../../models/operations/getmediametadatastreamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | -| `format` | *T.nilable(::String)* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | -| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is default. | true | -| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream. | hevc | -| `index` | *T.nilable(::Integer)* | :heavy_minus_sign: | Index of the stream. | 0 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `language` | *T.nilable(::String)* | :heavy_minus_sign: | Language of the stream. | English | -| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag (e.g., en). | en | -| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | ISO language code. | eng | -| `header_compression` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | -| `dovibl_compat_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | -| `dovibl_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | -| `doviel_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | -| `dovi_level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision level. | 6 | -| `dovi_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | -| `dovi_profile` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision profile. | 8 | -| `dovirpu_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | -| `dovi_version` | *T.nilable(::String)* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | -| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | -| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma sample location. | topleft | -| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | -| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video height. | 1608 | -| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video width. | 3840 | -| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | Color primaries used. | bt2020 | -| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | Color range (e.g., tv). | tv | -| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | Color space. | bt2020nc | -| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | -| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | -| `key` | *T.nilable(::String)* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Height of the video stream. | 1602 | -| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video level. | 150 | -| `original` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the original stream. | true | -| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile. | main 10 | -| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | -| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | -| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames. | 1 | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Width of the video stream. | 3840 | -| `display_title` | *::String* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `extended_display_title` | *::String* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | -| `forced` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | -| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | -| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | -| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | -| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | -| `dub` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | -| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `stream_type` | *::Integer* | :heavy_check_mark: | Stream type:
- VIDEO = 1
- AUDIO = 2
- SUBTITLE = 3
| | +| `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` | *T.nilable(::String)* | :heavy_minus_sign: | 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` | *T.nilable(::String)* | :heavy_minus_sign: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `extended_display_title` | *T.nilable(::String)* | :heavy_minus_sign: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `forced` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `dub` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatastreamtype.md b/docs/models/operations/getmediametadatastreamtype.md deleted file mode 100644 index e60f96a..0000000 --- a/docs/models/operations/getmediametadatastreamtype.md +++ /dev/null @@ -1,16 +0,0 @@ -# GetMediaMetaDataStreamType - -Stream type: - - 1 = video - - 2 = audio - - 3 = subtitle - - - -## Values - -| Name | Value | -| ---------- | ---------- | -| `VIDEO` | 1 | -| `AUDIO` | 2 | -| `SUBTITLE` | 3 | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedmetadata.md b/docs/models/operations/getrecentlyaddedmetadata.md index 2257895..20571b6 100644 --- a/docs/models/operations/getrecentlyaddedmetadata.md +++ b/docs/models/operations/getrecentlyaddedmetadata.md @@ -32,11 +32,11 @@ Unknown | `last_rated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 | | `last_viewed_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 | | `leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | -| `library_section_id` | *::Integer* | :heavy_check_mark: | The identifier for the library section. | 1 | -| `library_section_key` | *::String* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | -| `library_section_title` | *::String* | :heavy_check_mark: | The title of the library section. | Movies | +| `library_section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The identifier for the library section. | 1 | +| `library_section_key` | *T.nilable(::String)* | :heavy_minus_sign: | The key corresponding to the library section. | /library/sections/1 | +| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the library section. | Movies | | `original_title` | *T.nilable(::String)* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 | -| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | +| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 | | `parent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 | | `parent_index` | *T.nilable(::Integer)* | :heavy_minus_sign: | The index position of the parent media item. | 1 | | `parent_key` | *T.nilable(::String)* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 | diff --git a/docs/models/operations/getsearchalllibrariescollection.md b/docs/models/operations/getsearchalllibrariescollection.md deleted file mode 100644 index a4380bf..0000000 --- a/docs/models/operations/getsearchalllibrariescollection.md +++ /dev/null @@ -1,8 +0,0 @@ -# GetSearchAllLibrariesCollection - - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Working NL Subs | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariescountry.md b/docs/models/operations/getsearchalllibrariescountry.md index cc9b5e9..d40aa2b 100644 --- a/docs/models/operations/getsearchalllibrariescountry.md +++ b/docs/models/operations/getsearchalllibrariescountry.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | United States of America | \ 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 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesdirector.md b/docs/models/operations/getsearchalllibrariesdirector.md index 890f064..5928e3e 100644 --- a/docs/models/operations/getsearchalllibrariesdirector.md +++ b/docs/models/operations/getsearchalllibrariesdirector.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | James Cameron | \ 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 | +| `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/getsearchalllibrariesdirectory.md b/docs/models/operations/getsearchalllibrariesdirectory.md new file mode 100644 index 0000000..f0b7701 --- /dev/null +++ b/docs/models/operations/getsearchalllibrariesdirectory.md @@ -0,0 +1,20 @@ +# GetSearchAllLibrariesDirectory + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `key` | *::String* | :heavy_check_mark: | The unique identifier path for the search result item. | /library/sections/3/all?actor=197429 | +| `library_section_id` | *::Integer* | :heavy_check_mark: | The identifier for the library section. | 1 | +| `library_section_key` | *::String* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | +| `library_section_title` | *::String* | :heavy_check_mark: | The title of the library section. | Movies | +| `library_section_type` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | | +| `type` | *::String* | :heavy_check_mark: | The type of the directory. | tag | +| `id` | *::Integer* | :heavy_check_mark: | N/A | 197429 | +| `filter` | *T.nilable(::String)* | :heavy_minus_sign: | The filter string used to query this specific item in the library. | actor=197429 | +| `tag` | *::String* | :heavy_check_mark: | N/A | Ben Stiller | +| `tag_type` | *T.nilable(::Integer)* | :heavy_minus_sign: | The type of tag associated with this search result (e.g., Director, Actor). | | +| `tag_key` | *T.nilable(::String)* | :heavy_minus_sign: | The unique identifier for the tag associated with this search result. | 5d776826999c64001ec2c606 | +| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The URL to the thumbnail image associated with this search result. | https://metadata-static.plex.tv/5/people/57bd7c7d6c5c9e2881251b30e5603d3d.jpg | +| `count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of items associated with this search result. | 10 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesenablecreditsmarkergeneration.md b/docs/models/operations/getsearchalllibrariesenablecreditsmarkergeneration.md deleted file mode 100644 index d28236a..0000000 --- a/docs/models/operations/getsearchalllibrariesenablecreditsmarkergeneration.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetSearchAllLibrariesEnableCreditsMarkerGeneration - -Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - - -## Values - -| Name | Value | -| ----------------- | ----------------- | -| `LIBRARY_DEFAULT` | -1 | -| `DISABLED` | 0 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesepisodesort.md b/docs/models/operations/getsearchalllibrariesepisodesort.md deleted file mode 100644 index a67adf0..0000000 --- a/docs/models/operations/getsearchalllibrariesepisodesort.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetSearchAllLibrariesEpisodeSort - -Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - - -## Values - -| Name | Value | -| ----------------- | ----------------- | -| `LIBRARY_DEFAULT` | -1 | -| `OLDEST_FIRST` | 0 | -| `NEWEST_FIRST` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesflattenseasons.md b/docs/models/operations/getsearchalllibrariesflattenseasons.md index 621cfbd..54d5520 100644 --- a/docs/models/operations/getsearchalllibrariesflattenseasons.md +++ b/docs/models/operations/getsearchalllibrariesflattenseasons.md @@ -3,6 +3,7 @@ Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). + ## Values | Name | Value | diff --git a/docs/models/operations/getsearchalllibrariesgenre.md b/docs/models/operations/getsearchalllibrariesgenre.md index 04cd4e9..bc6d95a 100644 --- a/docs/models/operations/getsearchalllibrariesgenre.md +++ b/docs/models/operations/getsearchalllibrariesgenre.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Adventure | \ 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 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesguids.md b/docs/models/operations/getsearchalllibrariesguids.md new file mode 100644 index 0000000..67b37b8 --- /dev/null +++ b/docs/models/operations/getsearchalllibrariesguids.md @@ -0,0 +1,8 @@ +# GetSearchAllLibrariesGuids + + +## 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/getsearchalllibrarieshasthumbnail.md b/docs/models/operations/getsearchalllibrarieshasthumbnail.md index 3d4d3aa..ee89db8 100644 --- a/docs/models/operations/getsearchalllibrarieshasthumbnail.md +++ b/docs/models/operations/getsearchalllibrarieshasthumbnail.md @@ -1,5 +1,8 @@ # GetSearchAllLibrariesHasThumbnail +Indicates if the part has a thumbnail. + + ## Values diff --git a/docs/models/operations/getsearchalllibrarieslibraryoptimizedforstreaming.md b/docs/models/operations/getsearchalllibrarieslibraryoptimizedforstreaming.md new file mode 100644 index 0000000..d53b070 --- /dev/null +++ b/docs/models/operations/getsearchalllibrarieslibraryoptimizedforstreaming.md @@ -0,0 +1,5 @@ +# GetSearchAllLibrariesLibraryOptimizedForStreaming + +Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + + diff --git a/docs/models/operations/getsearchalllibrarieslocation.md b/docs/models/operations/getsearchalllibrarieslocation.md index 623c93e..330934f 100644 --- a/docs/models/operations/getsearchalllibrarieslocation.md +++ b/docs/models/operations/getsearchalllibrarieslocation.md @@ -1,8 +1,10 @@ # GetSearchAllLibrariesLocation +The folder path for the media item. + ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `path` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /TV Shows/House | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `path` | *::String* | :heavy_check_mark: | N/A | /TV Shows/Clarkson's Farm | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmedia.md b/docs/models/operations/getsearchalllibrariesmedia.md index 78cc056..1c453a2 100644 --- a/docs/models/operations/getsearchalllibrariesmedia.md +++ b/docs/models/operations/getsearchalllibrariesmedia.md @@ -3,23 +3,24 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | N/A | 119534 | -| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 11558112 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 25025 | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 3840 | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2072 | -| `aspect_ratio` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1.85 | -| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | -| `audio_channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 6 | -| `audio_codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | eac3 | -| `video_codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | hevc | -| `video_resolution` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 4k | -| `container` | *::String* | :heavy_check_mark: | N/A | mkv | -| `video_frame_rate` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 24p | -| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | main 10 | -| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `optimized_for_streaming` | [T.nilable(Models::Operations::GetSearchAllLibrariesOptimizedForStreaming)](../../models/operations/getsearchalllibrariesoptimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 | -| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `part` | T::Array<[Models::Operations::GetSearchAllLibrariesPart](../../models/operations/getsearchalllibrariespart.md)> | :heavy_check_mark: | N/A | | \ 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. | aac | +| `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: | Container format of the media. | mp4 | +| `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::GetSearchAllLibrariesOptimizedForStreaming1, T::Boolean))](../../models/operations/getsearchalllibrariesoptimizedforstreaming.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: | Indicates whether the media has 64-bit offsets.
This is relevant for media files that may require larger offsets than what 32-bit integers can provide.
| false | +| `part` | T::Array<[Models::Operations::GetSearchAllLibrariesPart](../../models/operations/getsearchalllibrariespart.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmediacontainer.md b/docs/models/operations/getsearchalllibrariesmediacontainer.md index 6c47d7d..4ac2e04 100644 --- a/docs/models/operations/getsearchalllibrariesmediacontainer.md +++ b/docs/models/operations/getsearchalllibrariesmediacontainer.md @@ -3,7 +3,14 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| `size` | *::Float* | :heavy_check_mark: | N/A | -| `search_result` | T::Array<[Models::Operations::SearchResult](../../models/operations/searchresult.md)> | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `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 | +| `library_section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The unique identifier for the library section. | 2 | +| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | 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 | +| `search_result` | T::Array<[Models::Operations::SearchResult](../../models/operations/searchresult.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmediaguid.md b/docs/models/operations/getsearchalllibrariesmediaguid.md deleted file mode 100644 index 551f771..0000000 --- a/docs/models/operations/getsearchalllibrariesmediaguid.md +++ /dev/null @@ -1,8 +0,0 @@ -# GetSearchAllLibrariesMediaGuid - - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| `id` | *::String* | :heavy_check_mark: | Can be one of the following formats:
imdb://tt13015952, tmdb://2434012, tvdb://7945991
| imdb://tt13015952 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmetadata.md b/docs/models/operations/getsearchalllibrariesmetadata.md index cf9d441..d294c7f 100644 --- a/docs/models/operations/getsearchalllibrariesmetadata.md +++ b/docs/models/operations/getsearchalllibrariesmetadata.md @@ -1,83 +1,82 @@ # GetSearchAllLibrariesMetadata +Unknown + + ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `rating_key` | *::String* | :heavy_check_mark: | The rating key (Media ID) of this media item.
Note: This is always an integer, but is represented as a string in the API.
| 58683 | -| `key` | *::String* | :heavy_check_mark: | N/A | /library/metadata/58683 | -| `guid` | *::String* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | -| `studio` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 20th Century Studios | -| `skip_children` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `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 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 | -| `summary` | *::String* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | -| `rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 7.6 | -| `audience_rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 9.2 | -| `year` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2022 | -| `season_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2022 | -| `tagline` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Return to Pandora. | -| `flatten_seasons` | [T.nilable(Models::Operations::GetSearchAllLibrariesFlattenSeasons)](../../models/operations/getsearchalllibrariesflattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). | 1 | -| `episode_sort` | [T.nilable(Models::Operations::GetSearchAllLibrariesEpisodeSort)](../../models/operations/getsearchalllibrariesepisodesort.md) | :heavy_minus_sign: | Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). | 0 | -| `enable_credits_marker_generation` | [T.nilable(Models::Operations::GetSearchAllLibrariesEnableCreditsMarkerGeneration)](../../models/operations/getsearchalllibrariesenablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 | -| `show_ordering` | [T.nilable(Models::Operations::GetSearchAllLibrariesShowOrdering)](../../models/operations/getsearchalllibrariesshowordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
| absolute | -| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | -| `art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | -| `banner` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | -| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 11558112 | -| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | -| `added_at` | *::Integer* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `updated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | -| `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `chapter_source` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | media | -| `primary_extra_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58684 | -| `rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `grandparent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 66 | -| `grandparent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | -| `grandparent_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66 | -| `grandparent_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Caprica | -| `grandparent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | -| `parent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | -| `grandparent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | -| `grandparent_art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | -| `grandparent_theme` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | -| `media` | T::Array<[Models::Operations::GetSearchAllLibrariesMedia](../../models/operations/getsearchalllibrariesmedia.md)> | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.
| | -| `genre` | T::Array<[Models::Operations::GetSearchAllLibrariesGenre](../../models/operations/getsearchalllibrariesgenre.md)> | :heavy_minus_sign: | N/A | | -| `country` | T::Array<[Models::Operations::GetSearchAllLibrariesCountry](../../models/operations/getsearchalllibrariescountry.md)> | :heavy_minus_sign: | N/A | | -| `director` | T::Array<[Models::Operations::GetSearchAllLibrariesDirector](../../models/operations/getsearchalllibrariesdirector.md)> | :heavy_minus_sign: | N/A | | -| `writer` | T::Array<[Models::Operations::GetSearchAllLibrariesWriter](../../models/operations/getsearchalllibrarieswriter.md)> | :heavy_minus_sign: | N/A | | -| `collection` | T::Array<[Models::Operations::GetSearchAllLibrariesCollection](../../models/operations/getsearchalllibrariescollection.md)> | :heavy_minus_sign: | N/A | | -| `role` | T::Array<[Models::Operations::GetSearchAllLibrariesRole](../../models/operations/getsearchalllibrariesrole.md)> | :heavy_minus_sign: | N/A | | -| `location` | T::Array<[Models::Operations::GetSearchAllLibrariesLocation](../../models/operations/getsearchalllibrarieslocation.md)> | :heavy_minus_sign: | N/A | | -| `media_guid` | T::Array<[Models::Operations::GetSearchAllLibrariesMediaGuid](../../models/operations/getsearchalllibrariesmediaguid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | -| `ultra_blur_colors` | [T.nilable(Models::Operations::GetSearchAllLibrariesUltraBlurColors)](../../models/operations/getsearchalllibrariesultrablurcolors.md) | :heavy_minus_sign: | N/A | | -| `meta_data_rating` | T::Array<[Models::Operations::GetSearchAllLibrariesMetaDataRating](../../models/operations/getsearchalllibrariesmetadatarating.md)> | :heavy_minus_sign: | N/A | | -| `image` | T::Array<[Models::Operations::GetSearchAllLibrariesImage](../../models/operations/getsearchalllibrariesimage.md)> | :heavy_minus_sign: | N/A | | -| `title_sort` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Whale | -| `view_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | -| `last_viewed_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1682752242 | -| `original_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | -| `view_offset` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 5222500 | -| `skip_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | -| `index` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | -| `theme` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 | -| `leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 14 | -| `viewed_leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 0 | -| `child_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | -| `has_premium_extras` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | -| `has_premium_primary_extra` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | -| `parent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the parent item.
| 66 | -| `parent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | -| `parent_studio` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | UCP | -| `parent_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66 | -| `parent_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Caprica | -| `parent_index` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | -| `parent_year` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2010 | -| `parent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | -| `parent_theme` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `rating_key` | *::String* | :heavy_check_mark: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 | +| `key` | *::String* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 | +| `guid` | *::String* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 | +| `slug` | *::String* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas | +| `studio` | *T.nilable(::String)* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios | +| `type` | [Models::Operations::GetSearchAllLibrariesType](../../models/operations/getsearchalllibrariestype.md) | :heavy_check_mark: | N/A | movie | +| `title` | *::String* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water | +| `banner` | *::String* | :heavy_check_mark: | The banner image URL for the media item. | /library/metadata/58683/banner/1703239236 | +| `title_sort` | *::String* | :heavy_check_mark: | The sort title used for ordering media items. | Whale | +| `content_rating` | *T.nilable(::String)* | :heavy_minus_sign: | The content rating for the media item. | PG-13 | +| `summary` | *::String* | :heavy_check_mark: | A synopsis of the media item. | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.
Once a familiar threat returns to finish what was previously started, Jake must
work with Neytiri and the army of the Na'vi race to protect their home.
| +| `rating` | *::Float* | :heavy_check_mark: | The critic rating for the media item. | 7.6 | +| `audience_rating` | *::Float* | :heavy_check_mark: | The audience rating for the media item. | 9.2 | +| `year` | *T.nilable(::Integer)* | :heavy_minus_sign: | The release year of the media item. | 2022 | +| `tagline` | *::String* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. | +| `thumb` | *::String* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 | +| `art` | *::String* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 | +| `theme` | *::String* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 | +| `index` | *::Integer* | :heavy_check_mark: | The index position of the media item. | 1 | +| `leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | +| `viewed_leaf_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 | +| `child_count` | *::Integer* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | +| `season_count` | *::Integer* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | +| `duration` | *::Integer* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | +| `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 | +| `added_at` | *::Integer* | :heavy_check_mark: | N/A | 1556281940 | +| `updated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | +| `parent_year` | *T.nilable(::Integer)* | :heavy_minus_sign: | The release year of the parent media item. | 2010 | +| `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | +| `chapter_source` | *T.nilable(::String)* | :heavy_minus_sign: | The source from which chapter data is derived. | media | +| `primary_extra_key` | *T.nilable(::String)* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 | +| `original_title` | *T.nilable(::String)* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 | +| `parent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the parent media item. | 66 | +| `grandparent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 | +| `parent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `grandparent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `grandparent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 | +| `grandparent_key` | *T.nilable(::String)* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 | +| `parent_key` | *T.nilable(::String)* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 | +| `grandparent_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica | +| `grandparent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 | +| `grandparent_theme` | *T.nilable(::String)* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 | +| `grandparent_art` | *T.nilable(::String)* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 | +| `parent_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the parent media item. | Caprica | +| `parent_index` | *T.nilable(::Integer)* | :heavy_minus_sign: | The index position of the parent media item. | 1 | +| `parent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 | +| `rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe | +| `view_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 | +| `view_offset` | *T.nilable(::Integer)* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 | +| `skip_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 | +| `subtype` | *T.nilable(::String)* | :heavy_minus_sign: | A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. | clip | +| `last_rated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 | +| `created_at_accuracy` | *T.nilable(::String)* | :heavy_minus_sign: | The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). | epoch,local | +| `created_at_tz_offset` | *T.nilable(::String)* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 | +| `last_viewed_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 | +| `user_rating` | *T.nilable(::Float)* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 | +| `image` | T::Array<[Models::Operations::GetSearchAllLibrariesImage](../../models/operations/getsearchalllibrariesimage.md)> | :heavy_minus_sign: | N/A | | +| `ultra_blur_colors` | [T.nilable(Models::Operations::GetSearchAllLibrariesUltraBlurColors)](../../models/operations/getsearchalllibrariesultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `guids` | T::Array<[Models::Operations::GetSearchAllLibrariesGuids](../../models/operations/getsearchalllibrariesguids.md)> | :heavy_minus_sign: | N/A | | +| `library_section_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The identifier for the library section. | 1 | +| `library_section_title` | *T.nilable(::String)* | :heavy_minus_sign: | The title of the library section. | Movies | +| `library_section_key` | *T.nilable(::String)* | :heavy_minus_sign: | The key corresponding to the library section. | /library/sections/1 | +| `show_ordering` | [T.nilable(Models::Operations::GetSearchAllLibrariesShowOrdering)](../../models/operations/getsearchalllibrariesshowordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.
Options:
- None = Library default
- tmdbAiring = The Movie Database (Aired)
- aired = TheTVDB (Aired)
- dvd = TheTVDB (DVD)
- absolute = TheTVDB (Absolute)
| absolute | +| `flatten_seasons` | [T.nilable(Models::Operations::GetSearchAllLibrariesFlattenSeasons)](../../models/operations/getsearchalllibrariesflattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
| 1 | +| `skip_children` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether child items should be skipped. | false | +| `media` | T::Array<[Models::Operations::GetSearchAllLibrariesMedia](../../models/operations/getsearchalllibrariesmedia.md)> | :heavy_minus_sign: | N/A | | +| `genre` | T::Array<[Models::Operations::GetSearchAllLibrariesGenre](../../models/operations/getsearchalllibrariesgenre.md)> | :heavy_minus_sign: | N/A | | +| `country` | T::Array<[Models::Operations::GetSearchAllLibrariesCountry](../../models/operations/getsearchalllibrariescountry.md)> | :heavy_minus_sign: | N/A | | +| `director` | T::Array<[Models::Operations::GetSearchAllLibrariesDirector](../../models/operations/getsearchalllibrariesdirector.md)> | :heavy_minus_sign: | N/A | | +| `writer` | T::Array<[Models::Operations::GetSearchAllLibrariesWriter](../../models/operations/getsearchalllibrarieswriter.md)> | :heavy_minus_sign: | N/A | | +| `role` | T::Array<[Models::Operations::GetSearchAllLibrariesRole](../../models/operations/getsearchalllibrariesrole.md)> | :heavy_minus_sign: | N/A | | +| `location` | T::Array<[Models::Operations::GetSearchAllLibrariesLocation](../../models/operations/getsearchalllibrarieslocation.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmetadatarating.md b/docs/models/operations/getsearchalllibrariesmetadatarating.md deleted file mode 100644 index 9700e4b..0000000 --- a/docs/models/operations/getsearchalllibrariesmetadatarating.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetSearchAllLibrariesMetaDataRating - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `image` | *::String* | :heavy_check_mark: | A URI or path to the rating image. | themoviedb://image.rating | -| `value` | *::Float* | :heavy_check_mark: | The value of the rating. | 3 | -| `type` | *::String* | :heavy_check_mark: | The type of rating (e.g., audience, critic). | audience | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesoptimizedforstreaming.md b/docs/models/operations/getsearchalllibrariesoptimizedforstreaming.md index be2e299..fa7e8b5 100644 --- a/docs/models/operations/getsearchalllibrariesoptimizedforstreaming.md +++ b/docs/models/operations/getsearchalllibrariesoptimizedforstreaming.md @@ -1,9 +1,4 @@ # GetSearchAllLibrariesOptimizedForStreaming +Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true -## Values - -| Name | Value | -| --------- | --------- | -| `DISABLE` | 0 | -| `ENABLE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesoptimizedforstreaming1.md b/docs/models/operations/getsearchalllibrariesoptimizedforstreaming1.md new file mode 100644 index 0000000..ff8e21a --- /dev/null +++ b/docs/models/operations/getsearchalllibrariesoptimizedforstreaming1.md @@ -0,0 +1,9 @@ +# GetSearchAllLibrariesOptimizedForStreaming1 + + +## Values + +| Name | Value | +| ------ | ------ | +| `ZERO` | 0 | +| `ONE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesoptimizedforstreaminglibrary1.md b/docs/models/operations/getsearchalllibrariesoptimizedforstreaminglibrary1.md new file mode 100644 index 0000000..b078b22 --- /dev/null +++ b/docs/models/operations/getsearchalllibrariesoptimizedforstreaminglibrary1.md @@ -0,0 +1,9 @@ +# GetSearchAllLibrariesOptimizedForStreamingLibrary1 + + +## Values + +| Name | Value | +| ------ | ------ | +| `ZERO` | 0 | +| `ONE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariespart.md b/docs/models/operations/getsearchalllibrariespart.md index c26596b..ede8f9e 100644 --- a/docs/models/operations/getsearchalllibrariespart.md +++ b/docs/models/operations/getsearchalllibrariespart.md @@ -3,18 +3,20 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | N/A | 119542 | -| `key` | *::String* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | -| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 11558112 | -| `file` | *::String* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | -| `size` | *::Integer* | :heavy_check_mark: | N/A | 36158371307 | -| `container` | *::String* | :heavy_check_mark: | The container format of the media file.
| mkv | -| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | -| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `optimized_for_streaming` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | main 10 | -| `indexes` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | sd | -| `has_thumbnail` | [T.nilable(Models::Operations::GetSearchAllLibrariesHasThumbnail)](../../models/operations/getsearchalllibrarieshasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | -| `stream` | T::Array<[Models::Operations::GetSearchAllLibrariesStream](../../models/operations/getsearchalllibrariesstream.md)> | :heavy_minus_sign: | N/A | | \ 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` | *T.nilable(::String)* | :heavy_minus_sign: | 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` | *T.nilable(::String)* | :heavy_minus_sign: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `size` | *T.nilable(::Integer)* | :heavy_minus_sign: | 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::GetSearchAllLibrariesOptimizedForStreamingLibrary1, T::Boolean))](../../models/operations/getsearchalllibrarieslibraryoptimizedforstreaming.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::GetSearchAllLibrariesHasThumbnail)](../../models/operations/getsearchalllibrarieshasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesrole.md b/docs/models/operations/getsearchalllibrariesrole.md index 1fa500f..ff22d81 100644 --- a/docs/models/operations/getsearchalllibrariesrole.md +++ b/docs/models/operations/getsearchalllibrariesrole.md @@ -3,11 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *T.nilable(::Integer)* | :heavy_minus_sign: | The ID of the tag or actor. | 294129 | -| `filter` | *T.nilable(::String)* | :heavy_minus_sign: | The filter used to find the actor or tag. | actor=294129 | -| `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | The thumbnail of the actor | https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | The name of the tag or actor. | Mike Smith | -| `tag_key` | *T.nilable(::String)* | :heavy_minus_sign: | Unique identifier for the tag. | 668e7e7b22bcad9064350c91 | -| `role` | *T.nilable(::String)* | :heavy_minus_sign: | The role of the actor or tag in the media. | Self | \ 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 | +| `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/getsearchalllibrariesshowordering.md b/docs/models/operations/getsearchalllibrariesshowordering.md index 566ed0e..ae56245 100644 --- a/docs/models/operations/getsearchalllibrariesshowordering.md +++ b/docs/models/operations/getsearchalllibrariesshowordering.md @@ -1,11 +1,12 @@ # GetSearchAllLibrariesShowOrdering Setting that indicates the episode ordering for the show. -None = Library default, -tmdbAiring = The Movie Database (Aired), -aired = TheTVDB (Aired), -dvd = TheTVDB (DVD), -absolute = TheTVDB (Absolute)). +Options: + - None = Library default + - tmdbAiring = The Movie Database (Aired) + - aired = TheTVDB (Aired) + - dvd = TheTVDB (DVD) + - absolute = TheTVDB (Absolute) diff --git a/docs/models/operations/getsearchalllibrariesstream.md b/docs/models/operations/getsearchalllibrariesstream.md deleted file mode 100644 index 8147772..0000000 --- a/docs/models/operations/getsearchalllibrariesstream.md +++ /dev/null @@ -1,45 +0,0 @@ -# GetSearchAllLibrariesStream - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | N/A | 272796 | -| `stream_type` | *::Integer* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | -| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the default stream | true | -| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is selected | true | -| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream | h264 | -| `index` | *::Integer* | :heavy_check_mark: | The index of the stream | 0 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | -| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | -| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | The color range of the video stream | tv | -| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | The color space of the video stream | bt709 | -| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | The transfer characteristics (TRC) of the video stream | bt709 | -| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | The bit depth of the video stream | 8 | -| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | The chroma location of the video stream | left | -| `stream_identifier` | *T.nilable(::String)* | :heavy_minus_sign: | The identifier of the video stream | 2 | -| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | The chroma subsampling format | 4:2:0 | -| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | The coded height of the video stream | 1088 | -| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | The coded width of the video stream | 1920 | -| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | The frame rate of the video stream | 29.97 | -| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream has a scaling matrix | false | -| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | The height of the video stream | 1080 | -| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | The level of the video codec | 40 | -| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | The profile of the video codec | main | -| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames | 4 | -| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | The scan type (progressive or interlaced) | progressive | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | The width of the video stream | 1920 | -| `display_title` | *T.nilable(::String)* | :heavy_minus_sign: | Display title of the stream | 1080p (H.264) | -| `extended_display_title` | *T.nilable(::String)* | :heavy_minus_sign: | Extended display title of the stream | 1080p (H.264) | -| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams) | 2 | -| `language` | *T.nilable(::String)* | :heavy_minus_sign: | The language of the stream (for audio/subtitle streams) | English | -| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag of the stream | en | -| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | Language code of the stream | eng | -| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | The audio channel layout | stereo | -| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate of the audio stream in Hz | 48000 | -| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Title of the subtitle track (for subtitle streams) | English | -| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the subtitle stream can auto-sync | false | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrarieswriter.md b/docs/models/operations/getsearchalllibrarieswriter.md index fcd7d89..2bcda0f 100644 --- a/docs/models/operations/getsearchalllibrarieswriter.md +++ b/docs/models/operations/getsearchalllibrarieswriter.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | James Cameron | \ 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 | +| `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/models/operations/mediaguid.md b/docs/models/operations/mediaguid.md deleted file mode 100644 index b903b6f..0000000 --- a/docs/models/operations/mediaguid.md +++ /dev/null @@ -1,8 +0,0 @@ -# MediaGuid - - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| `id` | *::String* | :heavy_check_mark: | Can be one of the following formats:
imdb://tt13015952, tmdb://2434012, tvdb://7945991
| imdb://tt13015952 | \ No newline at end of file diff --git a/docs/models/operations/searchresult.md b/docs/models/operations/searchresult.md index 3f2baa2..ee711ba 100644 --- a/docs/models/operations/searchresult.md +++ b/docs/models/operations/searchresult.md @@ -3,7 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -| `score` | *::Float* | :heavy_check_mark: | N/A | -| `metadata` | [Models::Operations::GetSearchAllLibrariesMetadata](../../models/operations/getsearchalllibrariesmetadata.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `score` | *::Float* | :heavy_check_mark: | The score of the search result, typically a float value between 0 and 1. | 0.92 | +| `directory` | [T.nilable(Models::Operations::GetSearchAllLibrariesDirectory)](../../models/operations/getsearchalllibrariesdirectory.md) | :heavy_minus_sign: | N/A | | +| `metadata` | [T.nilable(Models::Operations::GetSearchAllLibrariesMetadata)](../../models/operations/getsearchalllibrariesmetadata.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/showordering.md b/docs/models/operations/showordering.md index 7d66d38..978acf2 100644 --- a/docs/models/operations/showordering.md +++ b/docs/models/operations/showordering.md @@ -1,11 +1,12 @@ # ShowOrdering Setting that indicates the episode ordering for the show. -None = Library default, -tmdbAiring = The Movie Database (Aired), -aired = TheTVDB (Aired), -dvd = TheTVDB (DVD), -absolute = TheTVDB (Absolute)). +Options: + - None = Library default + - tmdbAiring = The Movie Database (Aired) + - aired = TheTVDB (Aired) + - dvd = TheTVDB (DVD) + - absolute = TheTVDB (Absolute) diff --git a/docs/models/operations/stream.md b/docs/models/operations/stream.md index 159207d..f39f091 100644 --- a/docs/models/operations/stream.md +++ b/docs/models/operations/stream.md @@ -3,56 +3,56 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | -| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `stream_type` | [Models::Operations::StreamType](../../models/operations/streamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | -| `format` | *T.nilable(::String)* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | -| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is default. | true | -| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream. | hevc | -| `index` | *T.nilable(::Integer)* | :heavy_minus_sign: | Index of the stream. | 0 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `language` | *T.nilable(::String)* | :heavy_minus_sign: | Language of the stream. | English | -| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag (e.g., en). | en | -| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | ISO language code. | eng | -| `header_compression` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | -| `dovibl_compat_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | -| `dovibl_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | -| `doviel_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | -| `dovi_level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision level. | 6 | -| `dovi_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | -| `dovi_profile` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision profile. | 8 | -| `dovirpu_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | -| `dovi_version` | *T.nilable(::String)* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | -| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | -| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma sample location. | topleft | -| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | -| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video height. | 1608 | -| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video width. | 3840 | -| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | Color primaries used. | bt2020 | -| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | Color range (e.g., tv). | tv | -| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | Color space. | bt2020nc | -| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | -| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | -| `key` | *T.nilable(::String)* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Height of the video stream. | 1602 | -| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video level. | 150 | -| `original` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the original stream. | true | -| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | -| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile. | main 10 | -| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | -| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | -| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames. | 1 | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Width of the video stream. | 3840 | -| `display_title` | *::String* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `extended_display_title` | *::String* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | -| `forced` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | -| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | -| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | -| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | -| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | -| `dub` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | -| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `id` | *::Integer* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `stream_type` | *::Integer* | :heavy_check_mark: | Stream type:
- VIDEO = 1
- AUDIO = 2
- SUBTITLE = 3
| | +| `format` | *T.nilable(::String)* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | +| `default` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `codec` | *::String* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `index` | *T.nilable(::Integer)* | :heavy_minus_sign: | Index of the stream. | 0 | +| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | +| `language` | *T.nilable(::String)* | :heavy_minus_sign: | Language of the stream. | English | +| `language_tag` | *T.nilable(::String)* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `language_code` | *T.nilable(::String)* | :heavy_minus_sign: | ISO language code. | eng | +| `header_compression` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | +| `dovibl_compat_id` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `dovibl_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `doviel_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `dovi_level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `dovi_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `dovi_profile` | *T.nilable(::Integer)* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `dovirpu_present` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `dovi_version` | *T.nilable(::String)* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `bit_depth` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `chroma_location` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `chroma_subsampling` | *T.nilable(::String)* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `coded_height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video height. | 1608 | +| `coded_width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Coded video width. | 3840 | +| `closed_captions` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `color_primaries` | *T.nilable(::String)* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `color_range` | *T.nilable(::String)* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `color_space` | *T.nilable(::String)* | :heavy_minus_sign: | Color space. | bt2020nc | +| `color_trc` | *T.nilable(::String)* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `frame_rate` | *T.nilable(::Float)* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | +| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `level` | *T.nilable(::Integer)* | :heavy_minus_sign: | Video level. | 150 | +| `original` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `has_scaling_matrix` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile. | main 10 | +| `scan_type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | +| `embedded_in_video` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | progressive | +| `ref_frames` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `display_title` | *::String* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `extended_display_title` | *::String* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `selected` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `forced` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | +| `channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `audio_channel_layout` | *T.nilable(::String)* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `sampling_rate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `can_auto_sync` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `hearing_impaired` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `dub` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `title` | *T.nilable(::String)* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/streamtype.md b/docs/models/operations/streamtype.md deleted file mode 100644 index de7b5d1..0000000 --- a/docs/models/operations/streamtype.md +++ /dev/null @@ -1,16 +0,0 @@ -# StreamType - -Stream type: - - 1 = video - - 2 = audio - - 3 = subtitle - - - -## Values - -| Name | Value | -| ---------- | ---------- | -| `VIDEO` | 1 | -| `AUDIO` | 2 | -| `SUBTITLE` | 3 | \ No newline at end of file diff --git a/lib/plex_ruby_sdk/models/operations.rb b/lib/plex_ruby_sdk/models/operations.rb index dc9dc9a..dbfbee9 100644 --- a/lib/plex_ruby_sdk/models/operations.rb +++ b/lib/plex_ruby_sdk/models/operations.rb @@ -33,10 +33,8 @@ module PlexRubySDK autoload :Marker, 'plex_ruby_sdk/models/operations/marker.rb' autoload :Media, 'plex_ruby_sdk/models/operations/media.rb' autoload :MediaContainer, 'plex_ruby_sdk/models/operations/mediacontainer.rb' - autoload :MediaGuid, 'plex_ruby_sdk/models/operations/mediaguid.rb' autoload :MediaProvider, 'plex_ruby_sdk/models/operations/mediaprovider.rb' autoload :Meta, 'plex_ruby_sdk/models/operations/meta.rb' - autoload :MetaDataRating, 'plex_ruby_sdk/models/operations/metadatarating.rb' autoload :Metadata, 'plex_ruby_sdk/models/operations/metadata.rb' autoload :MyPlex, 'plex_ruby_sdk/models/operations/myplex.rb' autoload :Operator, 'plex_ruby_sdk/models/operations/operator.rb' @@ -104,9 +102,7 @@ module PlexRubySDK autoload :DeletePlaylistRequest, 'plex_ruby_sdk/models/operations/deleteplaylist_request.rb' autoload :DeletePlaylistResponse, 'plex_ruby_sdk/models/operations/deleteplaylist_response.rb' autoload :Download, 'plex_ruby_sdk/models/operations/download.rb' - autoload :EnableCreditsMarkerGeneration, 'plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb' autoload :EnablePaperTrailResponse, 'plex_ruby_sdk/models/operations/enablepapertrail_response.rb' - autoload :EpisodeSort, 'plex_ruby_sdk/models/operations/episodesort.rb' autoload :Filter, 'plex_ruby_sdk/models/operations/filter.rb' autoload :FlattenSeasons, 'plex_ruby_sdk/models/operations/flattenseasons.rb' autoload :Force, 'plex_ruby_sdk/models/operations/force.rb' @@ -155,16 +151,9 @@ module PlexRubySDK autoload :GetLibraryItemsFilter, 'plex_ruby_sdk/models/operations/get_library_items_filter.rb' autoload :GetLibraryItemsGenre, 'plex_ruby_sdk/models/operations/get_library_items_genre.rb' autoload :GetLibraryItemsImage, 'plex_ruby_sdk/models/operations/get_library_items_image.rb' - autoload :GetLibraryItemsLibraryField, 'plex_ruby_sdk/models/operations/get_library_items_library_field.rb' - autoload :GetLibraryItemsLibraryFieldType, 'plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb' - autoload :GetLibraryItemsLibraryFilter, 'plex_ruby_sdk/models/operations/get_library_items_library_filter.rb' - autoload :GetLibraryItemsLibraryOperator, 'plex_ruby_sdk/models/operations/get_library_items_library_operator.rb' - autoload :GetLibraryItemsLibrarySort, 'plex_ruby_sdk/models/operations/get_library_items_library_sort.rb' - autoload :GetLibraryItemsLibraryActiveDirection, 'plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb' - autoload :GetLibraryItemsLibraryDefaultDirection, 'plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb' - autoload :GetLibraryItemsLibraryResponse200Type, 'plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb' - autoload :GetLibraryItemsLibraryResponseType, 'plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb' autoload :GetLibraryItemsLibraryType, 'plex_ruby_sdk/models/operations/get_library_items_library_type.rb' + autoload :GetLibraryItemsLibraryOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_library_items_library_optimizedforstreaming.rb' + autoload :GetLibraryItemsLibraryResponseType, 'plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb' autoload :GetLibraryItemsLocation, 'plex_ruby_sdk/models/operations/get_library_items_location.rb' autoload :GetLibraryItemsMedia, 'plex_ruby_sdk/models/operations/get_library_items_media.rb' autoload :GetLibraryItemsMediaContainer, 'plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb' @@ -172,21 +161,24 @@ module PlexRubySDK autoload :GetLibraryItemsMetadata, 'plex_ruby_sdk/models/operations/get_library_items_metadata.rb' autoload :GetLibraryItemsOperator, 'plex_ruby_sdk/models/operations/get_library_items_operator.rb' autoload :GetLibraryItemsPart, 'plex_ruby_sdk/models/operations/get_library_items_part.rb' + autoload :GetLibraryItemsProducer, 'plex_ruby_sdk/models/operations/get_library_items_producer.rb' autoload :GetLibraryItemsRole, 'plex_ruby_sdk/models/operations/get_library_items_role.rb' + autoload :GetLibraryItemsSimilar, 'plex_ruby_sdk/models/operations/get_library_items_similar.rb' autoload :GetLibraryItemsSort, 'plex_ruby_sdk/models/operations/get_library_items_sort.rb' - autoload :GetLibraryItemsStream, 'plex_ruby_sdk/models/operations/get_library_items_stream.rb' - autoload :GetLibraryItemsType, 'plex_ruby_sdk/models/operations/get_library_items_type.rb' autoload :GetLibraryItemsUltraBlurColors, 'plex_ruby_sdk/models/operations/get_library_items_ultrablurcolors.rb' autoload :GetLibraryItemsWriter, 'plex_ruby_sdk/models/operations/get_library_items_writer.rb' autoload :GetLibraryItemsActiveDirection, 'plex_ruby_sdk/models/operations/get_library_items_activedirection.rb' autoload :GetLibraryItemsDefaultDirection, 'plex_ruby_sdk/models/operations/get_library_items_defaultdirection.rb' + autoload :GetLibraryItemsGuids, 'plex_ruby_sdk/models/operations/get_library_items_guids.rb' autoload :GetLibraryItemsHasThumbnail, 'plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb' autoload :GetLibraryItemsOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb' + autoload :GetLibraryItemsOptimizedForStreaming1, 'plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming_1.rb' autoload :GetLibraryItemsQueryParamIncludeMeta, 'plex_ruby_sdk/models/operations/get_library_items_queryparam_includemeta.rb' autoload :GetLibraryItemsQueryParamType, 'plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb' 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 :GetLibraryItemsType, 'plex_ruby_sdk/models/operations/get_library_items_type.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' @@ -216,29 +208,34 @@ module PlexRubySDK 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 :GetLibrarySectionsAllOptimizedForStreamingLibrary1, 'plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_library_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' autoload :GetMediaArtsResponse, 'plex_ruby_sdk/models/operations/get_media_arts_response.rb' autoload :GetMediaArtsResponseBody, 'plex_ruby_sdk/models/operations/get_media_arts_responsebody.rb' + autoload :GetMediaMetaDataAttributes, 'plex_ruby_sdk/models/operations/get_media_meta_data_attributes.rb' + autoload :GetMediaMetaDataChapter, 'plex_ruby_sdk/models/operations/get_media_meta_data_chapter.rb' 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 :GetMediaMetaDataExtras, 'plex_ruby_sdk/models/operations/get_media_meta_data_extras.rb' autoload :GetMediaMetaDataGenre, 'plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb' autoload :GetMediaMetaDataImage, 'plex_ruby_sdk/models/operations/get_media_meta_data_image.rb' autoload :GetMediaMetaDataLibraryOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb' autoload :GetMediaMetaDataLibraryType, 'plex_ruby_sdk/models/operations/get_media_meta_data_library_type.rb' autoload :GetMediaMetaDataLocation, 'plex_ruby_sdk/models/operations/get_media_meta_data_location.rb' + autoload :GetMediaMetaDataMarker, 'plex_ruby_sdk/models/operations/get_media_meta_data_marker.rb' autoload :GetMediaMetaDataMedia, 'plex_ruby_sdk/models/operations/get_media_meta_data_media.rb' autoload :GetMediaMetaDataMediaContainer, 'plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb' autoload :GetMediaMetaDataMetadata, 'plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb' autoload :GetMediaMetaDataPart, 'plex_ruby_sdk/models/operations/get_media_meta_data_part.rb' autoload :GetMediaMetaDataProducer, 'plex_ruby_sdk/models/operations/get_media_meta_data_producer.rb' + autoload :GetMediaMetaDataRatings, 'plex_ruby_sdk/models/operations/get_media_meta_data_ratings.rb' autoload :GetMediaMetaDataRole, 'plex_ruby_sdk/models/operations/get_media_meta_data_role.rb' autoload :GetMediaMetaDataSimilar, 'plex_ruby_sdk/models/operations/get_media_meta_data_similar.rb' autoload :GetMediaMetaDataStream, 'plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb' @@ -252,7 +249,6 @@ module PlexRubySDK autoload :GetMediaMetaDataRequest, 'plex_ruby_sdk/models/operations/get_media_meta_data_request.rb' autoload :GetMediaMetaDataResponse, 'plex_ruby_sdk/models/operations/get_media_meta_data_response.rb' autoload :GetMediaMetaDataResponseBody, 'plex_ruby_sdk/models/operations/get_media_meta_data_responsebody.rb' - autoload :GetMediaMetaDataStreamType, 'plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb' autoload :GetMediaMetaDataType, 'plex_ruby_sdk/models/operations/get_media_meta_data_type.rb' autoload :GetMediaPostersMediaContainer, 'plex_ruby_sdk/models/operations/get_media_posters_mediacontainer.rb' autoload :GetMediaPostersMetadata, 'plex_ruby_sdk/models/operations/get_media_posters_metadata.rb' @@ -298,28 +294,27 @@ module PlexRubySDK autoload :GetRecentlyAddedResponseBody, 'plex_ruby_sdk/models/operations/get_recently_added_responsebody.rb' autoload :GetRefreshLibraryMetadataRequest, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_request.rb' autoload :GetRefreshLibraryMetadataResponse, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_response.rb' - autoload :GetSearchAllLibrariesCollection, 'plex_ruby_sdk/models/operations/get_search_all_libraries_collection.rb' autoload :GetSearchAllLibrariesCountry, 'plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb' autoload :GetSearchAllLibrariesDirector, 'plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb' + autoload :GetSearchAllLibrariesDirectory, 'plex_ruby_sdk/models/operations/get_search_all_libraries_directory.rb' autoload :GetSearchAllLibrariesGenre, 'plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb' autoload :GetSearchAllLibrariesImage, 'plex_ruby_sdk/models/operations/get_search_all_libraries_image.rb' + autoload :GetSearchAllLibrariesLibraryOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb' autoload :GetSearchAllLibrariesLibraryType, 'plex_ruby_sdk/models/operations/get_search_all_libraries_library_type.rb' autoload :GetSearchAllLibrariesLocation, 'plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb' autoload :GetSearchAllLibrariesMedia, 'plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb' autoload :GetSearchAllLibrariesMediaContainer, 'plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb' - autoload :GetSearchAllLibrariesMediaGuid, 'plex_ruby_sdk/models/operations/get_search_all_libraries_mediaguid.rb' - autoload :GetSearchAllLibrariesMetaDataRating, 'plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb' autoload :GetSearchAllLibrariesMetadata, 'plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb' autoload :GetSearchAllLibrariesPart, 'plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb' autoload :GetSearchAllLibrariesRole, 'plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb' - autoload :GetSearchAllLibrariesStream, 'plex_ruby_sdk/models/operations/get_search_all_libraries_stream.rb' autoload :GetSearchAllLibrariesUltraBlurColors, 'plex_ruby_sdk/models/operations/get_search_all_libraries_ultrablurcolors.rb' autoload :GetSearchAllLibrariesWriter, 'plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb' - autoload :GetSearchAllLibrariesEnableCreditsMarkerGeneration, 'plex_ruby_sdk/models/operations/get_search_all_libraries_enablecreditsmarkergeneration.rb' - autoload :GetSearchAllLibrariesEpisodeSort, 'plex_ruby_sdk/models/operations/get_search_all_libraries_episodesort.rb' autoload :GetSearchAllLibrariesFlattenSeasons, 'plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb' + autoload :GetSearchAllLibrariesGuids, 'plex_ruby_sdk/models/operations/get_search_all_libraries_guids.rb' autoload :GetSearchAllLibrariesHasThumbnail, 'plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb' autoload :GetSearchAllLibrariesOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb' + autoload :GetSearchAllLibrariesOptimizedForStreaming1, 'plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_1.rb' + autoload :GetSearchAllLibrariesOptimizedForStreamingLibrary1, 'plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_library_1.rb' autoload :GetSearchAllLibrariesQueryParamIncludeCollections, 'plex_ruby_sdk/models/operations/get_search_all_libraries_queryparam_includecollections.rb' autoload :GetSearchAllLibrariesQueryParamIncludeExternalMedia, 'plex_ruby_sdk/models/operations/get_search_all_libraries_queryparam_includeexternalmedia.rb' autoload :GetSearchAllLibrariesRequest, 'plex_ruby_sdk/models/operations/get_search_all_libraries_request.rb' @@ -597,7 +592,6 @@ module PlexRubySDK autoload :StopTaskResponse, 'plex_ruby_sdk/models/operations/stoptask_response.rb' autoload :StopTranscodeSessionRequest, 'plex_ruby_sdk/models/operations/stoptranscodesession_request.rb' autoload :StopTranscodeSessionResponse, 'plex_ruby_sdk/models/operations/stoptranscodesession_response.rb' - autoload :StreamType, 'plex_ruby_sdk/models/operations/streamtype.rb' autoload :Tag, 'plex_ruby_sdk/models/operations/tag.rb' autoload :TaskName, 'plex_ruby_sdk/models/operations/taskname.rb' autoload :Tonight, 'plex_ruby_sdk/models/operations/tonight.rb' diff --git a/lib/plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb b/lib/plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb deleted file mode 100644 index 9026542..0000000 --- a/lib/plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb +++ /dev/null @@ -1,20 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - # EnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - class EnableCreditsMarkerGeneration < T::Enum - enums do - LIBRARY_DEFAULT = new('-1') - DISABLED = new('0') - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/episodesort.rb b/lib/plex_ruby_sdk/models/operations/episodesort.rb deleted file mode 100644 index 737d436..0000000 --- a/lib/plex_ruby_sdk/models/operations/episodesort.rb +++ /dev/null @@ -1,21 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - # EpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - class EpisodeSort < T::Enum - enums do - LIBRARY_DEFAULT = new('-1') - OLDEST_FIRST = new('0') - NEWEST_FIRST = new('1') - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/flattenseasons.rb b/lib/plex_ruby_sdk/models/operations/flattenseasons.rb index ed0ec2e..c1014a3 100644 --- a/lib/plex_ruby_sdk/models/operations/flattenseasons.rb +++ b/lib/plex_ruby_sdk/models/operations/flattenseasons.rb @@ -9,6 +9,7 @@ module PlexRubySDK module Operations # FlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). + # class FlattenSeasons < T::Enum enums do LIBRARY_DEFAULT = new('-1') diff --git a/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb index 4b96fb9..9705ead 100644 --- a/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb @@ -35,14 +35,14 @@ module PlexRubySDK field :title2, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title2') } } # Identifier for the view group layout. field :view_group, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewGroup') } } - # Identifier for the view mode. - field :view_mode, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } } # An array of actor entries for media items. field :directory, T.nilable(T::Array[Models::Operations::GetActorsLibraryDirectory]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Directory') } } + # Identifier for the view mode. + field :view_mode, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } } - sig { params(allow_sync: T::Boolean, art: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, view_group: ::String, view_mode: ::String, directory: T.nilable(T::Array[Models::Operations::GetActorsLibraryDirectory])).void } - def initialize(allow_sync: nil, art: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, nocache: nil, size: nil, thumb: nil, title1: nil, title2: nil, view_group: nil, view_mode: nil, directory: nil) + sig { params(allow_sync: T::Boolean, art: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, view_group: ::String, directory: T.nilable(T::Array[Models::Operations::GetActorsLibraryDirectory]), view_mode: T.nilable(::String)).void } + def initialize(allow_sync: nil, art: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, nocache: nil, size: nil, thumb: nil, title1: nil, title2: nil, view_group: nil, directory: nil, view_mode: nil) @allow_sync = allow_sync @art = art @identifier = identifier @@ -54,8 +54,8 @@ module PlexRubySDK @title1 = title1 @title2 = title2 @view_group = view_group - @view_mode = view_mode @directory = directory + @view_mode = view_mode end def ==(other) @@ -71,8 +71,8 @@ module PlexRubySDK return false unless @title1 == other.title1 return false unless @title2 == other.title2 return false unless @view_group == other.view_group - return false unless @view_mode == other.view_mode return false unless @directory == other.directory + return false unless @view_mode == other.view_mode true end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb index cefd3ce..3842a5c 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb @@ -13,11 +13,11 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # The user-made collection this media item belongs to + field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - sig { params(tag: T.nilable(::String)).void } + sig { params(tag: ::String).void } def initialize(tag: nil) @tag = tag end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_country.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_country.rb index ba5b645..f36be73 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_country.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_country.rb @@ -13,17 +13,23 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # 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') } } - sig { params(tag: T.nilable(::String)).void } - def initialize(tag: nil) + sig { params(id: ::Integer, tag: ::String).void } + def initialize(id: nil, tag: nil) + @id = id @tag = tag end def ==(other) return false unless other.is_a? self.class + return false unless @id == other.id return false unless @tag == other.tag true end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_director.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_director.rb index eadbfb5..205b9de 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_director.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_director.rb @@ -13,18 +13,26 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # 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') } } + # 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: T.nilable(::String)).void } - def initialize(tag: nil) + sig { params(id: ::Integer, tag: ::String, thumb: T.nilable(::String)).void } + def initialize(id: nil, tag: nil, thumb: nil) + @id = id @tag = tag + @thumb = thumb end def ==(other) return false unless other.is_a? self.class + return false unless @id == other.id return false unless @tag == other.tag + return false unless @thumb == other.thumb true end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb index 6685352..4c5d048 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb @@ -24,17 +24,14 @@ module PlexRubySDK field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - field :advanced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('advanced') } } - - sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String, advanced: T.nilable(T::Boolean)).void } - def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil, advanced: nil) + sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String).void } + def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil) @filter = filter @filter_type = filter_type @key = key @title = title @type = type - @advanced = advanced end def ==(other) @@ -44,7 +41,6 @@ module PlexRubySDK return false unless @key == other.key return false unless @title == other.title return false unless @type == other.type - return false unless @advanced == other.advanced true end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb index 5944625..5cdb930 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb @@ -13,17 +13,24 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # 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 + # + field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - sig { params(tag: T.nilable(::String)).void } - def initialize(tag: nil) + sig { params(id: ::Integer, tag: ::String).void } + def initialize(id: nil, tag: nil) + @id = id @tag = tag end def ==(other) return false unless other.is_a? self.class + return false unless @id == other.id return false unless @tag == other.tag true end diff --git a/lib/plex_ruby_sdk/models/operations/mediaguid.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_guids.rb similarity index 83% rename from lib/plex_ruby_sdk/models/operations/mediaguid.rb rename to lib/plex_ruby_sdk/models/operations/get_library_items_guids.rb index 1e322ea..00ecde8 100644 --- a/lib/plex_ruby_sdk/models/operations/mediaguid.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_guids.rb @@ -9,12 +9,11 @@ module PlexRubySDK module Operations - class MediaGuid + class GetLibraryItemsGuids extend T::Sig include Crystalline::MetadataFields - # Can be one of the following formats: - # imdb://tt13015952, tmdb://2434012, tvdb://7945991 + # 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_library_items_hasthumbnail.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb index b454bc0..24e7a32 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb @@ -8,7 +8,8 @@ module PlexRubySDK module Models module Operations - + # GetLibraryItemsHasThumbnail - Indicates if the part has a thumbnail. + # class GetLibraryItemsHasThumbnail < T::Enum enums do FALSE = new('0') diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb index 6d31b56..29b5e3e 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb @@ -16,12 +16,12 @@ module PlexRubySDK field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } } - field :type, Models::Operations::GetLibraryItemsLibraryResponse200Type, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsLibraryResponse200Type, false) } } + field :type, Models::Operations::GetLibraryItemsLibraryResponseType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsLibraryResponseType, false) } } field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } } - sig { params(alt: ::String, type: Models::Operations::GetLibraryItemsLibraryResponse200Type, url: ::String).void } + sig { params(alt: ::String, type: Models::Operations::GetLibraryItemsLibraryResponseType, 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_library_items_library_activedirection.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb deleted file mode 100644 index bef547d..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb +++ /dev/null @@ -1,21 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - # GetLibraryItemsLibraryActiveDirection - The direction of the sort. Can be either `asc` or `desc`. - # - class GetLibraryItemsLibraryActiveDirection < T::Enum - enums do - ASCENDING = new('asc') - DESCENDING = new('desc') - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb deleted file mode 100644 index 59bf63a..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb +++ /dev/null @@ -1,21 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - # GetLibraryItemsLibraryDefaultDirection - The direction of the sort. Can be either `asc` or `desc`. - # - class GetLibraryItemsLibraryDefaultDirection < T::Enum - enums do - ASCENDING = new('asc') - DESCENDING = new('desc') - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb deleted file mode 100644 index 6086d86..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb +++ /dev/null @@ -1,45 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - - class GetLibraryItemsLibraryField - extend T::Sig - include Crystalline::MetadataFields - - - field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - - field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - - field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - - field :sub_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subType') } } - - - sig { params(key: ::String, title: ::String, type: ::String, sub_type: T.nilable(::String)).void } - def initialize(key: nil, title: nil, type: nil, sub_type: nil) - @key = key - @title = title - @type = type - @sub_type = sub_type - end - - def ==(other) - return false unless other.is_a? self.class - return false unless @key == other.key - return false unless @title == other.title - return false unless @type == other.type - return false unless @sub_type == other.sub_type - true - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb deleted file mode 100644 index bb0b029..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb +++ /dev/null @@ -1,37 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - - class GetLibraryItemsLibraryFieldType - extend T::Sig - include Crystalline::MetadataFields - - - field :operator, T::Array[Models::Operations::GetLibraryItemsLibraryOperator], { '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::GetLibraryItemsLibraryOperator], type: ::String).void } - def initialize(operator: nil, type: nil) - @operator = operator - @type = type - end - - def ==(other) - return false unless other.is_a? self.class - return false unless @operator == other.operator - return false unless @type == other.type - true - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb deleted file mode 100644 index 63d356e..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb +++ /dev/null @@ -1,49 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - - class GetLibraryItemsLibraryFilter - extend T::Sig - include Crystalline::MetadataFields - - - field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } - - field :filter_type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filterType') } } - - field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - - field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - - field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - - - sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String).void } - def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil) - @filter = filter - @filter_type = filter_type - @key = key - @title = title - @type = type - end - - def ==(other) - return false unless other.is_a? self.class - return false unless @filter == other.filter - return false unless @filter_type == other.filter_type - return false unless @key == other.key - return false unless @title == other.title - return false unless @type == other.type - true - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb deleted file mode 100644 index 6e3e7d0..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb +++ /dev/null @@ -1,37 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - - class GetLibraryItemsLibraryOperator - extend T::Sig - include Crystalline::MetadataFields - - - field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - - field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - - - sig { params(key: ::String, title: ::String).void } - def initialize(key: nil, title: nil) - @key = key - @title = title - end - - def ==(other) - return false unless other.is_a? self.class - return false unless @key == other.key - return false unless @title == other.title - true - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_collection.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_optimizedforstreaming.rb similarity index 53% rename from lib/plex_ruby_sdk/models/operations/get_search_all_libraries_collection.rb rename to lib/plex_ruby_sdk/models/operations/get_library_items_library_optimizedforstreaming.rb index 7a33dd3..6cb673d 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_collection.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_optimizedforstreaming.rb @@ -8,23 +8,19 @@ module PlexRubySDK module Models module Operations - - class GetSearchAllLibrariesCollection + # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + # + class GetLibraryItemsLibraryOptimizedForStreaming extend T::Sig include Crystalline::MetadataFields - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - - sig { params(tag: T.nilable(::String)).void } - def initialize(tag: nil) - @tag = tag - end + + def initialize; end def ==(other) return false unless other.is_a? self.class - return false unless @tag == other.tag true end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb index f744663..7849e17 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb @@ -9,47 +9,12 @@ module PlexRubySDK module Operations - class GetLibraryItemsLibraryResponseType - extend T::Sig - include Crystalline::MetadataFields - - - field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } - - field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - - field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - - field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - - field :field, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } - - field :filter, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } - - field :sort, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibrarySort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } - - - sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryField]), filter: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryFilter]), sort: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibrarySort])).void } - def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil) - @active = active - @key = key - @title = title - @type = type - @field = field - @filter = filter - @sort = sort - end - - def ==(other) - return false unless other.is_a? self.class - return false unless @active == other.active - return false unless @key == other.key - return false unless @title == other.title - return false unless @type == other.type - return false unless @field == other.field - return false unless @filter == other.filter - return false unless @sort == other.sort - true + class GetLibraryItemsLibraryResponseType < T::Enum + enums do + COVER_POSTER = new('coverPoster') + BACKGROUND = new('background') + SNAPSHOT = new('snapshot') + CLEAR_LOGO = new('clearLogo') end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb deleted file mode 100644 index 3fd643f..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb +++ /dev/null @@ -1,63 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - - class GetLibraryItemsLibrarySort - extend T::Sig - include Crystalline::MetadataFields - - # The direction of the sort. Can be either `asc` or `desc`. - # - field :default_direction, Models::Operations::GetLibraryItemsLibraryDefaultDirection, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsLibraryDefaultDirection, false) } } - - field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - - field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - - 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::GetLibraryItemsLibraryActiveDirection), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('activeDirection'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsLibraryActiveDirection, true) } } - - field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } - - field :desc_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('descKey') } } - - field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } } - - - sig { params(default_direction: Models::Operations::GetLibraryItemsLibraryDefaultDirection, key: ::String, title: ::String, active: T.nilable(T::Boolean), active_direction: T.nilable(Models::Operations::GetLibraryItemsLibraryActiveDirection), 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 - @title = title - @active = active - @active_direction = active_direction - @default = default - @desc_key = desc_key - @first_character_key = first_character_key - end - - def ==(other) - return false unless other.is_a? self.class - return false unless @default_direction == other.default_direction - return false unless @key == other.key - return false unless @title == other.title - return false unless @active == other.active - return false unless @active_direction == other.active_direction - return false unless @default == other.default - return false unless @desc_key == other.desc_key - return false unless @first_character_key == other.first_character_key - true - end - end - 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 9f33b3e..8b8d5ae 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,20 +8,48 @@ module PlexRubySDK module Models module Operations - # GetLibraryItemsLibraryType - The type of media content in the Plex library. This can represent videos, music, or photos. - # - class GetLibraryItemsLibraryType < T::Enum - enums do - MOVIE = new('movie') - TV_SHOW = new('show') - SEASON = new('season') - EPISODE = new('episode') - ARTIST = new('artist') - ALBUM = new('album') - TRACK = new('track') - PHOTO_ALBUM = new('photoalbum') - PHOTO = new('photo') - COLLECTION = new('collection') + + class GetLibraryItemsLibraryType + extend T::Sig + include Crystalline::MetadataFields + + + field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + field :field, T.nilable(T::Array[Models::Operations::GetLibraryItemsField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } + + field :filter, T.nilable(T::Array[Models::Operations::GetLibraryItemsFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } + + field :sort, T.nilable(T::Array[Models::Operations::GetLibraryItemsSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } + + + sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[Models::Operations::GetLibraryItemsField]), filter: T.nilable(T::Array[Models::Operations::GetLibraryItemsFilter]), sort: T.nilable(T::Array[Models::Operations::GetLibraryItemsSort])).void } + def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil) + @active = active + @key = key + @title = title + @type = type + @field = field + @filter = filter + @sort = sort + end + + def ==(other) + return false unless other.is_a? self.class + return false unless @active == other.active + return false unless @key == other.key + return false unless @title == other.title + return false unless @type == other.type + return false unless @field == other.field + return false unless @filter == other.filter + return false unless @sort == other.sort + true end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_location.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_location.rb index 699b0c4..7cc4c19 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_location.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_location.rb @@ -8,16 +8,16 @@ module PlexRubySDK module Models module Operations - + # The folder path for the media item. class GetLibraryItemsLocation extend T::Sig include Crystalline::MetadataFields - field :path, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } } + field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } } - sig { params(path: T.nilable(::String)).void } + sig { params(path: ::String).void } def initialize(path: nil) @path = path end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb index 595cc6b..e825e7a 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb @@ -13,59 +13,65 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } - + # Unique media identifier. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - - field :part, T::Array[Models::Operations::GetLibraryItemsPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } } - + # Aspect ratio of the video. field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } } - + # Number of audio channels. field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } } - + # Audio codec used. field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } } - + # The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } } - + # Bitrate in bits per second. field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } } + # Container format of the media. + field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } + field :display_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayOffset') } } + # Duration of the media in milliseconds. field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } - + # Indicates whether the media has 64-bit offsets. + # This is relevant for media files that may require larger offsets than what 32-bit integers can provide. + # field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } } - + # Indicates whether voice activity is detected. field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } } - + # Video height in pixels. field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } + # 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') } } - field :optimized_for_streaming, T.nilable(Models::Operations::GetLibraryItemsOptimizedForStreaming), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsOptimizedForStreaming, true) } } - + field :part, T.nilable(T::Array[Models::Operations::GetLibraryItemsPart]), { '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 + # field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } } - + # Video profile (e.g., main 10). field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } - + # Video resolution (e.g., 4k). field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } } - + # Video width in pixels. field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } - sig { params(container: ::String, id: ::Integer, part: T::Array[Models::Operations::GetLibraryItemsPart], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: 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(Models::Operations::GetLibraryItemsOptimizedForStreaming), 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(container: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil) - @container = container + 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::GetLibraryItemsPart]), 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 - @part = part @aspect_ratio = aspect_ratio @audio_channels = audio_channels @audio_codec = audio_codec @audio_profile = audio_profile @bitrate = bitrate + @container = container + @display_offset = display_offset @duration = duration @has64bit_offsets = has64bit_offsets @has_voice_activity = has_voice_activity @height = height @optimized_for_streaming = optimized_for_streaming + @part = part @video_codec = video_codec @video_frame_rate = video_frame_rate @video_profile = video_profile @@ -75,19 +81,20 @@ module PlexRubySDK def ==(other) return false unless other.is_a? self.class - return false unless @container == other.container return false unless @id == other.id - return false unless @part == other.part return false unless @aspect_ratio == other.aspect_ratio return false unless @audio_channels == other.audio_channels return false unless @audio_codec == other.audio_codec return false unless @audio_profile == other.audio_profile return false unless @bitrate == other.bitrate + return false unless @container == other.container + return false unless @display_offset == other.display_offset return false unless @duration == other.duration return false unless @has64bit_offsets == other.has64bit_offsets return false unless @has_voice_activity == other.has_voice_activity return false unless @height == other.height return false unless @optimized_for_streaming == other.optimized_for_streaming + return false unless @part == other.part return false unless @video_codec == other.video_codec return false unless @video_frame_rate == other.video_frame_rate return false unless @video_profile == other.video_profile diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb index 0632443..00f2efa 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb @@ -8,72 +8,66 @@ module PlexRubySDK module Models module Operations - # The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. - # + class GetLibraryItemsMediaContainer extend T::Sig include Crystalline::MetadataFields - + # Indicates whether syncing is allowed. field :allow_sync, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } } - + # URL for the background artwork of the media container. field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } } - + # The content type or mode. field :content, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('content') } } - + # An plugin identifier for the media container. field :identifier, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } } - - field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } - - field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } - - field :library_section_uuid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } } - + # 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') } } - + # An array of metadata items. + field :metadata, T::Array[Models::Operations::GetLibraryItemsMetadata], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } + # Specifies whether caching is disabled. + field :nocache, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('nocache') } } + # Offset value for pagination. field :offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('offset') } } - + # Number of media items returned in this response. field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } - + # URL for the thumbnail image of the media container. field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } - + # The primary title of the media container. field :title1, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title1') } } - + # The secondary title of the media container. field :title2, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title2') } } - + # Total number of media items in the library. field :total_size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('totalSize') } } - + # Identifier for the view group layout. field :view_group, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewGroup') } } - - field :field_type, T.nilable(T::Array[Models::Operations::GetLibraryItemsFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } + # The unique identifier for the library section. + field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } + # The title of the library section. + field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } + # The universally unique identifier for the library section. + 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::GetLibraryItemsMeta), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Meta') } } - - field :metadata, T.nilable(T::Array[Models::Operations::GetLibraryItemsMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } - + # Indicates if the media container has mixed parents. field :mixed_parents, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mixedParents') } } - - field :nocache, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('nocache') } } - - field :type, T.nilable(T::Array[Models::Operations::GetLibraryItemsType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } - - field :view_mode, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } } + # Identifier for the view mode. + field :view_mode, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } } - sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, library_section_uuid: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, field_type: T.nilable(T::Array[Models::Operations::GetLibraryItemsFieldType]), meta: T.nilable(Models::Operations::GetLibraryItemsMeta), metadata: T.nilable(T::Array[Models::Operations::GetLibraryItemsMetadata]), mixed_parents: T.nilable(T::Boolean), nocache: T.nilable(T::Boolean), type: T.nilable(T::Array[Models::Operations::GetLibraryItemsType]), view_mode: T.nilable(::Integer)).void } - def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil, media_tag_prefix: nil, media_tag_version: nil, offset: nil, size: nil, thumb: nil, title1: nil, title2: nil, total_size: nil, view_group: nil, field_type: nil, meta: nil, metadata: nil, mixed_parents: nil, nocache: nil, type: nil, view_mode: nil) + sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, metadata: T::Array[Models::Operations::GetLibraryItemsMetadata], nocache: T::Boolean, offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, library_section_id: T.nilable(::Integer), library_section_title: T.nilable(::String), library_section_uuid: T.nilable(::String), meta: T.nilable(Models::Operations::GetLibraryItemsMeta), mixed_parents: T.nilable(T::Boolean), view_mode: T.nilable(::String)).void } + def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, nocache: nil, offset: nil, size: nil, thumb: nil, title1: nil, title2: nil, total_size: nil, view_group: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil, meta: nil, mixed_parents: nil, view_mode: nil) @allow_sync = allow_sync @art = art @content = content @identifier = identifier - @library_section_id = library_section_id - @library_section_title = library_section_title - @library_section_uuid = library_section_uuid @media_tag_prefix = media_tag_prefix @media_tag_version = media_tag_version + @metadata = metadata + @nocache = nocache @offset = offset @size = size @thumb = thumb @@ -81,12 +75,11 @@ module PlexRubySDK @title2 = title2 @total_size = total_size @view_group = view_group - @field_type = field_type + @library_section_id = library_section_id + @library_section_title = library_section_title + @library_section_uuid = library_section_uuid @meta = meta - @metadata = metadata @mixed_parents = mixed_parents - @nocache = nocache - @type = type @view_mode = view_mode end @@ -96,11 +89,10 @@ module PlexRubySDK return false unless @art == other.art return false unless @content == other.content return false unless @identifier == other.identifier - return false unless @library_section_id == other.library_section_id - return false unless @library_section_title == other.library_section_title - return false unless @library_section_uuid == other.library_section_uuid 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 @nocache == other.nocache return false unless @offset == other.offset return false unless @size == other.size return false unless @thumb == other.thumb @@ -108,12 +100,11 @@ module PlexRubySDK return false unless @title2 == other.title2 return false unless @total_size == other.total_size return false unless @view_group == other.view_group - return false unless @field_type == other.field_type + return false unless @library_section_id == other.library_section_id + return false unless @library_section_title == other.library_section_title + return false unless @library_section_uuid == other.library_section_uuid return false unless @meta == other.meta - return false unless @metadata == other.metadata return false unless @mixed_parents == other.mixed_parents - return false unless @nocache == other.nocache - return false unless @type == other.type return false unless @view_mode == other.view_mode true end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb index 9ebad67..8c27865 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb @@ -15,12 +15,12 @@ module PlexRubySDK include Crystalline::MetadataFields - field :field_type, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } + field :field_type, T.nilable(T::Array[Models::Operations::GetLibraryItemsFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } - field :type, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryResponseType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } + field :type, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } - sig { params(field_type: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryFieldType]), type: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryResponseType])).void } + sig { params(field_type: T.nilable(T::Array[Models::Operations::GetLibraryItemsFieldType]), type: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryType])).void } def initialize(field_type: nil, type: nil) @field_type = field_type @type = type 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 83b48ed..f10aaa9 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 @@ -8,199 +8,210 @@ module PlexRubySDK module Models module Operations - + # Unknown + # class GetLibraryItemsMetadata extend T::Sig include Crystalline::MetadataFields - # Unix epoch datetime in seconds + field :added_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } } - + # The art image URL for the media item. + field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } } + # The audience rating for the media item. + field :audience_rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } } + # The banner image URL for the media item. + field :banner, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('banner') } } + # The number of child items associated with this media item. + field :child_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } } + # The duration of the media item in milliseconds. + field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } + # The globally unique identifier for the media item. field :guid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } } - + # The index position of the media item. + field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } + # The unique key for the media item. field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - # The rating key (Media ID) of this media item. - # Note: This is always an integer, but is represented as a string in the API. - # + # The critic rating for the media item. + field :rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } } + # The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. field :rating_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } } - + # The total number of seasons (for TV shows). + field :season_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('seasonCount') } } + # A URL‐friendly version of the media title. + field :slug, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } } + # A synopsis of the media item. field :summary, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } } - + # A brief tagline for the media item. + field :tagline, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } } + # The theme URL for the media item. + field :theme, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } } + # The thumbnail image URL for the media item. + field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } + # The title of the media item. field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - # 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) } } - - field :art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } } - - field :audience_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } } + # 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::GetLibraryItemsType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsType, false) } } + # The URL for the audience rating image. field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } } - field :banner, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('banner') } } - + field :chapter, T.nilable(T::Array[Models::Operations::Chapter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Chapter') } } + # The source from which chapter data is derived. field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } } - field :child_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } } - field :collection, T.nilable(T::Array[Models::Operations::GetLibraryItemsCollection]), { '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::GetLibraryItemsCountry]), { '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::GetLibraryItemsDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } } - field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } - # Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - field :enable_credits_marker_generation, T.nilable(Models::Operations::EnableCreditsMarkerGeneration), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('enableCreditsMarkerGeneration'), 'decoder': Utils.enum_from_string(Models::Operations::EnableCreditsMarkerGeneration, true) } } - # Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - field :episode_sort, T.nilable(Models::Operations::EpisodeSort), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('episodeSort'), 'decoder': Utils.enum_from_string(Models::Operations::EpisodeSort, true) } } + field :extras, T.nilable(Models::Operations::Extras), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Extras') } } # Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). + # field :flatten_seasons, T.nilable(Models::Operations::FlattenSeasons), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('flattenSeasons'), 'decoder': Utils.enum_from_string(Models::Operations::FlattenSeasons, true) } } field :genre, T.nilable(T::Array[Models::Operations::GetLibraryItemsGenre]), { '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. field :grandparent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentGuid') } } - + # The key of the grandparent media item. field :grandparent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentKey') } } - + # The rating key of the grandparent media item. field :grandparent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentRatingKey') } } - + # The slug for the grandparent media item. field :grandparent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentSlug') } } - + # The theme URL for the grandparent media item. field :grandparent_theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTheme') } } - + # The thumbnail URL for the grandparent media item. field :grandparent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentThumb') } } - + # The title of the grandparent media item. field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } } - field :has_premium_extras, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasPremiumExtras') } } - - field :has_premium_primary_extra, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasPremiumPrimaryExtra') } } + field :guids, T.nilable(T::Array[Models::Operations::GetLibraryItemsGuids]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } } field :image, T.nilable(T::Array[Models::Operations::GetLibraryItemsImage]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } } - - field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } - + # The Unix timestamp representing the last time the item was rated. + field :last_rated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastRatedAt') } } + # Unix timestamp for when the media item was last viewed. field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } } - + # The 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') } } - + # The identifier for the library section. field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } - + # The key corresponding to the library section. field :library_section_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } } - + # The title of the library section. field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } field :location, T.nilable(T::Array[Models::Operations::GetLibraryItemsLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } } - # The Media object is only included when type query is `4` or higher. - # + + field :marker, T.nilable(T::Array[Models::Operations::Marker]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Marker') } } + field :media, T.nilable(T::Array[Models::Operations::GetLibraryItemsMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } - # The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. - # - field :media_guid, T.nilable(T::Array[Models::Operations::MediaGuid]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } } - - field :meta_data_rating, T.nilable(T::Array[Models::Operations::MetaDataRating]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } } - + # The original release date of the media item. field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } } - + # The original title of the 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. field :parent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentGuid') } } - + # The index position of the parent media item. field :parent_index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentIndex') } } - + # The key of the parent media item. field :parent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentKey') } } - # The rating key of the parent item. - # + # The rating key of the parent media item. field :parent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentRatingKey') } } - - field :parent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentSlug') } } - - field :parent_studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentStudio') } } - - field :parent_theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentTheme') } } - + # The thumbnail URL for the parent media item. field :parent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentThumb') } } - + # The title of the parent media item. field :parent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentTitle') } } - - field :parent_year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentYear') } } - + # The primary extra key associated with this media item. field :primary_extra_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('primaryExtraKey') } } - field :rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } } - + field :producer, T.nilable(T::Array[Models::Operations::GetLibraryItemsProducer]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Producer') } } + # 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::GetLibraryItemsRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } } + field :ratings, T.nilable(T::Array[Models::Operations::Ratings]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } } - field :season_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('seasonCount') } } + field :role, T.nilable(T::Array[Models::Operations::GetLibraryItemsRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } } # Setting that indicates the episode ordering for the show. - # None = Library default, - # tmdbAiring = The Movie Database (Aired), - # aired = TheTVDB (Aired), - # dvd = TheTVDB (DVD), - # absolute = TheTVDB (Absolute)). + # Options: + # - None = Library default + # - tmdbAiring = The Movie Database (Aired) + # - aired = TheTVDB (Aired) + # - dvd = TheTVDB (DVD) + # - absolute = TheTVDB (Absolute) # field :show_ordering, T.nilable(Models::Operations::ShowOrdering), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('showOrdering'), 'decoder': Utils.enum_from_string(Models::Operations::ShowOrdering, true) } } + field :similar, T.nilable(T::Array[Models::Operations::GetLibraryItemsSimilar]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Similar') } } + # Indicates whether child items should be skipped. field :skip_children, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipChildren') } } - + # 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') } } - - field :slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } } - + # The studio that produced the media item. field :studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('studio') } } - - field :tagline, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } } - - field :theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } } - - field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } - - field :title_sort, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('titleSort') } } + # 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::GetLibraryItemsUltraBlurColors), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } } # Unix epoch datetime in seconds field :updated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } } - + # The rating provided by a user for the item. This value is expressed as a decimal number. + field :user_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('userRating') } } + # The number of times this media item has been viewed. field :view_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewCount') } } - + # The number of leaf items that have been viewed. field :viewed_leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewedLeafCount') } } - + # 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::GetLibraryItemsWriter]), { '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, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: Models::Operations::GetLibraryItemsLibraryType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[Models::Operations::GetLibraryItemsCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::GetLibraryItemsCountry]), director: T.nilable(T::Array[Models::Operations::GetLibraryItemsDirector]), duration: T.nilable(::Integer), enable_credits_marker_generation: T.nilable(Models::Operations::EnableCreditsMarkerGeneration), episode_sort: T.nilable(Models::Operations::EpisodeSort), flatten_seasons: T.nilable(Models::Operations::FlattenSeasons), genre: T.nilable(T::Array[Models::Operations::GetLibraryItemsGenre]), 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), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[Models::Operations::GetLibraryItemsImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[Models::Operations::GetLibraryItemsLocation]), media: T.nilable(T::Array[Models::Operations::GetLibraryItemsMedia]), media_guid: T.nilable(T::Array[Models::Operations::MediaGuid]), meta_data_rating: T.nilable(T::Array[Models::Operations::MetaDataRating]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[Models::Operations::GetLibraryItemsRole]), season_count: T.nilable(::Integer), show_ordering: T.nilable(Models::Operations::ShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::GetLibraryItemsUltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[Models::Operations::GetLibraryItemsWriter]), year: T.nilable(::Integer)).void } - def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, enable_credits_marker_generation: nil, episode_sort: nil, flatten_seasons: 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, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil) + sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, banner: ::String, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String, 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::GetLibraryItemsType, audience_rating_image: T.nilable(::String), chapter: T.nilable(T::Array[Models::Operations::Chapter]), chapter_source: T.nilable(::String), collection: T.nilable(T::Array[Models::Operations::GetLibraryItemsCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::GetLibraryItemsCountry]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::GetLibraryItemsDirector]), extras: T.nilable(Models::Operations::Extras), flatten_seasons: T.nilable(Models::Operations::FlattenSeasons), genre: T.nilable(T::Array[Models::Operations::GetLibraryItemsGenre]), 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::GetLibraryItemsGuids]), image: T.nilable(T::Array[Models::Operations::GetLibraryItemsImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[Models::Operations::GetLibraryItemsLocation]), marker: T.nilable(T::Array[Models::Operations::Marker]), media: T.nilable(T::Array[Models::Operations::GetLibraryItemsMedia]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[Models::Operations::GetLibraryItemsProducer]), rating_image: T.nilable(::String), ratings: T.nilable(T::Array[Models::Operations::Ratings]), role: T.nilable(T::Array[Models::Operations::GetLibraryItemsRole]), show_ordering: T.nilable(Models::Operations::ShowOrdering), similar: T.nilable(T::Array[Models::Operations::GetLibraryItemsSimilar]), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::GetLibraryItemsUltraBlurColors), 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::GetLibraryItemsWriter]), year: T.nilable(::Integer)).void } + def initialize(added_at: nil, art: nil, audience_rating: nil, banner: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: nil, rating: nil, rating_key: nil, season_count: nil, slug: nil, summary: nil, tagline: nil, theme: nil, thumb: nil, title: nil, title_sort: nil, type: nil, audience_rating_image: nil, chapter: nil, chapter_source: nil, collection: nil, content_rating: nil, country: nil, created_at_accuracy: nil, created_at_tz_offset: nil, director: nil, extras: nil, flatten_seasons: 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, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, marker: nil, media: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_thumb: nil, parent_title: nil, primary_extra_key: nil, producer: nil, rating_image: nil, ratings: nil, role: nil, show_ordering: nil, similar: nil, skip_children: 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 - @guid = guid - @key = key - @rating_key = rating_key - @summary = summary - @title = title - @type = type @art = art @audience_rating = audience_rating - @audience_rating_image = audience_rating_image @banner = banner - @chapter_source = chapter_source @child_count = child_count + @duration = duration + @guid = guid + @index = index + @key = key + @rating = rating + @rating_key = rating_key + @season_count = season_count + @slug = slug + @summary = summary + @tagline = tagline + @theme = theme + @thumb = thumb + @title = title + @title_sort = title_sort + @type = type + @audience_rating_image = audience_rating_image + @chapter = chapter + @chapter_source = chapter_source @collection = collection @content_rating = content_rating @country = country + @created_at_accuracy = created_at_accuracy + @created_at_tz_offset = created_at_tz_offset @director = director - @duration = duration - @enable_credits_marker_generation = enable_credits_marker_generation - @episode_sort = episode_sort + @extras = extras @flatten_seasons = flatten_seasons @genre = genre @grandparent_art = grandparent_art @@ -211,47 +222,39 @@ module PlexRubySDK @grandparent_theme = grandparent_theme @grandparent_thumb = grandparent_thumb @grandparent_title = grandparent_title - @has_premium_extras = has_premium_extras - @has_premium_primary_extra = has_premium_primary_extra + @guids = guids @image = image - @index = index + @last_rated_at = last_rated_at @last_viewed_at = last_viewed_at @leaf_count = leaf_count @library_section_id = library_section_id @library_section_key = library_section_key @library_section_title = library_section_title @location = location + @marker = marker @media = media - @media_guid = media_guid - @meta_data_rating = meta_data_rating @originally_available_at = originally_available_at @original_title = original_title @parent_guid = parent_guid @parent_index = parent_index @parent_key = parent_key @parent_rating_key = parent_rating_key - @parent_slug = parent_slug - @parent_studio = parent_studio - @parent_theme = parent_theme @parent_thumb = parent_thumb @parent_title = parent_title - @parent_year = parent_year @primary_extra_key = primary_extra_key - @rating = rating + @producer = producer @rating_image = rating_image + @ratings = ratings @role = role - @season_count = season_count @show_ordering = show_ordering + @similar = similar @skip_children = skip_children @skip_count = skip_count - @slug = slug @studio = studio - @tagline = tagline - @theme = theme - @thumb = thumb - @title_sort = title_sort + @subtype = subtype @ultra_blur_colors = ultra_blur_colors @updated_at = updated_at + @user_rating = user_rating @view_count = view_count @viewed_leaf_count = viewed_leaf_count @view_offset = view_offset @@ -262,25 +265,35 @@ module PlexRubySDK def ==(other) return false unless other.is_a? self.class return false unless @added_at == other.added_at - return false unless @guid == other.guid - return false unless @key == other.key - return false unless @rating_key == other.rating_key - return false unless @summary == other.summary - return false unless @title == other.title - return false unless @type == other.type return false unless @art == other.art return false unless @audience_rating == other.audience_rating - return false unless @audience_rating_image == other.audience_rating_image return false unless @banner == other.banner - return false unless @chapter_source == other.chapter_source return false unless @child_count == other.child_count + return false unless @duration == other.duration + return false unless @guid == other.guid + return false unless @index == other.index + return false unless @key == other.key + return false unless @rating == other.rating + return false unless @rating_key == other.rating_key + return false unless @season_count == other.season_count + return false unless @slug == other.slug + return false unless @summary == other.summary + return false unless @tagline == other.tagline + return false unless @theme == other.theme + return false unless @thumb == other.thumb + return false unless @title == other.title + return false unless @title_sort == other.title_sort + return false unless @type == other.type + return false unless @audience_rating_image == other.audience_rating_image + return false unless @chapter == other.chapter + return false unless @chapter_source == other.chapter_source return false unless @collection == other.collection return false unless @content_rating == other.content_rating return false unless @country == other.country + return false unless @created_at_accuracy == other.created_at_accuracy + return false unless @created_at_tz_offset == other.created_at_tz_offset return false unless @director == other.director - return false unless @duration == other.duration - return false unless @enable_credits_marker_generation == other.enable_credits_marker_generation - return false unless @episode_sort == other.episode_sort + return false unless @extras == other.extras return false unless @flatten_seasons == other.flatten_seasons return false unless @genre == other.genre return false unless @grandparent_art == other.grandparent_art @@ -291,47 +304,39 @@ module PlexRubySDK return false unless @grandparent_theme == other.grandparent_theme return false unless @grandparent_thumb == other.grandparent_thumb return false unless @grandparent_title == other.grandparent_title - return false unless @has_premium_extras == other.has_premium_extras - return false unless @has_premium_primary_extra == other.has_premium_primary_extra + return false unless @guids == other.guids return false unless @image == other.image - return false unless @index == other.index + return false unless @last_rated_at == other.last_rated_at return false unless @last_viewed_at == other.last_viewed_at return false unless @leaf_count == other.leaf_count return false unless @library_section_id == other.library_section_id return false unless @library_section_key == other.library_section_key return false unless @library_section_title == other.library_section_title return false unless @location == other.location + return false unless @marker == other.marker return false unless @media == other.media - return false unless @media_guid == other.media_guid - return false unless @meta_data_rating == other.meta_data_rating return false unless @originally_available_at == other.originally_available_at return false unless @original_title == other.original_title return false unless @parent_guid == other.parent_guid return false unless @parent_index == other.parent_index return false unless @parent_key == other.parent_key return false unless @parent_rating_key == other.parent_rating_key - return false unless @parent_slug == other.parent_slug - return false unless @parent_studio == other.parent_studio - return false unless @parent_theme == other.parent_theme return false unless @parent_thumb == other.parent_thumb return false unless @parent_title == other.parent_title - return false unless @parent_year == other.parent_year return false unless @primary_extra_key == other.primary_extra_key - return false unless @rating == other.rating + return false unless @producer == other.producer return false unless @rating_image == other.rating_image + return false unless @ratings == other.ratings return false unless @role == other.role - return false unless @season_count == other.season_count return false unless @show_ordering == other.show_ordering + return false unless @similar == other.similar return false unless @skip_children == other.skip_children return false unless @skip_count == other.skip_count - return false unless @slug == other.slug return false unless @studio == other.studio - return false unless @tagline == other.tagline - return false unless @theme == other.theme - return false unless @thumb == other.thumb - return false unless @title_sort == other.title_sort + return false unless @subtype == other.subtype return false unless @ultra_blur_colors == other.ultra_blur_colors return false unless @updated_at == other.updated_at + return false unless @user_rating == other.user_rating return false unless @view_count == other.view_count return false unless @viewed_leaf_count == other.viewed_leaf_count return false unless @view_offset == other.view_offset diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb index efdc7f3..c1d751a 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb @@ -8,11 +8,19 @@ module PlexRubySDK module Models module Operations + # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + class GetLibraryItemsOptimizedForStreaming + extend T::Sig + include Crystalline::MetadataFields - class GetLibraryItemsOptimizedForStreaming < T::Enum - enums do - DISABLE = new(0) - ENABLE = new(1) + + + + def initialize; end + + def ==(other) + return false unless other.is_a? self.class + true end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming_1.rb similarity index 51% rename from lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb rename to lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming_1.rb index 36b39d5..0e6a9d1 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming_1.rb @@ -9,12 +9,10 @@ module PlexRubySDK module Operations - class GetLibraryItemsLibraryResponse200Type < T::Enum + class GetLibraryItemsOptimizedForStreaming1 < T::Enum enums do - COVER_POSTER = new('coverPoster') - BACKGROUND = new('background') - SNAPSHOT = new('snapshot') - CLEAR_LOGO = new('clearLogo') + ZERO = new(0) + ONE = new(1) end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb index bbbc1e8..c832382 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb @@ -13,66 +13,74 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # The container format of the media file. - # - field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } - - field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } } - + # Unique part identifier. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - - field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - - field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } - + # Indicates if the part is accessible. + field :accessible, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('accessible') } } + # The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } } - + # Container format of the part. + field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } + # Duration of the part in milliseconds. field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } + # Indicates if the part exists. + field :exists, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('exists') } } + # File path for the part. + field :file, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } } field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } } field :has_thumbnail, T.nilable(Models::Operations::GetLibraryItemsHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsHasThumbnail, true) } } field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } } + # Key to access this part. + field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + # 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::GetLibraryItemsOptimizedForStreaming1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } - field :optimized_for_streaming, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } - - field :stream, T.nilable(T::Array[Models::Operations::GetLibraryItemsStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } } - + field :packet_length, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('packetLength') } } + # File size in bytes. + field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + # Video profile for the part. field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } - sig { params(container: ::String, file: ::String, id: ::Integer, key: ::String, size: ::Integer, audio_profile: T.nilable(::String), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(Models::Operations::GetLibraryItemsHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[Models::Operations::GetLibraryItemsStream]), video_profile: T.nilable(::String)).void } - def initialize(container: nil, file: nil, id: nil, key: nil, size: nil, audio_profile: nil, duration: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil, video_profile: nil) - @container = container - @file = file + sig { params(id: ::Integer, accessible: T.nilable(T::Boolean), audio_profile: T.nilable(::String), container: T.nilable(::String), duration: T.nilable(::Integer), exists: T.nilable(T::Boolean), file: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(Models::Operations::GetLibraryItemsHasThumbnail), indexes: T.nilable(::String), key: T.nilable(::String), optimized_for_streaming: T.nilable(T.any(Models::Operations::GetLibraryItemsOptimizedForStreaming1, T::Boolean)), packet_length: T.nilable(::Integer), size: T.nilable(::Integer), video_profile: T.nilable(::String)).void } + def initialize(id: nil, accessible: nil, audio_profile: nil, container: nil, duration: nil, exists: nil, file: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, key: nil, optimized_for_streaming: nil, packet_length: nil, size: nil, video_profile: nil) @id = id - @key = key - @size = size + @accessible = accessible @audio_profile = audio_profile + @container = container @duration = duration + @exists = exists + @file = file @has64bit_offsets = has64bit_offsets @has_thumbnail = has_thumbnail @indexes = indexes + @key = key @optimized_for_streaming = optimized_for_streaming - @stream = stream + @packet_length = packet_length + @size = size @video_profile = video_profile end def ==(other) return false unless other.is_a? self.class - return false unless @container == other.container - return false unless @file == other.file return false unless @id == other.id - return false unless @key == other.key - return false unless @size == other.size + return false unless @accessible == other.accessible return false unless @audio_profile == other.audio_profile + return false unless @container == other.container return false unless @duration == other.duration + return false unless @exists == other.exists + return false unless @file == other.file return false unless @has64bit_offsets == other.has64bit_offsets return false unless @has_thumbnail == other.has_thumbnail return false unless @indexes == other.indexes + return false unless @key == other.key return false unless @optimized_for_streaming == other.optimized_for_streaming - return false unless @stream == other.stream + return false unless @packet_length == other.packet_length + return false unless @size == other.size return false unless @video_profile == other.video_profile true end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_producer.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_producer.rb new file mode 100644 index 0000000..eb6fe3e --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_producer.rb @@ -0,0 +1,53 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + + class GetLibraryItemsProducer + extend T::Sig + include Crystalline::MetadataFields + + # The filter string for the role. + field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } + # The unique role identifier. + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + # The actor's name. + field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # A key associated with the actor tag. + field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } + # The character name or role. + field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } } + # URL for the role thumbnail image. + field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } + + + sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void } + def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil) + @filter = filter + @id = id + @tag = tag + @tag_key = tag_key + @role = role + @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 @role == other.role + return false unless @thumb == other.thumb + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb index 252808b..14d7508 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb @@ -13,37 +13,31 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # The filter used to find the actor or tag. - field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } - # The ID of the tag or actor. - field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # The role of the actor or tag in the media. + # 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') } } + # The role played by the actor in the media item. field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } } - # The name of the tag or actor. - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - # Unique identifier for the tag. - field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } - # The thumbnail of 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: T.nilable(::String), id: T.nilable(::Integer), role: T.nilable(::String), tag: T.nilable(::String), tag_key: T.nilable(::String), thumb: T.nilable(::String)).void } - def initialize(filter: nil, id: nil, role: nil, tag: nil, tag_key: nil, thumb: nil) - @filter = filter + sig { params(id: ::Integer, tag: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void } + def initialize(id: nil, tag: nil, role: nil, thumb: nil) @id = id - @role = role @tag = tag - @tag_key = tag_key + @role = role @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 @role == other.role return false unless @tag == other.tag - return false unless @tag_key == other.tag_key + return false unless @role == other.role return false unless @thumb == other.thumb true end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_similar.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_similar.rb new file mode 100644 index 0000000..90ace58 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_similar.rb @@ -0,0 +1,41 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + + class GetLibraryItemsSimilar + extend T::Sig + include Crystalline::MetadataFields + + # The filter string for similar items. + field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } + # The unique similar item identifier. + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + # The tag or title of the similar content. + field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + + + sig { params(filter: ::String, id: ::Integer, tag: ::String).void } + def initialize(filter: nil, id: nil, tag: nil) + @filter = filter + @id = id + @tag = tag + 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 + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb deleted file mode 100644 index 4e282a7..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb +++ /dev/null @@ -1,181 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - - class GetLibraryItemsStream - extend T::Sig - include Crystalline::MetadataFields - - # Codec used by the stream - field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } } - - field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # The index of the stream - field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } - # Type of stream (1 = video, 2 = audio, 3 = subtitle) - field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } } - # The audio channel layout - field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } } - # The bit depth of the video stream - field :bit_depth, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitDepth') } } - # The bitrate of the stream in kbps - field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } } - # Indicates if the subtitle stream can auto-sync - field :can_auto_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('canAutoSync') } } - # Number of audio channels (for audio streams) - field :channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('channels') } } - # The chroma location of the video stream - field :chroma_location, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaLocation') } } - # The chroma subsampling format - field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } } - - field :closed_captions, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('closedCaptions') } } - # The coded height of the video stream - field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } } - # The coded width of the video stream - field :coded_width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedWidth') } } - # The color primaries of the video stream - field :color_primaries, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorPrimaries') } } - # The color range of the video stream - field :color_range, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorRange') } } - # The color space of the video stream - field :color_space, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorSpace') } } - # The transfer characteristics (TRC) of the video stream - field :color_trc, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorTrc') } } - # Indicates if this is the default stream - field :default, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } - # Display title of the stream - field :display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } } - - field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } } - # Extended display title of the stream - field :extended_display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } } - # The frame rate of the video stream - field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } } - # Indicates if the stream has a scaling matrix - field :has_scaling_matrix, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasScalingMatrix') } } - - field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } } - # The height of the video stream - field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } - # The language of the stream (for audio/subtitle streams) - field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } } - # Language code of the stream - field :language_code, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageCode') } } - # Language tag of the stream - field :language_tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageTag') } } - # The level of the video codec - field :level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('level') } } - # The profile of the video codec - field :profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('profile') } } - # Number of reference frames - field :ref_frames, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('refFrames') } } - # Sampling rate of the audio stream in Hz - field :sampling_rate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('samplingRate') } } - # The scan type (progressive or interlaced) - field :scan_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scanType') } } - # Indicates if the stream is selected - field :selected, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('selected') } } - # The identifier of the video stream - field :stream_identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamIdentifier') } } - # Title of the subtitle track (for subtitle streams) - field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - # The width of the video stream - field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } - - - sig { params(codec: ::String, id: ::Integer, index: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), display_title: T.nilable(::String), embedded_in_video: T.nilable(::String), extended_display_title: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), stream_identifier: T.nilable(::String), title: T.nilable(::String), width: T.nilable(::Integer)).void } - def initialize(codec: nil, id: nil, index: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, display_title: nil, embedded_in_video: nil, extended_display_title: nil, frame_rate: nil, has_scaling_matrix: nil, hearing_impaired: nil, height: nil, language: nil, language_code: nil, language_tag: nil, level: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, stream_identifier: nil, title: nil, width: nil) - @codec = codec - @id = id - @index = index - @stream_type = stream_type - @audio_channel_layout = audio_channel_layout - @bit_depth = bit_depth - @bitrate = bitrate - @can_auto_sync = can_auto_sync - @channels = channels - @chroma_location = chroma_location - @chroma_subsampling = chroma_subsampling - @closed_captions = closed_captions - @coded_height = coded_height - @coded_width = coded_width - @color_primaries = color_primaries - @color_range = color_range - @color_space = color_space - @color_trc = color_trc - @default = default - @display_title = display_title - @embedded_in_video = embedded_in_video - @extended_display_title = extended_display_title - @frame_rate = frame_rate - @has_scaling_matrix = has_scaling_matrix - @hearing_impaired = hearing_impaired - @height = height - @language = language - @language_code = language_code - @language_tag = language_tag - @level = level - @profile = profile - @ref_frames = ref_frames - @sampling_rate = sampling_rate - @scan_type = scan_type - @selected = selected - @stream_identifier = stream_identifier - @title = title - @width = width - end - - def ==(other) - return false unless other.is_a? self.class - return false unless @codec == other.codec - return false unless @id == other.id - return false unless @index == other.index - return false unless @stream_type == other.stream_type - return false unless @audio_channel_layout == other.audio_channel_layout - return false unless @bit_depth == other.bit_depth - return false unless @bitrate == other.bitrate - return false unless @can_auto_sync == other.can_auto_sync - return false unless @channels == other.channels - return false unless @chroma_location == other.chroma_location - return false unless @chroma_subsampling == other.chroma_subsampling - return false unless @closed_captions == other.closed_captions - return false unless @coded_height == other.coded_height - return false unless @coded_width == other.coded_width - return false unless @color_primaries == other.color_primaries - return false unless @color_range == other.color_range - return false unless @color_space == other.color_space - return false unless @color_trc == other.color_trc - return false unless @default == other.default - return false unless @display_title == other.display_title - return false unless @embedded_in_video == other.embedded_in_video - return false unless @extended_display_title == other.extended_display_title - return false unless @frame_rate == other.frame_rate - return false unless @has_scaling_matrix == other.has_scaling_matrix - return false unless @hearing_impaired == other.hearing_impaired - return false unless @height == other.height - return false unless @language == other.language - return false unless @language_code == other.language_code - return false unless @language_tag == other.language_tag - return false unless @level == other.level - return false unless @profile == other.profile - return false unless @ref_frames == other.ref_frames - return false unless @sampling_rate == other.sampling_rate - return false unless @scan_type == other.scan_type - return false unless @selected == other.selected - return false unless @stream_identifier == other.stream_identifier - return false unless @title == other.title - return false unless @width == other.width - true - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb index 8bcfc81..cacd84a 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb @@ -8,52 +8,20 @@ module PlexRubySDK module Models module Operations - - class GetLibraryItemsType - extend T::Sig - include Crystalline::MetadataFields - - - field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } - - field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - - field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - - field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - - field :field, T.nilable(T::Array[Models::Operations::GetLibraryItemsField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } - - field :filter, T.nilable(T::Array[Models::Operations::GetLibraryItemsFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } - - field :sort, T.nilable(T::Array[Models::Operations::GetLibraryItemsSort]), { '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::GetLibraryItemsField]), filter: T.nilable(T::Array[Models::Operations::GetLibraryItemsFilter]), sort: T.nilable(T::Array[Models::Operations::GetLibraryItemsSort]), 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 - @title = title - @type = type - @field = field - @filter = filter - @sort = sort - @subtype = subtype - end - - def ==(other) - return false unless other.is_a? self.class - return false unless @active == other.active - return false unless @key == other.key - return false unless @title == other.title - return false unless @type == other.type - return false unless @field == other.field - return false unless @filter == other.filter - return false unless @sort == other.sort - return false unless @subtype == other.subtype - true + # GetLibraryItemsType - The type of media content in the Plex library. This can represent videos, music, or photos. + # + class GetLibraryItemsType < T::Enum + enums do + MOVIE = new('movie') + TV_SHOW = new('show') + SEASON = new('season') + 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_writer.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb index 4858922..4d0d309 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb @@ -13,18 +13,26 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # Unique identifier for the writer. + 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') } } + # 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(tag: T.nilable(::String)).void } - def initialize(tag: nil) + sig { params(id: ::Integer, tag: ::String, thumb: T.nilable(::String)).void } + def initialize(id: nil, tag: nil, thumb: nil) + @id = id @tag = tag + @thumb = thumb end def ==(other) return false unless other.is_a? self.class + return false unless @id == other.id return false unless @tag == other.tag + return false unless @thumb == other.thumb true end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_sections_all_media.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_media.rb index 7bae374..2d06146 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_sections_all_media.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_media.rb @@ -38,7 +38,7 @@ module PlexRubySDK # Video height in pixels. field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } # 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') } } + field :optimized_for_streaming, T.nilable(T.any(Models::Operations::GetLibrarySectionsAllOptimizedForStreaming1, 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::GetLibrarySectionsAllPart]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } } # Video codec used. @@ -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::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 } + 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::GetLibrarySectionsAllOptimizedForStreaming1, 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_library_sections_all_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb index 32f85bd..659813d 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb @@ -21,10 +21,6 @@ module PlexRubySDK field :content, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('content') } } # An plugin identifier for the media container. field :identifier, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } } - # The unique identifier for the library section. - field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } - # The title of the library section. - field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } # 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. @@ -45,6 +41,10 @@ module PlexRubySDK field :total_size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('totalSize') } } # Identifier for the view group layout. field :view_group, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewGroup') } } + # The unique identifier for the library section. + field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } + # The title of the library section. + field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } # The universally unique identifier for the library section. 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`. @@ -54,14 +54,12 @@ module PlexRubySDK 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::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) + sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::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_id: T.nilable(::Integer), library_section_title: T.nilable(::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, 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_id: nil, library_section_title: nil, library_section_uuid: nil, meta: nil, metadata: nil) @allow_sync = allow_sync @art = art @content = content @identifier = identifier - @library_section_id = library_section_id - @library_section_title = library_section_title @media_tag_prefix = media_tag_prefix @media_tag_version = media_tag_version @nocache = nocache @@ -72,6 +70,8 @@ module PlexRubySDK @title2 = title2 @total_size = total_size @view_group = view_group + @library_section_id = library_section_id + @library_section_title = library_section_title @library_section_uuid = library_section_uuid @meta = meta @metadata = metadata @@ -83,8 +83,6 @@ module PlexRubySDK return false unless @art == other.art return false unless @content == other.content return false unless @identifier == other.identifier - return false unless @library_section_id == other.library_section_id - return false unless @library_section_title == other.library_section_title return false unless @media_tag_prefix == other.media_tag_prefix return false unless @media_tag_version == other.media_tag_version return false unless @nocache == other.nocache @@ -95,6 +93,8 @@ module PlexRubySDK return false unless @title2 == other.title2 return false unless @total_size == other.total_size return false unless @view_group == other.view_group + return false unless @library_section_id == other.library_section_id + return false unless @library_section_title == other.library_section_title return false unless @library_section_uuid == other.library_section_uuid return false unless @meta == other.meta return false unless @metadata == other.metadata diff --git a/lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb index 4f09654..6963c41 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb @@ -30,8 +30,6 @@ module PlexRubySDK field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } # The unique key for the media item. field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - # The original release date of the media item. - field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } } # The critic rating for the media item. field :rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } } # The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. @@ -100,6 +98,8 @@ module PlexRubySDK field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } } field :media, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } + # The original release date of the media item. + field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } } # The original title of the 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. @@ -144,8 +144,8 @@ module PlexRubySDK 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::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) + sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String, 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]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), primary_extra_key: T.nilable(::String), 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, 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, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_thumb: nil, parent_title: nil, primary_extra_key: nil, 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 @audience_rating = audience_rating @@ -154,7 +154,6 @@ module PlexRubySDK @guid = guid @index = index @key = key - @originally_available_at = originally_available_at @rating = rating @rating_key = rating_key @season_count = season_count @@ -189,6 +188,7 @@ module PlexRubySDK @last_viewed_at = last_viewed_at @leaf_count = leaf_count @media = media + @originally_available_at = originally_available_at @original_title = original_title @parent_guid = parent_guid @parent_index = parent_index @@ -222,7 +222,6 @@ module PlexRubySDK return false unless @guid == other.guid return false unless @index == other.index return false unless @key == other.key - return false unless @originally_available_at == other.originally_available_at return false unless @rating == other.rating return false unless @rating_key == other.rating_key return false unless @season_count == other.season_count @@ -257,6 +256,7 @@ module PlexRubySDK return false unless @last_viewed_at == other.last_viewed_at return false unless @leaf_count == other.leaf_count return false unless @media == other.media + return false unless @originally_available_at == other.originally_available_at return false unless @original_title == other.original_title return false unless @parent_guid == other.parent_guid return false unless @parent_index == other.parent_index diff --git a/lib/plex_ruby_sdk/models/operations/streamtype.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_library_1.rb similarity index 51% rename from lib/plex_ruby_sdk/models/operations/streamtype.rb rename to lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_library_1.rb index d1330f2..f126caf 100644 --- a/lib/plex_ruby_sdk/models/operations/streamtype.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_library_1.rb @@ -8,16 +8,11 @@ module PlexRubySDK module Models module Operations - # StreamType - Stream type: - # - 1 = video - # - 2 = audio - # - 3 = subtitle - # - class StreamType < T::Enum + + class GetLibrarySectionsAllOptimizedForStreamingLibrary1 < T::Enum enums do - VIDEO = new(1) - AUDIO = new(2) - SUBTITLE = new(3) + ZERO = new(0) + ONE = new(1) end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb index f09ce0d..c76a9bd 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb @@ -38,7 +38,7 @@ module PlexRubySDK 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::GetLibrarySectionsAllOptimizedForStreaming1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } + field :optimized_for_streaming, T.nilable(T.any(Models::Operations::GetLibrarySectionsAllOptimizedForStreamingLibrary1, 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. @@ -47,7 +47,7 @@ module PlexRubySDK 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::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 } + 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::GetLibrarySectionsAllOptimizedForStreamingLibrary1, 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_library_sections_all_stream.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb index 29862ab..2f2e0e2 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb @@ -22,11 +22,11 @@ module PlexRubySDK # Unique stream identifier. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # Stream type: - # - 1 = video - # - 2 = audio - # - 3 = subtitle + # - VIDEO = 1 + # - AUDIO = 2 + # - SUBTITLE = 3 # - field :stream_type, Models::Operations::GetLibrarySectionsAllStreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibrarySectionsAllStreamType, false) } } + field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } } # 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::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 } + sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), 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_library_sections_all_streamtype.rb b/lib/plex_ruby_sdk/models/operations/get_library_sections_all_streamtype.rb deleted file mode 100644 index 43775f6..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_library_sections_all_streamtype.rb +++ /dev/null @@ -1,25 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - # GetLibrarySectionsAllStreamType - Stream type: - # - 1 = video - # - 2 = audio - # - 3 = subtitle - # - class GetLibrarySectionsAllStreamType < T::Enum - enums do - VIDEO = new(1) - AUDIO = new(2) - SUBTITLE = new(3) - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_attributes.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_attributes.rb new file mode 100644 index 0000000..80852a7 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_attributes.rb @@ -0,0 +1,37 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # Attributes associated with the marker. + class GetMediaMetaDataAttributes + extend T::Sig + include Crystalline::MetadataFields + + # The identifier for the attributes. + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + # The version number of the marker attributes. + field :version, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('version') } } + + + sig { params(id: ::Integer, version: T.nilable(::Integer)).void } + def initialize(id: nil, version: nil) + @id = id + @version = version + end + + def ==(other) + return false unless other.is_a? self.class + return false unless @id == other.id + return false unless @version == other.version + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_chapter.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_chapter.rb new file mode 100644 index 0000000..3fc46d1 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_chapter.rb @@ -0,0 +1,53 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # The thumbnail for the chapter + class GetMediaMetaDataChapter + extend T::Sig + include Crystalline::MetadataFields + + + field :end_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('endTimeOffset') } } + + field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } + + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + + field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } + + field :start_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('startTimeOffset') } } + + field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } + + + sig { params(end_time_offset: ::Integer, filter: ::String, id: ::Integer, index: ::Integer, start_time_offset: ::Integer, thumb: ::String).void } + def initialize(end_time_offset: nil, filter: nil, id: nil, index: nil, start_time_offset: nil, thumb: nil) + @end_time_offset = end_time_offset + @filter = filter + @id = id + @index = index + @start_time_offset = start_time_offset + @thumb = thumb + end + + def ==(other) + return false unless other.is_a? self.class + return false unless @end_time_offset == other.end_time_offset + return false unless @filter == other.filter + return false unless @id == other.id + return false unless @index == other.index + return false unless @start_time_offset == other.start_time_offset + return false unless @thumb == other.thumb + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_extras.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_extras.rb new file mode 100644 index 0000000..7eaf176 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_extras.rb @@ -0,0 +1,33 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + + class GetMediaMetaDataExtras + extend T::Sig + include Crystalline::MetadataFields + + # The size of the extras. + field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + + + sig { params(size: T.nilable(::Integer)).void } + def initialize(size: nil) + @size = size + end + + def ==(other) + return false unless other.is_a? self.class + return false unless @size == other.size + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb index 1e2edc5..f70f06b 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb @@ -9,6 +9,7 @@ module PlexRubySDK module Operations # GetMediaMetaDataHasThumbnail - Indicates if the part has a thumbnail. + # class GetMediaMetaDataHasThumbnail < T::Enum enums do FALSE = new('0') diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb index a3a69ca..7dab19f 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb @@ -9,6 +9,7 @@ module PlexRubySDK module Operations # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + # class GetMediaMetaDataLibraryOptimizedForStreaming extend T::Sig include Crystalline::MetadataFields diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_marker.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_marker.rb new file mode 100644 index 0000000..4b4cf63 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_marker.rb @@ -0,0 +1,53 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # The final status of the marker + class GetMediaMetaDataMarker + extend T::Sig + include Crystalline::MetadataFields + + + field :end_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('endTimeOffset') } } + + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + + field :start_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('startTimeOffset') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + # Attributes associated with the marker. + field :attributes, T.nilable(Models::Operations::GetMediaMetaDataAttributes), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Attributes') } } + + field :final, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('final') } } + + + sig { params(end_time_offset: ::Integer, id: ::Integer, start_time_offset: ::Integer, type: ::String, attributes: T.nilable(Models::Operations::GetMediaMetaDataAttributes), final: T.nilable(T::Boolean)).void } + def initialize(end_time_offset: nil, id: nil, start_time_offset: nil, type: nil, attributes: nil, final: nil) + @end_time_offset = end_time_offset + @id = id + @start_time_offset = start_time_offset + @type = type + @attributes = attributes + @final = final + end + + def ==(other) + return false unless other.is_a? self.class + return false unless @end_time_offset == other.end_time_offset + return false unless @id == other.id + return false unless @start_time_offset == other.start_time_offset + return false unless @type == other.type + return false unless @attributes == other.attributes + return false unless @final == other.final + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb index 95ac7ff..6d5cbcd 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb @@ -25,13 +25,15 @@ module PlexRubySDK field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } } # Bitrate in bits per second. field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } } - # File container type. + # Container format of the media. field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } field :display_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayOffset') } } # Duration of the media in milliseconds. field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } - + # Indicates whether the media has 64-bit offsets. + # This is relevant for media files that may require larger offsets than what 32-bit integers can provide. + # field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } } # Indicates whether voice activity is detected. field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } } @@ -39,7 +41,7 @@ module PlexRubySDK field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } # 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::GetMediaMetaDataOptimizedForStreaming1, 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::GetMediaMetaDataPart]), { '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') } } diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb index cba88a0..0047dfa 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb @@ -17,10 +17,6 @@ module PlexRubySDK 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 unique identifier for the library section. - field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } - # The title of the library section. - field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } # 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. @@ -29,20 +25,24 @@ module PlexRubySDK field :metadata, T::Array[Models::Operations::GetMediaMetaDataMetadata], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } # Number of media items returned in this response. field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + # The unique identifier for the library section. + field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } + # The title of the library section. + field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } # The universally unique identifier for the library section. field :library_section_uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } } - sig { params(allow_sync: T::Boolean, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, metadata: T::Array[Models::Operations::GetMediaMetaDataMetadata], size: ::Integer, library_section_uuid: T.nilable(::String)).void } - def initialize(allow_sync: nil, identifier: nil, library_section_id: nil, library_section_title: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, size: nil, library_section_uuid: nil) + sig { params(allow_sync: T::Boolean, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, metadata: T::Array[Models::Operations::GetMediaMetaDataMetadata], size: ::Integer, library_section_id: T.nilable(::Integer), library_section_title: T.nilable(::String), library_section_uuid: T.nilable(::String)).void } + def initialize(allow_sync: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, size: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil) @allow_sync = allow_sync @identifier = identifier - @library_section_id = library_section_id - @library_section_title = library_section_title @media_tag_prefix = media_tag_prefix @media_tag_version = media_tag_version @metadata = metadata @size = size + @library_section_id = library_section_id + @library_section_title = library_section_title @library_section_uuid = library_section_uuid end @@ -50,12 +50,12 @@ module PlexRubySDK return false unless other.is_a? self.class return false unless @allow_sync == other.allow_sync return false unless @identifier == other.identifier - return false unless @library_section_id == other.library_section_id - return false unless @library_section_title == other.library_section_title 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 @library_section_id == other.library_section_id + return false unless @library_section_title == other.library_section_title return false unless @library_section_uuid == other.library_section_uuid true end diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb index 64b8e43..97c692c 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb @@ -30,14 +30,6 @@ module PlexRubySDK field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } # The unique key for the media item. field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - # The identifier for the library section. - field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } - # The key corresponding to the library section. - field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } } - # The title of the library section. - field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } - # The original release date of the media item. - field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } } # The critic rating for the media item. field :rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } } # The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. @@ -63,7 +55,7 @@ module PlexRubySDK # The URL for the audience rating image. field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } } - field :chapter, T.nilable(T::Array[Models::Operations::Chapter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Chapter') } } + field :chapter, T.nilable(T::Array[Models::Operations::GetMediaMetaDataChapter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Chapter') } } # The source from which chapter data is derived. field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } } # The content rating for the media item. @@ -77,7 +69,7 @@ module PlexRubySDK field :director, T.nilable(T::Array[Models::Operations::GetMediaMetaDataDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } } - field :extras, T.nilable(Models::Operations::Extras), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Extras') } } + field :extras, T.nilable(Models::Operations::GetMediaMetaDataExtras), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Extras') } } field :genre, T.nilable(T::Array[Models::Operations::GetMediaMetaDataGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } } # The art URL for the grandparent media item. @@ -106,12 +98,20 @@ module PlexRubySDK field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } } # 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') } } + # The identifier for the library section. + field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } + # The key corresponding to the library section. + field :library_section_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } } + # The title of the library section. + field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } field :location, T.nilable(T::Array[Models::Operations::GetMediaMetaDataLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } } - field :marker, T.nilable(T::Array[Models::Operations::Marker]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Marker') } } + field :marker, T.nilable(T::Array[Models::Operations::GetMediaMetaDataMarker]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Marker') } } field :media, T.nilable(T::Array[Models::Operations::GetMediaMetaDataMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } + # The original release date of the media item. + field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } } # The original title of the 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. @@ -133,7 +133,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 :ratings, T.nilable(T::Array[Models::Operations::Ratings]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } } + field :ratings, T.nilable(T::Array[Models::Operations::GetMediaMetaDataRatings]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } } field :role, T.nilable(T::Array[Models::Operations::GetMediaMetaDataRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } } @@ -162,8 +162,8 @@ module PlexRubySDK 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, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, originally_available_at: ::Date, rating: ::Float, rating_key: ::String, season_count: ::Integer, slug: ::String, summary: ::String, tagline: ::String, theme: ::String, thumb: ::String, title: ::String, title_sort: ::String, type: Models::Operations::GetMediaMetaDataType, audience_rating_image: T.nilable(::String), chapter: T.nilable(T::Array[Models::Operations::Chapter]), chapter_source: T.nilable(::String), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::GetMediaMetaDataCountry]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::GetMediaMetaDataDirector]), extras: T.nilable(Models::Operations::Extras), genre: T.nilable(T::Array[Models::Operations::GetMediaMetaDataGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), guids: T.nilable(T::Array[Models::Operations::GetMediaMetaDataGuids]), image: T.nilable(T::Array[Models::Operations::GetMediaMetaDataImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), location: T.nilable(T::Array[Models::Operations::GetMediaMetaDataLocation]), marker: T.nilable(T::Array[Models::Operations::Marker]), media: T.nilable(T::Array[Models::Operations::GetMediaMetaDataMedia]), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[Models::Operations::GetMediaMetaDataProducer]), rating_image: T.nilable(::String), ratings: T.nilable(T::Array[Models::Operations::Ratings]), role: T.nilable(T::Array[Models::Operations::GetMediaMetaDataRole]), similar: T.nilable(T::Array[Models::Operations::GetMediaMetaDataSimilar]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::GetMediaMetaDataUltraBlurColors), updated_at: T.nilable(::Integer), user_rating: T.nilable(::Float), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[Models::Operations::GetMediaMetaDataWriter]), year: T.nilable(::Integer)).void } - def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, originally_available_at: nil, rating: nil, rating_key: nil, season_count: nil, slug: nil, summary: nil, tagline: nil, theme: nil, thumb: nil, title: nil, title_sort: nil, type: nil, audience_rating_image: nil, chapter: nil, chapter_source: nil, content_rating: nil, country: nil, created_at_accuracy: nil, created_at_tz_offset: nil, director: nil, extras: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, guids: nil, image: nil, last_rated_at: nil, last_viewed_at: nil, leaf_count: nil, location: nil, marker: nil, media: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_thumb: nil, parent_title: nil, primary_extra_key: nil, producer: nil, rating_image: nil, ratings: nil, role: nil, similar: nil, skip_count: nil, studio: nil, subtype: nil, ultra_blur_colors: nil, updated_at: nil, user_rating: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil) + sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String, rating: ::Float, rating_key: ::String, season_count: ::Integer, slug: ::String, summary: ::String, tagline: ::String, theme: ::String, thumb: ::String, title: ::String, title_sort: ::String, type: Models::Operations::GetMediaMetaDataType, audience_rating_image: T.nilable(::String), chapter: T.nilable(T::Array[Models::Operations::GetMediaMetaDataChapter]), chapter_source: T.nilable(::String), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::GetMediaMetaDataCountry]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::GetMediaMetaDataDirector]), extras: T.nilable(Models::Operations::GetMediaMetaDataExtras), genre: T.nilable(T::Array[Models::Operations::GetMediaMetaDataGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), guids: T.nilable(T::Array[Models::Operations::GetMediaMetaDataGuids]), image: T.nilable(T::Array[Models::Operations::GetMediaMetaDataImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[Models::Operations::GetMediaMetaDataLocation]), marker: T.nilable(T::Array[Models::Operations::GetMediaMetaDataMarker]), media: T.nilable(T::Array[Models::Operations::GetMediaMetaDataMedia]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[Models::Operations::GetMediaMetaDataProducer]), rating_image: T.nilable(::String), ratings: T.nilable(T::Array[Models::Operations::GetMediaMetaDataRatings]), role: T.nilable(T::Array[Models::Operations::GetMediaMetaDataRole]), similar: T.nilable(T::Array[Models::Operations::GetMediaMetaDataSimilar]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::GetMediaMetaDataUltraBlurColors), updated_at: T.nilable(::Integer), user_rating: T.nilable(::Float), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[Models::Operations::GetMediaMetaDataWriter]), year: T.nilable(::Integer)).void } + def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: nil, rating: nil, rating_key: nil, season_count: nil, slug: nil, summary: nil, tagline: nil, theme: nil, thumb: nil, title: nil, title_sort: nil, type: nil, audience_rating_image: nil, chapter: nil, chapter_source: nil, content_rating: nil, country: nil, created_at_accuracy: nil, created_at_tz_offset: nil, director: nil, extras: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, guids: nil, image: nil, last_rated_at: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, marker: nil, media: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_thumb: nil, parent_title: nil, primary_extra_key: nil, producer: nil, rating_image: nil, ratings: nil, role: nil, similar: nil, skip_count: nil, studio: nil, subtype: nil, ultra_blur_colors: nil, updated_at: nil, user_rating: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil) @added_at = added_at @art = art @audience_rating = audience_rating @@ -172,10 +172,6 @@ module PlexRubySDK @guid = guid @index = index @key = key - @library_section_id = library_section_id - @library_section_key = library_section_key - @library_section_title = library_section_title - @originally_available_at = originally_available_at @rating = rating @rating_key = rating_key @season_count = season_count @@ -210,9 +206,13 @@ module PlexRubySDK @last_rated_at = last_rated_at @last_viewed_at = last_viewed_at @leaf_count = leaf_count + @library_section_id = library_section_id + @library_section_key = library_section_key + @library_section_title = library_section_title @location = location @marker = marker @media = media + @originally_available_at = originally_available_at @original_title = original_title @parent_guid = parent_guid @parent_index = parent_index @@ -249,10 +249,6 @@ module PlexRubySDK return false unless @guid == other.guid return false unless @index == other.index return false unless @key == other.key - return false unless @library_section_id == other.library_section_id - return false unless @library_section_key == other.library_section_key - return false unless @library_section_title == other.library_section_title - return false unless @originally_available_at == other.originally_available_at return false unless @rating == other.rating return false unless @rating_key == other.rating_key return false unless @season_count == other.season_count @@ -287,9 +283,13 @@ module PlexRubySDK return false unless @last_rated_at == other.last_rated_at return false unless @last_viewed_at == other.last_viewed_at return false unless @leaf_count == other.leaf_count + return false unless @library_section_id == other.library_section_id + return false unless @library_section_key == other.library_section_key + return false unless @library_section_title == other.library_section_title return false unless @location == other.location return false unless @marker == other.marker return false unless @media == other.media + return false unless @originally_available_at == other.originally_available_at return false unless @original_title == other.original_title return false unless @parent_guid == other.parent_guid return false unless @parent_index == other.parent_index diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb index d179e79..3c70d59 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb @@ -13,14 +13,8 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # File path for the part. - field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } } # Unique part identifier. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # Key to access this part. - field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - # File size in bytes. - field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } # Indicates if the part is accessible. field :accessible, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('accessible') } } # The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). @@ -31,58 +25,65 @@ module PlexRubySDK field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } # Indicates if the part exists. field :exists, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('exists') } } + # File path for the part. + field :file, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } } field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } } field :has_thumbnail, T.nilable(Models::Operations::GetMediaMetaDataHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataHasThumbnail, true) } } field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } } + # Key to access this part. + field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } # 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::GetMediaMetaDataOptimizedForStreamingLibrary1, 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. + # File size in bytes. + field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + field :stream, T.nilable(T::Array[Models::Operations::GetMediaMetaDataStream]), { '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::GetMediaMetaDataHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T.any(Models::Operations::GetMediaMetaDataOptimizedForStreamingLibrary1, T::Boolean)), packet_length: T.nilable(::Integer), stream: T.nilable(T::Array[Models::Operations::GetMediaMetaDataStream]), 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 + sig { params(id: ::Integer, accessible: T.nilable(T::Boolean), audio_profile: T.nilable(::String), container: T.nilable(::String), duration: T.nilable(::Integer), exists: T.nilable(T::Boolean), file: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(Models::Operations::GetMediaMetaDataHasThumbnail), indexes: T.nilable(::String), key: T.nilable(::String), optimized_for_streaming: T.nilable(T.any(Models::Operations::GetMediaMetaDataOptimizedForStreamingLibrary1, T::Boolean)), packet_length: T.nilable(::Integer), size: T.nilable(::Integer), stream: T.nilable(T::Array[Models::Operations::GetMediaMetaDataStream]), video_profile: T.nilable(::String)).void } + def initialize(id: nil, accessible: nil, audio_profile: nil, container: nil, duration: nil, exists: nil, file: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, key: nil, optimized_for_streaming: nil, packet_length: nil, size: nil, stream: nil, video_profile: nil) @id = id - @key = key - @size = size @accessible = accessible @audio_profile = audio_profile @container = container @duration = duration @exists = exists + @file = file @has64bit_offsets = has64bit_offsets @has_thumbnail = has_thumbnail @indexes = indexes + @key = key @optimized_for_streaming = optimized_for_streaming @packet_length = packet_length + @size = size @stream = stream @video_profile = video_profile end def ==(other) return false unless other.is_a? self.class - return false unless @file == other.file return false unless @id == other.id - return false unless @key == other.key - return false unless @size == other.size return false unless @accessible == other.accessible return false unless @audio_profile == other.audio_profile return false unless @container == other.container return false unless @duration == other.duration return false unless @exists == other.exists + return false unless @file == other.file return false unless @has64bit_offsets == other.has64bit_offsets return false unless @has_thumbnail == other.has_thumbnail return false unless @indexes == other.indexes + return false unless @key == other.key return false unless @optimized_for_streaming == other.optimized_for_streaming return false unless @packet_length == other.packet_length + return false unless @size == other.size return false unless @stream == other.stream return false unless @video_profile == other.video_profile true diff --git a/lib/plex_ruby_sdk/models/operations/metadatarating.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_ratings.rb similarity index 90% rename from lib/plex_ruby_sdk/models/operations/metadatarating.rb rename to lib/plex_ruby_sdk/models/operations/get_media_meta_data_ratings.rb index 06b78d0..55cf9cb 100644 --- a/lib/plex_ruby_sdk/models/operations/metadatarating.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_ratings.rb @@ -9,15 +9,15 @@ module PlexRubySDK module Operations - class MetaDataRating + class GetMediaMetaDataRatings extend T::Sig include Crystalline::MetadataFields - # A URI or path to the rating image. + # The image or reference for the rating. field :image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('image') } } # The type of rating (e.g., audience, critic). field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - # The value of the rating. + # The rating value. field :value, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('value') } } diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb index 4de779f..f253076 100644 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +++ b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb @@ -13,20 +13,14 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # Codec used by the stream. - field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } } - # Display title for the stream. - field :display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } } - # Extended display title for the stream. - field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } } # Unique stream identifier. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # Stream type: - # - 1 = video - # - 2 = audio - # - 3 = subtitle + # - VIDEO = 1 + # - AUDIO = 2 + # - SUBTITLE = 3 # - field :stream_type, Models::Operations::GetMediaMetaDataStreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataStreamType, false) } } + field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } } # 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. @@ -43,6 +37,8 @@ module PlexRubySDK field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } } field :closed_captions, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('closedCaptions') } } + # Codec used by the stream. + field :codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } } # Coded video height. field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } } # Coded video width. @@ -57,6 +53,8 @@ module PlexRubySDK field :color_trc, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorTrc') } } # Indicates if this stream is default. field :default, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } + # Display title for the stream. + field :display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } } # Dolby Vision BL compatibility ID. field :dovibl_compat_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIBLCompatID') } } # Indicates if Dolby Vision BL is present. @@ -77,6 +75,8 @@ module PlexRubySDK field :dub, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('dub') } } field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } } + # Extended display title for the stream. + field :extended_display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } } field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } } # Format of the stream (e.g., srt). @@ -121,11 +121,8 @@ 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::GetMediaMetaDataStreamType, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), format: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), index: T.nilable(::Integer), key: T.nilable(::String), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void } - def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, dovibl_compat_id: nil, dovibl_present: nil, doviel_present: nil, dovi_level: nil, dovi_present: nil, dovi_profile: nil, dovirpu_present: nil, dovi_version: nil, dub: nil, embedded_in_video: nil, forced: nil, format: nil, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: nil, index: nil, key: nil, language: nil, language_code: nil, language_tag: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil) - @codec = codec - @display_title = display_title - @extended_display_title = extended_display_title + sig { params(id: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), codec: T.nilable(::String), 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), display_title: T.nilable(::String), 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), extended_display_title: 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(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, codec: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, display_title: 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, extended_display_title: 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) @id = id @stream_type = stream_type @audio_channel_layout = audio_channel_layout @@ -136,6 +133,7 @@ module PlexRubySDK @chroma_location = chroma_location @chroma_subsampling = chroma_subsampling @closed_captions = closed_captions + @codec = codec @coded_height = coded_height @coded_width = coded_width @color_primaries = color_primaries @@ -143,6 +141,7 @@ module PlexRubySDK @color_space = color_space @color_trc = color_trc @default = default + @display_title = display_title @dovibl_compat_id = dovibl_compat_id @dovibl_present = dovibl_present @doviel_present = doviel_present @@ -153,6 +152,7 @@ module PlexRubySDK @dovi_version = dovi_version @dub = dub @embedded_in_video = embedded_in_video + @extended_display_title = extended_display_title @forced = forced @format = format @frame_rate = frame_rate @@ -178,9 +178,6 @@ module PlexRubySDK def ==(other) return false unless other.is_a? self.class - return false unless @codec == other.codec - return false unless @display_title == other.display_title - return false unless @extended_display_title == other.extended_display_title return false unless @id == other.id return false unless @stream_type == other.stream_type return false unless @audio_channel_layout == other.audio_channel_layout @@ -191,6 +188,7 @@ module PlexRubySDK return false unless @chroma_location == other.chroma_location return false unless @chroma_subsampling == other.chroma_subsampling return false unless @closed_captions == other.closed_captions + return false unless @codec == other.codec return false unless @coded_height == other.coded_height return false unless @coded_width == other.coded_width return false unless @color_primaries == other.color_primaries @@ -198,6 +196,7 @@ module PlexRubySDK return false unless @color_space == other.color_space return false unless @color_trc == other.color_trc return false unless @default == other.default + return false unless @display_title == other.display_title return false unless @dovibl_compat_id == other.dovibl_compat_id return false unless @dovibl_present == other.dovibl_present return false unless @doviel_present == other.doviel_present @@ -208,6 +207,7 @@ module PlexRubySDK return false unless @dovi_version == other.dovi_version return false unless @dub == other.dub return false unless @embedded_in_video == other.embedded_in_video + return false unless @extended_display_title == other.extended_display_title return false unless @forced == other.forced return false unless @format == other.format return false unless @frame_rate == other.frame_rate diff --git a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb b/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb deleted file mode 100644 index e61d509..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb +++ /dev/null @@ -1,25 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - # GetMediaMetaDataStreamType - Stream type: - # - 1 = video - # - 2 = audio - # - 3 = subtitle - # - class GetMediaMetaDataStreamType < T::Enum - enums do - VIDEO = new(1) - AUDIO = new(2) - SUBTITLE = new(3) - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb b/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb index 1cd7bb1..0c0e3a2 100644 --- a/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +++ b/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb @@ -30,14 +30,6 @@ module PlexRubySDK field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } # The unique key for the media item. field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - # The identifier for the library section. - field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } - # The key corresponding to the library section. - field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } } - # The title of the library section. - field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } - # The original release date of the media item. - field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } } # The studio of the parent media item. field :parent_studio, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentStudio') } } # The theme URL for the parent media item. @@ -108,10 +100,18 @@ module PlexRubySDK field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } } # 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') } } + # The identifier for the library section. + field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } + # The key corresponding to the library section. + field :library_section_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } } + # The title of the library section. + field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } field :location, T.nilable(T::Array[Models::Operations::Location]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } } field :media, T.nilable(T::Array[Models::Operations::Media]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } + # The original release date of the media item. + field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } } # The original title of the 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. @@ -166,8 +166,8 @@ module PlexRubySDK 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, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, originally_available_at: ::Date, parent_studio: ::String, parent_theme: ::String, 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::GetRecentlyAddedHubsType, audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), collection: T.nilable(T::Array[Models::Operations::Collection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::Country]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::Director]), genre: T.nilable(T::Array[Models::Operations::Genre]), 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::Guids]), image: T.nilable(T::Array[Models::Operations::GetRecentlyAddedImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), location: T.nilable(T::Array[Models::Operations::Location]), media: T.nilable(T::Array[Models::Operations::Media]), 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_slug: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[Models::Operations::Producer]), rating1: T.nilable(T::Array[Models::Operations::Rating]), rating_image: T.nilable(::String), role: T.nilable(T::Array[Models::Operations::Role]), similar: T.nilable(T::Array[Models::Operations::Similar]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::UltraBlurColors), 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::Writer]), year: T.nilable(::Integer)).void } - def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, originally_available_at: nil, parent_studio: nil, parent_theme: 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, location: nil, media: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, producer: nil, rating1: nil, rating_image: nil, role: nil, similar: nil, skip_count: nil, studio: nil, subtype: nil, ultra_blur_colors: nil, updated_at: nil, user_rating: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil) + sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String, parent_studio: ::String, parent_theme: ::String, 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::GetRecentlyAddedHubsType, audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), collection: T.nilable(T::Array[Models::Operations::Collection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::Country]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::Director]), genre: T.nilable(T::Array[Models::Operations::Genre]), 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::Guids]), image: T.nilable(T::Array[Models::Operations::GetRecentlyAddedImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[Models::Operations::Location]), media: T.nilable(T::Array[Models::Operations::Media]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[Models::Operations::Producer]), rating1: T.nilable(T::Array[Models::Operations::Rating]), rating_image: T.nilable(::String), role: T.nilable(T::Array[Models::Operations::Role]), similar: T.nilable(T::Array[Models::Operations::Similar]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::UltraBlurColors), 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::Writer]), 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, parent_studio: nil, parent_theme: 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, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, media: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, producer: nil, rating1: nil, rating_image: nil, role: nil, similar: nil, skip_count: nil, studio: nil, subtype: nil, ultra_blur_colors: nil, updated_at: nil, user_rating: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil) @added_at = added_at @art = art @audience_rating = audience_rating @@ -176,10 +176,6 @@ module PlexRubySDK @guid = guid @index = index @key = key - @library_section_id = library_section_id - @library_section_key = library_section_key - @library_section_title = library_section_title - @originally_available_at = originally_available_at @parent_studio = parent_studio @parent_theme = parent_theme @rating = rating @@ -215,8 +211,12 @@ module PlexRubySDK @last_rated_at = last_rated_at @last_viewed_at = last_viewed_at @leaf_count = leaf_count + @library_section_id = library_section_id + @library_section_key = library_section_key + @library_section_title = library_section_title @location = location @media = media + @originally_available_at = originally_available_at @original_title = original_title @parent_guid = parent_guid @parent_index = parent_index @@ -255,10 +255,6 @@ module PlexRubySDK return false unless @guid == other.guid return false unless @index == other.index return false unless @key == other.key - return false unless @library_section_id == other.library_section_id - return false unless @library_section_key == other.library_section_key - return false unless @library_section_title == other.library_section_title - return false unless @originally_available_at == other.originally_available_at return false unless @parent_studio == other.parent_studio return false unless @parent_theme == other.parent_theme return false unless @rating == other.rating @@ -294,8 +290,12 @@ module PlexRubySDK return false unless @last_rated_at == other.last_rated_at return false unless @last_viewed_at == other.last_viewed_at return false unless @leaf_count == other.leaf_count + return false unless @library_section_id == other.library_section_id + return false unless @library_section_key == other.library_section_key + return false unless @library_section_title == other.library_section_title return false unless @location == other.location return false unless @media == other.media + return false unless @originally_available_at == other.originally_available_at return false unless @original_title == other.original_title return false unless @parent_guid == other.parent_guid return false unless @parent_index == other.parent_index diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb index adb6b4a..4a132a8 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb @@ -13,17 +13,23 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # 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') } } - sig { params(tag: T.nilable(::String)).void } - def initialize(tag: nil) + sig { params(id: ::Integer, tag: ::String).void } + def initialize(id: nil, tag: nil) + @id = id @tag = tag end def ==(other) return false unless other.is_a? self.class + return false unless @id == other.id return false unless @tag == other.tag true end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb index e9a9d11..42edf18 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb @@ -13,18 +13,26 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # 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') } } + # 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: T.nilable(::String)).void } - def initialize(tag: nil) + sig { params(id: ::Integer, tag: ::String, thumb: T.nilable(::String)).void } + def initialize(id: nil, tag: nil, thumb: nil) + @id = id @tag = tag + @thumb = thumb end def ==(other) return false unless other.is_a? self.class + return false unless @id == other.id return false unless @tag == other.tag + return false unless @thumb == other.thumb true end end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_directory.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_directory.rb new file mode 100644 index 0000000..00f3c7d --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_directory.rb @@ -0,0 +1,81 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + + class GetSearchAllLibrariesDirectory + extend T::Sig + include Crystalline::MetadataFields + + + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + # The unique identifier path for the search result item. + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + # The identifier for the library section. + field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } + # The key corresponding to the library section. + field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } } + # The title of the library section. + field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } + + field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # The type of the directory. + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + # The number of items associated with this search result. + field :count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('count') } } + # The filter string used to query this specific item in the library. + field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } + + field :library_section_type, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionType') } } + # The unique identifier for the tag associated with this search result. + field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } + # The type of tag associated with this search result (e.g., Director, Actor). + field :tag_type, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagType') } } + # The URL to the thumbnail image associated with this search result. + field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } + + + sig { params(id: ::Integer, key: ::String, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, tag: ::String, type: ::String, count: T.nilable(::Integer), filter: T.nilable(::String), library_section_type: T.nilable(::Integer), tag_key: T.nilable(::String), tag_type: T.nilable(::Integer), thumb: T.nilable(::String)).void } + def initialize(id: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, tag: nil, type: nil, count: nil, filter: nil, library_section_type: nil, tag_key: nil, tag_type: nil, thumb: nil) + @id = id + @key = key + @library_section_id = library_section_id + @library_section_key = library_section_key + @library_section_title = library_section_title + @tag = tag + @type = type + @count = count + @filter = filter + @library_section_type = library_section_type + @tag_key = tag_key + @tag_type = tag_type + @thumb = thumb + end + + def ==(other) + return false unless other.is_a? self.class + return false unless @id == other.id + return false unless @key == other.key + return false unless @library_section_id == other.library_section_id + return false unless @library_section_key == other.library_section_key + return false unless @library_section_title == other.library_section_title + return false unless @tag == other.tag + return false unless @type == other.type + return false unless @count == other.count + return false unless @filter == other.filter + return false unless @library_section_type == other.library_section_type + return false unless @tag_key == other.tag_key + return false unless @tag_type == other.tag_type + return false unless @thumb == other.thumb + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_enablecreditsmarkergeneration.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_enablecreditsmarkergeneration.rb deleted file mode 100644 index bb61794..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_enablecreditsmarkergeneration.rb +++ /dev/null @@ -1,20 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - # GetSearchAllLibrariesEnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - class GetSearchAllLibrariesEnableCreditsMarkerGeneration < T::Enum - enums do - LIBRARY_DEFAULT = new('-1') - DISABLED = new('0') - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_episodesort.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_episodesort.rb deleted file mode 100644 index 244cf84..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_episodesort.rb +++ /dev/null @@ -1,21 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - # GetSearchAllLibrariesEpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - class GetSearchAllLibrariesEpisodeSort < T::Enum - enums do - LIBRARY_DEFAULT = new('-1') - OLDEST_FIRST = new('0') - NEWEST_FIRST = new('1') - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb index 9efaa80..edc9110 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb @@ -9,6 +9,7 @@ module PlexRubySDK module Operations # GetSearchAllLibrariesFlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). + # class GetSearchAllLibrariesFlattenSeasons < T::Enum enums do LIBRARY_DEFAULT = new('-1') diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb index 18cdab1..374a075 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb @@ -13,17 +13,24 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # 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 + # + field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - sig { params(tag: T.nilable(::String)).void } - def initialize(tag: nil) + sig { params(id: ::Integer, tag: ::String).void } + def initialize(id: nil, tag: nil) + @id = id @tag = tag end def ==(other) return false unless other.is_a? self.class + return false unless @id == other.id return false unless @tag == other.tag true end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediaguid.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_guids.rb similarity index 81% rename from lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediaguid.rb rename to lib/plex_ruby_sdk/models/operations/get_search_all_libraries_guids.rb index 2c76d8e..85a20d9 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediaguid.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_guids.rb @@ -9,12 +9,11 @@ module PlexRubySDK module Operations - class GetSearchAllLibrariesMediaGuid + class GetSearchAllLibrariesGuids extend T::Sig include Crystalline::MetadataFields - # Can be one of the following formats: - # imdb://tt13015952, tmdb://2434012, tvdb://7945991 + # 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_search_all_libraries_hasthumbnail.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb index c346a9f..7407afa 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb @@ -8,7 +8,8 @@ module PlexRubySDK module Models module Operations - + # GetSearchAllLibrariesHasThumbnail - Indicates if the part has a thumbnail. + # class GetSearchAllLibrariesHasThumbnail < T::Enum enums do FALSE = new('0') diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb new file mode 100644 index 0000000..47cab60 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb @@ -0,0 +1,29 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + # + class GetSearchAllLibrariesLibraryOptimizedForStreaming + extend T::Sig + include Crystalline::MetadataFields + + + + + def initialize; end + + def ==(other) + return false unless other.is_a? self.class + true + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb index f1704d7..c87f757 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb @@ -8,16 +8,16 @@ module PlexRubySDK module Models module Operations - + # The folder path for the media item. class GetSearchAllLibrariesLocation extend T::Sig include Crystalline::MetadataFields - field :path, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } } + field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } } - sig { params(path: T.nilable(::String)).void } + sig { params(path: ::String).void } def initialize(path: nil) @path = path end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb index 19a7183..78e2062 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb @@ -13,59 +13,65 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } - + # Unique media identifier. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - - field :part, T::Array[Models::Operations::GetSearchAllLibrariesPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } } - + # Aspect ratio of the video. field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } } - + # Number of audio channels. field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } } - + # Audio codec used. field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } } - + # The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } } - + # Bitrate in bits per second. field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } } + # Container format of the media. + field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } + field :display_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayOffset') } } + # Duration of the media in milliseconds. field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } - + # Indicates whether the media has 64-bit offsets. + # This is relevant for media files that may require larger offsets than what 32-bit integers can provide. + # field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } } - + # Indicates whether voice activity is detected. field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } } - + # Video height in pixels. field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } + # 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::GetSearchAllLibrariesOptimizedForStreaming1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } - field :optimized_for_streaming, T.nilable(Models::Operations::GetSearchAllLibrariesOptimizedForStreaming), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming'), 'decoder': Utils.enum_from_string(Models::Operations::GetSearchAllLibrariesOptimizedForStreaming, true) } } - + field :part, T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesPart]), { '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 + # field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } } - + # Video profile (e.g., main 10). field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } - + # Video resolution (e.g., 4k). field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } } - + # Video width in pixels. field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } - sig { params(container: ::String, id: ::Integer, part: T::Array[Models::Operations::GetSearchAllLibrariesPart], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: 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(Models::Operations::GetSearchAllLibrariesOptimizedForStreaming), 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(container: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil) - @container = container + 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::GetSearchAllLibrariesOptimizedForStreaming1, T::Boolean)), part: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesPart]), 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 - @part = part @aspect_ratio = aspect_ratio @audio_channels = audio_channels @audio_codec = audio_codec @audio_profile = audio_profile @bitrate = bitrate + @container = container + @display_offset = display_offset @duration = duration @has64bit_offsets = has64bit_offsets @has_voice_activity = has_voice_activity @height = height @optimized_for_streaming = optimized_for_streaming + @part = part @video_codec = video_codec @video_frame_rate = video_frame_rate @video_profile = video_profile @@ -75,19 +81,20 @@ module PlexRubySDK def ==(other) return false unless other.is_a? self.class - return false unless @container == other.container return false unless @id == other.id - return false unless @part == other.part return false unless @aspect_ratio == other.aspect_ratio return false unless @audio_channels == other.audio_channels return false unless @audio_codec == other.audio_codec return false unless @audio_profile == other.audio_profile return false unless @bitrate == other.bitrate + return false unless @container == other.container + return false unless @display_offset == other.display_offset return false unless @duration == other.duration return false unless @has64bit_offsets == other.has64bit_offsets return false unless @has_voice_activity == other.has_voice_activity return false unless @height == other.height return false unless @optimized_for_streaming == other.optimized_for_streaming + return false unless @part == other.part return false unless @video_codec == other.video_codec return false unless @video_frame_rate == other.video_frame_rate return false unless @video_profile == other.video_profile diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb index 25ef5f3..54e5558 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb @@ -13,22 +13,50 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields + # 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') } } field :search_result, T::Array[Models::Operations::SearchResult], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('SearchResult') } } - - field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + # Number of media items returned in this response. + field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + # The unique identifier for the library section. + field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } + # The title of the library section. + field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } + # The universally unique identifier for the library section. + field :library_section_uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } } - sig { params(search_result: T::Array[Models::Operations::SearchResult], size: ::Float).void } - def initialize(search_result: nil, size: nil) + sig { params(allow_sync: T::Boolean, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, search_result: T::Array[Models::Operations::SearchResult], size: ::Integer, library_section_id: T.nilable(::Integer), library_section_title: T.nilable(::String), library_section_uuid: T.nilable(::String)).void } + def initialize(allow_sync: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, search_result: nil, size: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil) + @allow_sync = allow_sync + @identifier = identifier + @media_tag_prefix = media_tag_prefix + @media_tag_version = media_tag_version @search_result = search_result @size = size + @library_section_id = library_section_id + @library_section_title = library_section_title + @library_section_uuid = library_section_uuid end def ==(other) return false unless other.is_a? self.class + return false unless @allow_sync == other.allow_sync + 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 @search_result == other.search_result return false unless @size == other.size + return false unless @library_section_id == other.library_section_id + return false unless @library_section_title == other.library_section_title + return false unless @library_section_uuid == other.library_section_uuid true 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 4777b5b..2814e4b 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 @@ -8,199 +8,195 @@ module PlexRubySDK module Models module Operations - + # Unknown + # class GetSearchAllLibrariesMetadata extend T::Sig include Crystalline::MetadataFields - # Unix epoch datetime in seconds + field :added_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } } - + # The art image URL for the media item. + field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } } + # The audience rating for the media item. + field :audience_rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } } + # The banner image URL for the media item. + field :banner, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('banner') } } + # The number of child items associated with this media item. + field :child_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } } + # The duration of the media item in milliseconds. + field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } + # The globally unique identifier for the media item. field :guid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } } - + # The index position of the media item. + field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } + # The unique key for the media item. field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - # The rating key (Media ID) of this media item. - # Note: This is always an integer, but is represented as a string in the API. - # + # The critic rating for the media item. + field :rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } } + # The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. field :rating_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } } - + # The total number of seasons (for TV shows). + field :season_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('seasonCount') } } + # A URL‐friendly version of the media title. + field :slug, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } } + # A synopsis of the media item. field :summary, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } } - + # A brief tagline for the media item. + field :tagline, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } } + # The theme URL for the media item. + field :theme, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } } + # The thumbnail image URL for the media item. + field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } + # The title of the media item. field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - # The type of media content in the Plex library. This can represent videos, music, or photos. - # + # 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::GetSearchAllLibrariesType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetSearchAllLibrariesType, false) } } - - field :art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } } - - field :audience_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } } - + # The URL for the audience rating image. field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } } - - field :banner, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('banner') } } - + # The source from which chapter data is derived. field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } } - - field :child_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } } - - field :collection, T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesCollection]), { '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::GetSearchAllLibrariesCountry]), { '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::GetSearchAllLibrariesDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } } - - field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } - # Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - field :enable_credits_marker_generation, T.nilable(Models::Operations::GetSearchAllLibrariesEnableCreditsMarkerGeneration), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('enableCreditsMarkerGeneration'), 'decoder': Utils.enum_from_string(Models::Operations::GetSearchAllLibrariesEnableCreditsMarkerGeneration, true) } } - # Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - field :episode_sort, T.nilable(Models::Operations::GetSearchAllLibrariesEpisodeSort), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('episodeSort'), 'decoder': Utils.enum_from_string(Models::Operations::GetSearchAllLibrariesEpisodeSort, true) } } # Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). + # field :flatten_seasons, T.nilable(Models::Operations::GetSearchAllLibrariesFlattenSeasons), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('flattenSeasons'), 'decoder': Utils.enum_from_string(Models::Operations::GetSearchAllLibrariesFlattenSeasons, true) } } field :genre, T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesGenre]), { '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. field :grandparent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentGuid') } } - + # The key of the grandparent media item. field :grandparent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentKey') } } - + # The rating key of the grandparent media item. field :grandparent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentRatingKey') } } - + # The slug for the grandparent media item. field :grandparent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentSlug') } } - + # The theme URL for the grandparent media item. field :grandparent_theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTheme') } } - + # The thumbnail URL for the grandparent media item. field :grandparent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentThumb') } } - + # The title of the grandparent media item. field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } } - field :has_premium_extras, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasPremiumExtras') } } - - field :has_premium_primary_extra, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasPremiumPrimaryExtra') } } + field :guids, T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesGuids]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } } field :image, T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesImage]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } } - - field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } - + # The Unix timestamp representing the last time the item was rated. + field :last_rated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastRatedAt') } } + # Unix timestamp for when the media item was last viewed. field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } } - + # The 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') } } - + # The identifier for the library section. field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } - + # The key corresponding to the library section. field :library_section_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } } - + # The title of the library section. field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } } field :location, T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } } - # The Media object is only included when type query is `4` or higher. - # + field :media, T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } - # The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. - # - field :media_guid, T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesMediaGuid]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } } - - field :meta_data_rating, T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesMetaDataRating]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } } - + # The original release date of the media item. field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } } - + # The original title of the 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. field :parent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentGuid') } } - + # The index position of the parent media item. field :parent_index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentIndex') } } - + # The key of the parent media item. field :parent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentKey') } } - # The rating key of the parent item. - # + # The rating key of the parent media item. field :parent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentRatingKey') } } - - field :parent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentSlug') } } - - field :parent_studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentStudio') } } - - field :parent_theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentTheme') } } - + # The thumbnail URL for the parent media item. field :parent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentThumb') } } - + # The title of the parent media item. field :parent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentTitle') } } - + # The release year of the parent media item. field :parent_year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentYear') } } - + # The primary extra key associated with this media item. field :primary_extra_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('primaryExtraKey') } } - - field :rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } } - + # 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::GetSearchAllLibrariesRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } } - - field :season_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('seasonCount') } } # Setting that indicates the episode ordering for the show. - # None = Library default, - # tmdbAiring = The Movie Database (Aired), - # aired = TheTVDB (Aired), - # dvd = TheTVDB (DVD), - # absolute = TheTVDB (Absolute)). + # Options: + # - None = Library default + # - tmdbAiring = The Movie Database (Aired) + # - aired = TheTVDB (Aired) + # - dvd = TheTVDB (DVD) + # - absolute = TheTVDB (Absolute) # field :show_ordering, T.nilable(Models::Operations::GetSearchAllLibrariesShowOrdering), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('showOrdering'), 'decoder': Utils.enum_from_string(Models::Operations::GetSearchAllLibrariesShowOrdering, true) } } - + # Indicates whether child items should be skipped. field :skip_children, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipChildren') } } - + # 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') } } - - field :slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } } - + # The studio that produced the media item. field :studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('studio') } } - - field :tagline, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } } - - field :theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } } - - field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } - - field :title_sort, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('titleSort') } } + # 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::GetSearchAllLibrariesUltraBlurColors), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } } # Unix epoch datetime in seconds field :updated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } } - + # The rating provided by a user for the item. This value is expressed as a decimal number. + field :user_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('userRating') } } + # The number of times this media item has been viewed. field :view_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewCount') } } - + # The number of leaf items that have been viewed. field :viewed_leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewedLeafCount') } } - + # 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::GetSearchAllLibrariesWriter]), { '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, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: Models::Operations::GetSearchAllLibrariesType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesCountry]), director: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesDirector]), duration: T.nilable(::Integer), enable_credits_marker_generation: T.nilable(Models::Operations::GetSearchAllLibrariesEnableCreditsMarkerGeneration), episode_sort: T.nilable(Models::Operations::GetSearchAllLibrariesEpisodeSort), flatten_seasons: T.nilable(Models::Operations::GetSearchAllLibrariesFlattenSeasons), genre: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesGenre]), 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), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesLocation]), media: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesMedia]), media_guid: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesMediaGuid]), meta_data_rating: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesMetaDataRating]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesRole]), season_count: T.nilable(::Integer), show_ordering: T.nilable(Models::Operations::GetSearchAllLibrariesShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::GetSearchAllLibrariesUltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesWriter]), year: T.nilable(::Integer)).void } - def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, enable_credits_marker_generation: nil, episode_sort: nil, flatten_seasons: 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, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil) + sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, banner: ::String, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String, 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::GetSearchAllLibrariesType, audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesCountry]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesDirector]), flatten_seasons: T.nilable(Models::Operations::GetSearchAllLibrariesFlattenSeasons), genre: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesGenre]), 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::GetSearchAllLibrariesGuids]), image: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesLocation]), media: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesMedia]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating_image: T.nilable(::String), role: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesRole]), show_ordering: T.nilable(Models::Operations::GetSearchAllLibrariesShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::GetSearchAllLibrariesUltraBlurColors), 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::GetSearchAllLibrariesWriter]), year: T.nilable(::Integer)).void } + def initialize(added_at: nil, art: nil, audience_rating: nil, banner: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: 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, content_rating: nil, country: nil, created_at_accuracy: nil, created_at_tz_offset: nil, director: nil, flatten_seasons: 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, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, media: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating_image: nil, role: nil, show_ordering: nil, skip_children: 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 - @guid = guid - @key = key - @rating_key = rating_key - @summary = summary - @title = title - @type = type @art = art @audience_rating = audience_rating - @audience_rating_image = audience_rating_image @banner = banner - @chapter_source = chapter_source @child_count = child_count - @collection = collection + @duration = duration + @guid = guid + @index = index + @key = key + @rating = rating + @rating_key = rating_key + @season_count = season_count + @slug = slug + @summary = summary + @tagline = tagline + @theme = theme + @thumb = thumb + @title = title + @title_sort = title_sort + @type = type + @audience_rating_image = audience_rating_image + @chapter_source = chapter_source @content_rating = content_rating @country = country + @created_at_accuracy = created_at_accuracy + @created_at_tz_offset = created_at_tz_offset @director = director - @duration = duration - @enable_credits_marker_generation = enable_credits_marker_generation - @episode_sort = episode_sort @flatten_seasons = flatten_seasons @genre = genre @grandparent_art = grandparent_art @@ -211,10 +207,9 @@ module PlexRubySDK @grandparent_theme = grandparent_theme @grandparent_thumb = grandparent_thumb @grandparent_title = grandparent_title - @has_premium_extras = has_premium_extras - @has_premium_primary_extra = has_premium_primary_extra + @guids = guids @image = image - @index = index + @last_rated_at = last_rated_at @last_viewed_at = last_viewed_at @leaf_count = leaf_count @library_section_id = library_section_id @@ -222,36 +217,26 @@ module PlexRubySDK @library_section_title = library_section_title @location = location @media = media - @media_guid = media_guid - @meta_data_rating = meta_data_rating @originally_available_at = originally_available_at @original_title = original_title @parent_guid = parent_guid @parent_index = parent_index @parent_key = parent_key @parent_rating_key = parent_rating_key - @parent_slug = parent_slug - @parent_studio = parent_studio - @parent_theme = parent_theme @parent_thumb = parent_thumb @parent_title = parent_title @parent_year = parent_year @primary_extra_key = primary_extra_key - @rating = rating @rating_image = rating_image @role = role - @season_count = season_count @show_ordering = show_ordering @skip_children = skip_children @skip_count = skip_count - @slug = slug @studio = studio - @tagline = tagline - @theme = theme - @thumb = thumb - @title_sort = title_sort + @subtype = subtype @ultra_blur_colors = ultra_blur_colors @updated_at = updated_at + @user_rating = user_rating @view_count = view_count @viewed_leaf_count = viewed_leaf_count @view_offset = view_offset @@ -262,25 +247,32 @@ module PlexRubySDK def ==(other) return false unless other.is_a? self.class return false unless @added_at == other.added_at - return false unless @guid == other.guid - return false unless @key == other.key - return false unless @rating_key == other.rating_key - return false unless @summary == other.summary - return false unless @title == other.title - return false unless @type == other.type return false unless @art == other.art return false unless @audience_rating == other.audience_rating - return false unless @audience_rating_image == other.audience_rating_image return false unless @banner == other.banner - return false unless @chapter_source == other.chapter_source return false unless @child_count == other.child_count - return false unless @collection == other.collection + return false unless @duration == other.duration + return false unless @guid == other.guid + return false unless @index == other.index + return false unless @key == other.key + return false unless @rating == other.rating + return false unless @rating_key == other.rating_key + return false unless @season_count == other.season_count + return false unless @slug == other.slug + return false unless @summary == other.summary + return false unless @tagline == other.tagline + return false unless @theme == other.theme + return false unless @thumb == other.thumb + return false unless @title == other.title + return false unless @title_sort == other.title_sort + return false unless @type == other.type + return false unless @audience_rating_image == other.audience_rating_image + return false unless @chapter_source == other.chapter_source return false unless @content_rating == other.content_rating return false unless @country == other.country + return false unless @created_at_accuracy == other.created_at_accuracy + return false unless @created_at_tz_offset == other.created_at_tz_offset return false unless @director == other.director - return false unless @duration == other.duration - return false unless @enable_credits_marker_generation == other.enable_credits_marker_generation - return false unless @episode_sort == other.episode_sort return false unless @flatten_seasons == other.flatten_seasons return false unless @genre == other.genre return false unless @grandparent_art == other.grandparent_art @@ -291,10 +283,9 @@ module PlexRubySDK return false unless @grandparent_theme == other.grandparent_theme return false unless @grandparent_thumb == other.grandparent_thumb return false unless @grandparent_title == other.grandparent_title - return false unless @has_premium_extras == other.has_premium_extras - return false unless @has_premium_primary_extra == other.has_premium_primary_extra + return false unless @guids == other.guids return false unless @image == other.image - return false unless @index == other.index + return false unless @last_rated_at == other.last_rated_at return false unless @last_viewed_at == other.last_viewed_at return false unless @leaf_count == other.leaf_count return false unless @library_section_id == other.library_section_id @@ -302,36 +293,26 @@ module PlexRubySDK return false unless @library_section_title == other.library_section_title return false unless @location == other.location return false unless @media == other.media - return false unless @media_guid == other.media_guid - return false unless @meta_data_rating == other.meta_data_rating return false unless @originally_available_at == other.originally_available_at return false unless @original_title == other.original_title return false unless @parent_guid == other.parent_guid return false unless @parent_index == other.parent_index return false unless @parent_key == other.parent_key return false unless @parent_rating_key == other.parent_rating_key - return false unless @parent_slug == other.parent_slug - return false unless @parent_studio == other.parent_studio - return false unless @parent_theme == other.parent_theme return false unless @parent_thumb == other.parent_thumb return false unless @parent_title == other.parent_title return false unless @parent_year == other.parent_year return false unless @primary_extra_key == other.primary_extra_key - return false unless @rating == other.rating return false unless @rating_image == other.rating_image return false unless @role == other.role - return false unless @season_count == other.season_count return false unless @show_ordering == other.show_ordering return false unless @skip_children == other.skip_children return false unless @skip_count == other.skip_count - return false unless @slug == other.slug return false unless @studio == other.studio - return false unless @tagline == other.tagline - return false unless @theme == other.theme - return false unless @thumb == other.thumb - return false unless @title_sort == other.title_sort + return false unless @subtype == other.subtype return false unless @ultra_blur_colors == other.ultra_blur_colors return false unless @updated_at == other.updated_at + return false unless @user_rating == other.user_rating return false unless @view_count == other.view_count return false unless @viewed_leaf_count == other.viewed_leaf_count return false unless @view_offset == other.view_offset diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb deleted file mode 100644 index 8c61778..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb +++ /dev/null @@ -1,41 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - - class GetSearchAllLibrariesMetaDataRating - extend T::Sig - include Crystalline::MetadataFields - - # A URI or path to the rating image. - field :image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('image') } } - # The type of rating (e.g., audience, critic). - field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - # The value of the rating. - field :value, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('value') } } - - - sig { params(image: ::String, type: ::String, value: ::Float).void } - def initialize(image: nil, type: nil, value: nil) - @image = image - @type = type - @value = value - end - - def ==(other) - return false unless other.is_a? self.class - return false unless @image == other.image - return false unless @type == other.type - return false unless @value == other.value - true - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb index 368dba6..3718f29 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb @@ -8,11 +8,19 @@ module PlexRubySDK module Models module Operations + # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + class GetSearchAllLibrariesOptimizedForStreaming + extend T::Sig + include Crystalline::MetadataFields - class GetSearchAllLibrariesOptimizedForStreaming < T::Enum - enums do - DISABLE = new(0) - ENABLE = new(1) + + + + def initialize; end + + def ==(other) + return false unless other.is_a? self.class + true end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_1.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_1.rb new file mode 100644 index 0000000..64a8f83 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_1.rb @@ -0,0 +1,20 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + + class GetSearchAllLibrariesOptimizedForStreaming1 < T::Enum + enums do + ZERO = new(0) + ONE = new(1) + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_library_1.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_library_1.rb new file mode 100644 index 0000000..1bea505 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_library_1.rb @@ -0,0 +1,20 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Models + module Operations + + + class GetSearchAllLibrariesOptimizedForStreamingLibrary1 < T::Enum + enums do + ZERO = new(0) + ONE = new(1) + end + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb index 9d8f9d5..d0abb47 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb @@ -13,66 +13,74 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # The container format of the media file. - # - field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } - - field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } } - + # Unique part identifier. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - - field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - - field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } - + # Indicates if the part is accessible. + field :accessible, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('accessible') } } + # The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } } - + # Container format of the part. + field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } + # Duration of the part in milliseconds. field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } + # Indicates if the part exists. + field :exists, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('exists') } } + # File path for the part. + field :file, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } } field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } } field :has_thumbnail, T.nilable(Models::Operations::GetSearchAllLibrariesHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(Models::Operations::GetSearchAllLibrariesHasThumbnail, true) } } field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } } + # Key to access this part. + field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + # 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::GetSearchAllLibrariesOptimizedForStreamingLibrary1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } - field :optimized_for_streaming, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } } - - field :stream, T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } } - + field :packet_length, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('packetLength') } } + # File size in bytes. + field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + # Video profile for the part. field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } - sig { params(container: ::String, file: ::String, id: ::Integer, key: ::String, size: ::Integer, audio_profile: T.nilable(::String), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(Models::Operations::GetSearchAllLibrariesHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesStream]), video_profile: T.nilable(::String)).void } - def initialize(container: nil, file: nil, id: nil, key: nil, size: nil, audio_profile: nil, duration: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil, video_profile: nil) - @container = container - @file = file + sig { params(id: ::Integer, accessible: T.nilable(T::Boolean), audio_profile: T.nilable(::String), container: T.nilable(::String), duration: T.nilable(::Integer), exists: T.nilable(T::Boolean), file: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(Models::Operations::GetSearchAllLibrariesHasThumbnail), indexes: T.nilable(::String), key: T.nilable(::String), optimized_for_streaming: T.nilable(T.any(Models::Operations::GetSearchAllLibrariesOptimizedForStreamingLibrary1, T::Boolean)), packet_length: T.nilable(::Integer), size: T.nilable(::Integer), video_profile: T.nilable(::String)).void } + def initialize(id: nil, accessible: nil, audio_profile: nil, container: nil, duration: nil, exists: nil, file: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, key: nil, optimized_for_streaming: nil, packet_length: nil, size: nil, video_profile: nil) @id = id - @key = key - @size = size + @accessible = accessible @audio_profile = audio_profile + @container = container @duration = duration + @exists = exists + @file = file @has64bit_offsets = has64bit_offsets @has_thumbnail = has_thumbnail @indexes = indexes + @key = key @optimized_for_streaming = optimized_for_streaming - @stream = stream + @packet_length = packet_length + @size = size @video_profile = video_profile end def ==(other) return false unless other.is_a? self.class - return false unless @container == other.container - return false unless @file == other.file return false unless @id == other.id - return false unless @key == other.key - return false unless @size == other.size + return false unless @accessible == other.accessible return false unless @audio_profile == other.audio_profile + return false unless @container == other.container return false unless @duration == other.duration + return false unless @exists == other.exists + return false unless @file == other.file return false unless @has64bit_offsets == other.has64bit_offsets return false unless @has_thumbnail == other.has_thumbnail return false unless @indexes == other.indexes + return false unless @key == other.key return false unless @optimized_for_streaming == other.optimized_for_streaming - return false unless @stream == other.stream + return false unless @packet_length == other.packet_length + return false unless @size == other.size return false unless @video_profile == other.video_profile true end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb index 8189826..474ba0d 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb @@ -13,37 +13,31 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - # The filter used to find the actor or tag. - field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } } - # The ID of the tag or actor. - field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # The role of the actor or tag in the media. + # 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') } } + # The role played by the actor in the media item. field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } } - # The name of the tag or actor. - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } - # Unique identifier for the tag. - field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } } - # The thumbnail of 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: T.nilable(::String), id: T.nilable(::Integer), role: T.nilable(::String), tag: T.nilable(::String), tag_key: T.nilable(::String), thumb: T.nilable(::String)).void } - def initialize(filter: nil, id: nil, role: nil, tag: nil, tag_key: nil, thumb: nil) - @filter = filter + sig { params(id: ::Integer, tag: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void } + def initialize(id: nil, tag: nil, role: nil, thumb: nil) @id = id - @role = role @tag = tag - @tag_key = tag_key + @role = role @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 @role == other.role return false unless @tag == other.tag - return false unless @tag_key == other.tag_key + return false unless @role == other.role return false unless @thumb == other.thumb true end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb index 0c5d379..55b90d1 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb @@ -9,11 +9,12 @@ module PlexRubySDK module Operations # GetSearchAllLibrariesShowOrdering - Setting that indicates the episode ordering for the show. - # None = Library default, - # tmdbAiring = The Movie Database (Aired), - # aired = TheTVDB (Aired), - # dvd = TheTVDB (DVD), - # absolute = TheTVDB (Absolute)). + # Options: + # - None = Library default + # - tmdbAiring = The Movie Database (Aired) + # - aired = TheTVDB (Aired) + # - dvd = TheTVDB (DVD) + # - absolute = TheTVDB (Absolute) # class GetSearchAllLibrariesShowOrdering < T::Enum enums do diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_stream.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_stream.rb deleted file mode 100644 index 87beeaa..0000000 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_stream.rb +++ /dev/null @@ -1,181 +0,0 @@ -# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - -# typed: true -# frozen_string_literal: true - - -module PlexRubySDK - module Models - module Operations - - - class GetSearchAllLibrariesStream - extend T::Sig - include Crystalline::MetadataFields - - # Codec used by the stream - field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } } - - field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - # The index of the stream - field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } - # Type of stream (1 = video, 2 = audio, 3 = subtitle) - field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } } - # The audio channel layout - field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } } - # The bit depth of the video stream - field :bit_depth, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitDepth') } } - # The bitrate of the stream in kbps - field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } } - # Indicates if the subtitle stream can auto-sync - field :can_auto_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('canAutoSync') } } - # Number of audio channels (for audio streams) - field :channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('channels') } } - # The chroma location of the video stream - field :chroma_location, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaLocation') } } - # The chroma subsampling format - field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } } - - field :closed_captions, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('closedCaptions') } } - # The coded height of the video stream - field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } } - # The coded width of the video stream - field :coded_width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedWidth') } } - # The color primaries of the video stream - field :color_primaries, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorPrimaries') } } - # The color range of the video stream - field :color_range, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorRange') } } - # The color space of the video stream - field :color_space, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorSpace') } } - # The transfer characteristics (TRC) of the video stream - field :color_trc, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorTrc') } } - # Indicates if this is the default stream - field :default, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } - # Display title of the stream - field :display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } } - - field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } } - # Extended display title of the stream - field :extended_display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } } - # The frame rate of the video stream - field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } } - # Indicates if the stream has a scaling matrix - field :has_scaling_matrix, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasScalingMatrix') } } - - field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } } - # The height of the video stream - field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } - # The language of the stream (for audio/subtitle streams) - field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } } - # Language code of the stream - field :language_code, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageCode') } } - # Language tag of the stream - field :language_tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageTag') } } - # The level of the video codec - field :level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('level') } } - # The profile of the video codec - field :profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('profile') } } - # Number of reference frames - field :ref_frames, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('refFrames') } } - # Sampling rate of the audio stream in Hz - field :sampling_rate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('samplingRate') } } - # The scan type (progressive or interlaced) - field :scan_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scanType') } } - # Indicates if the stream is selected - field :selected, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('selected') } } - # The identifier of the video stream - field :stream_identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamIdentifier') } } - # Title of the subtitle track (for subtitle streams) - field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - # The width of the video stream - field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } - - - sig { params(codec: ::String, id: ::Integer, index: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), display_title: T.nilable(::String), embedded_in_video: T.nilable(::String), extended_display_title: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), stream_identifier: T.nilable(::String), title: T.nilable(::String), width: T.nilable(::Integer)).void } - def initialize(codec: nil, id: nil, index: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, display_title: nil, embedded_in_video: nil, extended_display_title: nil, frame_rate: nil, has_scaling_matrix: nil, hearing_impaired: nil, height: nil, language: nil, language_code: nil, language_tag: nil, level: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, stream_identifier: nil, title: nil, width: nil) - @codec = codec - @id = id - @index = index - @stream_type = stream_type - @audio_channel_layout = audio_channel_layout - @bit_depth = bit_depth - @bitrate = bitrate - @can_auto_sync = can_auto_sync - @channels = channels - @chroma_location = chroma_location - @chroma_subsampling = chroma_subsampling - @closed_captions = closed_captions - @coded_height = coded_height - @coded_width = coded_width - @color_primaries = color_primaries - @color_range = color_range - @color_space = color_space - @color_trc = color_trc - @default = default - @display_title = display_title - @embedded_in_video = embedded_in_video - @extended_display_title = extended_display_title - @frame_rate = frame_rate - @has_scaling_matrix = has_scaling_matrix - @hearing_impaired = hearing_impaired - @height = height - @language = language - @language_code = language_code - @language_tag = language_tag - @level = level - @profile = profile - @ref_frames = ref_frames - @sampling_rate = sampling_rate - @scan_type = scan_type - @selected = selected - @stream_identifier = stream_identifier - @title = title - @width = width - end - - def ==(other) - return false unless other.is_a? self.class - return false unless @codec == other.codec - return false unless @id == other.id - return false unless @index == other.index - return false unless @stream_type == other.stream_type - return false unless @audio_channel_layout == other.audio_channel_layout - return false unless @bit_depth == other.bit_depth - return false unless @bitrate == other.bitrate - return false unless @can_auto_sync == other.can_auto_sync - return false unless @channels == other.channels - return false unless @chroma_location == other.chroma_location - return false unless @chroma_subsampling == other.chroma_subsampling - return false unless @closed_captions == other.closed_captions - return false unless @coded_height == other.coded_height - return false unless @coded_width == other.coded_width - return false unless @color_primaries == other.color_primaries - return false unless @color_range == other.color_range - return false unless @color_space == other.color_space - return false unless @color_trc == other.color_trc - return false unless @default == other.default - return false unless @display_title == other.display_title - return false unless @embedded_in_video == other.embedded_in_video - return false unless @extended_display_title == other.extended_display_title - return false unless @frame_rate == other.frame_rate - return false unless @has_scaling_matrix == other.has_scaling_matrix - return false unless @hearing_impaired == other.hearing_impaired - return false unless @height == other.height - return false unless @language == other.language - return false unless @language_code == other.language_code - return false unless @language_tag == other.language_tag - return false unless @level == other.level - return false unless @profile == other.profile - return false unless @ref_frames == other.ref_frames - return false unless @sampling_rate == other.sampling_rate - return false unless @scan_type == other.scan_type - return false unless @selected == other.selected - return false unless @stream_identifier == other.stream_identifier - return false unless @title == other.title - return false unless @width == other.width - true - end - end - end - end -end diff --git a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb index 48912ed..a3c7a2a 100644 --- a/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb @@ -13,18 +13,26 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + # Unique identifier for the writer. + 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') } } + # 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(tag: T.nilable(::String)).void } - def initialize(tag: nil) + sig { params(id: ::Integer, tag: ::String, thumb: T.nilable(::String)).void } + def initialize(id: nil, tag: nil, thumb: nil) + @id = id @tag = tag + @thumb = thumb end def ==(other) return false unless other.is_a? self.class + return false unless @id == other.id return false unless @tag == other.tag + return false unless @thumb == other.thumb true end end diff --git a/lib/plex_ruby_sdk/models/operations/searchresult.rb b/lib/plex_ruby_sdk/models/operations/searchresult.rb index f7e1599..c5b19bf 100644 --- a/lib/plex_ruby_sdk/models/operations/searchresult.rb +++ b/lib/plex_ruby_sdk/models/operations/searchresult.rb @@ -13,22 +13,26 @@ module PlexRubySDK extend T::Sig include Crystalline::MetadataFields - - field :metadata, Models::Operations::GetSearchAllLibrariesMetadata, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } - + # The score of the search result, typically a float value between 0 and 1. field :score, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('score') } } + field :directory, T.nilable(Models::Operations::GetSearchAllLibrariesDirectory), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Directory') } } - sig { params(metadata: Models::Operations::GetSearchAllLibrariesMetadata, score: ::Float).void } - def initialize(metadata: nil, score: nil) - @metadata = metadata + field :metadata, T.nilable(Models::Operations::GetSearchAllLibrariesMetadata), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } + + + sig { params(score: ::Float, directory: T.nilable(Models::Operations::GetSearchAllLibrariesDirectory), metadata: T.nilable(Models::Operations::GetSearchAllLibrariesMetadata)).void } + def initialize(score: nil, directory: nil, metadata: nil) @score = score + @directory = directory + @metadata = metadata end def ==(other) return false unless other.is_a? self.class - return false unless @metadata == other.metadata return false unless @score == other.score + return false unless @directory == other.directory + return false unless @metadata == other.metadata true end end diff --git a/lib/plex_ruby_sdk/models/operations/showordering.rb b/lib/plex_ruby_sdk/models/operations/showordering.rb index 3f2f3a0..f6b941a 100644 --- a/lib/plex_ruby_sdk/models/operations/showordering.rb +++ b/lib/plex_ruby_sdk/models/operations/showordering.rb @@ -9,11 +9,12 @@ module PlexRubySDK module Operations # ShowOrdering - Setting that indicates the episode ordering for the show. - # None = Library default, - # tmdbAiring = The Movie Database (Aired), - # aired = TheTVDB (Aired), - # dvd = TheTVDB (DVD), - # absolute = TheTVDB (Absolute)). + # Options: + # - None = Library default + # - tmdbAiring = The Movie Database (Aired) + # - aired = TheTVDB (Aired) + # - dvd = TheTVDB (DVD) + # - absolute = TheTVDB (Absolute) # class ShowOrdering < T::Enum enums do diff --git a/lib/plex_ruby_sdk/models/operations/stream.rb b/lib/plex_ruby_sdk/models/operations/stream.rb index b8c3362..90fa44c 100644 --- a/lib/plex_ruby_sdk/models/operations/stream.rb +++ b/lib/plex_ruby_sdk/models/operations/stream.rb @@ -22,11 +22,11 @@ module PlexRubySDK # Unique stream identifier. field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # Stream type: - # - 1 = video - # - 2 = audio - # - 3 = subtitle + # - VIDEO = 1 + # - AUDIO = 2 + # - SUBTITLE = 3 # - field :stream_type, Models::Operations::StreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::StreamType, false) } } + field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } } # 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::StreamType, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), format: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), index: T.nilable(::Integer), key: T.nilable(::String), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void } + sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), 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/sdkconfiguration.rb b/lib/plex_ruby_sdk/sdkconfiguration.rb index b485e30..c26007c 100644 --- a/lib/plex_ruby_sdk/sdkconfiguration.rb +++ b/lib/plex_ruby_sdk/sdkconfiguration.rb @@ -14,7 +14,7 @@ module PlexRubySDK extend T::Sig SERVERS = [ - '{protocol}://{ip}:{port}', # 1 - The full address of your Plex Server + 'https://10.10.10.47:32400', # 1 - The full address of your Plex Server ].freeze # Contains the list of servers available to the SDK @@ -66,9 +66,9 @@ module PlexRubySDK end @language = 'ruby' @openapi_doc_version = '0.0.3' - @sdk_version = '0.15.0' + @sdk_version = '0.17.0' @gen_version = '2.570.4' - @user_agent = 'speakeasy-sdk/ruby 0.15.0 2.570.4 0.0.3 plex_ruby_sdk' + @user_agent = 'speakeasy-sdk/ruby 0.17.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 ab4ec90..f86eb3a 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.15.0' + s.version = '0.17.0' s.platform = Gem::Platform::RUBY s.licenses = ['Apache-2.0'] s.summary = ''