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 = ''