From 5617d769973eb71085a30ddfdf3d3d2f384721b1 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Thu, 5 Jun 2025 00:02:45 +0000 Subject: [PATCH] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.555.3 --- .speakeasy/gen.lock | 132 +++--- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 14 +- README.md | 2 +- RELEASES.md | 12 +- codeSamples.yaml | 30 +- .../errors/getallmedialibrarybadrequest.md | 11 - .../errors/getallmedialibraryunauthorized.md | 11 - .../errors/getlibrarysectionsallbadrequest.md | 11 + ...rors.md => getlibrarysectionsallerrors.md} | 2 +- ... => getlibrarysectionsalllibraryerrors.md} | 2 +- .../getlibrarysectionsallunauthorized.md | 11 + docs/models/operations/country.md | 10 +- docs/models/operations/director.md | 10 +- docs/models/operations/genre.md | 10 +- .../getactorslibraryqueryparamtype.md | 20 +- docs/models/operations/getalllibrariestype.md | 20 +- .../operations/getallmedialibraryfieldtype.md | 9 - .../operations/getallmedialibraryguids.md | 8 - .../operations/getallmedialibraryimage.md | 10 - ...edialibrarylibraryoptimizedforstreaming.md | 19 - .../getallmedialibrarylibrarytype.md | 16 - .../getallmedialibrarymediacontainer.md | 26 -- .../operations/getallmedialibrarymeta.md | 12 - .../operations/getallmedialibrarypart.md | 23 - .../getallmedialibraryqueryparamtype.md | 22 - .../operations/getallmedialibraryresponse.md | 11 - .../getallmedialibraryresponsebody.md | 10 - .../operations/getallmedialibrarysort.md | 15 - .../operations/getallmedialibrarystream.md | 58 --- .../operations/getallmedialibrarytype.md | 15 - .../getcountrieslibraryqueryparamtype.md | 20 +- .../getgenreslibraryqueryparamtype.md | 20 +- .../operations/getlibraryitemslibrarytype.md | 22 +- .../operations/getlibraryitemsmetadata.md | 2 +- .../getlibraryitemsqueryparamtype.md | 20 +- ...> getlibrarysectionsallactivedirection.md} | 2 +- ....md => getlibrarysectionsallcollection.md} | 2 +- ...try.md => getlibrarysectionsallcountry.md} | 2 +- ... getlibrarysectionsalldefaultdirection.md} | 2 +- ...or.md => getlibrarysectionsalldirector.md} | 2 +- ...field.md => getlibrarysectionsallfield.md} | 2 +- .../getlibrarysectionsallfieldtype.md | 9 + ...lter.md => getlibrarysectionsallfilter.md} | 2 +- ...genre.md => getlibrarysectionsallgenre.md} | 2 +- .../operations/getlibrarysectionsallguids.md | 8 + ...d => getlibrarysectionsallhasthumbnail.md} | 2 +- .../operations/getlibrarysectionsallimage.md | 10 + ...sectionsalllibraryoptimizedforstreaming.md | 19 + ...tlibrarysectionsalllibraryresponsetype.md} | 2 +- .../getlibrarysectionsalllibrarytype.md | 20 + ...media.md => getlibrarysectionsallmedia.md} | 44 +- .../getlibrarysectionsallmediacontainer.md | 26 ++ .../operations/getlibrarysectionsallmeta.md | 12 + ...ta.md => getlibrarysectionsallmetadata.md} | 24 +- ...or.md => getlibrarysectionsalloperator.md} | 2 +- ...ibrarysectionsalloptimizedforstreaming.md} | 2 +- ...brarysectionsalloptimizedforstreaming1.md} | 2 +- .../operations/getlibrarysectionsallpart.md | 23 + ...ibrarysectionsallqueryparamincludemeta.md} | 2 +- .../getlibrarysectionsallqueryparamtype.md | 24 ++ ...est.md => getlibrarysectionsallrequest.md} | 6 +- .../getlibrarysectionsallresponse.md | 11 + .../getlibrarysectionsallresponsebody.md | 10 + ...ryrole.md => getlibrarysectionsallrole.md} | 2 +- .../operations/getlibrarysectionsallsort.md | 15 + .../operations/getlibrarysectionsallstream.md | 58 +++ ....md => getlibrarysectionsallstreamtype.md} | 2 +- .../operations/getlibrarysectionsalltype.md | 15 + ...> getlibrarysectionsallultrablurcolors.md} | 2 +- ...iter.md => getlibrarysectionsallwriter.md} | 2 +- .../operations/getmediametadatacountry.md | 10 +- .../operations/getmediametadatadirector.md | 14 +- .../operations/getmediametadatagenre.md | 10 +- .../operations/getmediametadataguids.md | 6 +- .../operations/getmediametadatametadata.md | 2 +- .../operations/getmediametadatarequest.md | 32 +- .../models/operations/getmediametadatarole.md | 16 +- .../models/operations/getmediametadatatype.md | 22 +- .../operations/getmediametadatawriter.md | 14 +- .../getplaylistcontentsqueryparamtype.md | 20 +- .../operations/getrecentlyaddedhubstype.md | 22 +- .../operations/getrecentlyaddedmetadata.md | 2 +- .../getsearchalllibrariesmetadata.md | 2 +- .../operations/getsearchalllibrariestype.md | 22 +- .../getsearchlibraryqueryparamtype.md | 20 +- .../gettopwatchedcontentmediacontainer.md | 10 +- ...topwatchedcontentqueryparamincludeguids.md | 12 + .../gettopwatchedcontentqueryparamtype.md | 20 +- .../operations/gettopwatchedcontentrequest.md | 4 +- docs/models/operations/guids.md | 6 +- docs/models/operations/producer.md | 14 +- docs/models/operations/queryparamtype.md | 20 +- docs/models/operations/rating.md | 10 +- docs/models/operations/role.md | 16 +- docs/models/operations/type.md | 20 +- docs/models/operations/writer.md | 13 +- docs/sdks/hubs/README.md | 1 + docs/sdks/library/README.md | 50 ++- docs/sdks/plex/README.md | 3 +- docs/sdks/search/README.md | 4 +- docs/sdks/server/README.md | 1 - pyproject.toml | 2 +- src/plex_api_client/_version.py | 6 +- src/plex_api_client/library.py | 80 ++-- src/plex_api_client/models/errors/__init__.py | 52 +-- ...library.py => get_library_sections_all.py} | 32 +- .../models/operations/__init__.py | 393 +++++++++--------- .../models/operations/get_actors_library.py | 8 +- .../models/operations/get_all_libraries.py | 4 + .../operations/get_countries_library.py | 8 +- .../models/operations/get_genres_library.py | 8 +- .../models/operations/get_library_items.py | 18 +- ...library.py => get_library_sections_all.py} | 323 +++++++------- .../models/operations/get_media_meta_data.py | 118 ++++-- .../models/operations/get_recently_added.py | 143 +++++-- .../operations/get_recently_added_library.py | 8 +- .../operations/get_search_all_libraries.py | 10 +- .../models/operations/get_search_library.py | 8 +- .../models/operations/getplaylistcontents.py | 8 +- .../models/operations/gettopwatchedcontent.py | 59 ++- 121 files changed, 1509 insertions(+), 1215 deletions(-) delete mode 100644 docs/models/errors/getallmedialibrarybadrequest.md delete mode 100644 docs/models/errors/getallmedialibraryunauthorized.md create mode 100644 docs/models/errors/getlibrarysectionsallbadrequest.md rename docs/models/errors/{getallmedialibraryerrors.md => getlibrarysectionsallerrors.md} (97%) rename docs/models/errors/{getallmedialibrarylibraryerrors.md => getlibrarysectionsalllibraryerrors.md} (95%) create mode 100644 docs/models/errors/getlibrarysectionsallunauthorized.md delete mode 100644 docs/models/operations/getallmedialibraryfieldtype.md delete mode 100644 docs/models/operations/getallmedialibraryguids.md delete mode 100644 docs/models/operations/getallmedialibraryimage.md delete mode 100644 docs/models/operations/getallmedialibrarylibraryoptimizedforstreaming.md delete mode 100644 docs/models/operations/getallmedialibrarylibrarytype.md delete mode 100644 docs/models/operations/getallmedialibrarymediacontainer.md delete mode 100644 docs/models/operations/getallmedialibrarymeta.md delete mode 100644 docs/models/operations/getallmedialibrarypart.md delete mode 100644 docs/models/operations/getallmedialibraryqueryparamtype.md delete mode 100644 docs/models/operations/getallmedialibraryresponse.md delete mode 100644 docs/models/operations/getallmedialibraryresponsebody.md delete mode 100644 docs/models/operations/getallmedialibrarysort.md delete mode 100644 docs/models/operations/getallmedialibrarystream.md delete mode 100644 docs/models/operations/getallmedialibrarytype.md rename docs/models/operations/{getallmedialibraryactivedirection.md => getlibrarysectionsallactivedirection.md} (83%) rename docs/models/operations/{getallmedialibrarycollection.md => getlibrarysectionsallcollection.md} (96%) rename docs/models/operations/{getallmedialibrarycountry.md => getlibrarysectionsallcountry.md} (95%) rename docs/models/operations/{getallmedialibrarydefaultdirection.md => getlibrarysectionsalldefaultdirection.md} (83%) rename docs/models/operations/{getallmedialibrarydirector.md => getlibrarysectionsalldirector.md} (91%) rename docs/models/operations/{getallmedialibraryfield.md => getlibrarysectionsallfield.md} (95%) create mode 100644 docs/models/operations/getlibrarysectionsallfieldtype.md rename docs/models/operations/{getallmedialibraryfilter.md => getlibrarysectionsallfilter.md} (97%) rename docs/models/operations/{getallmedialibrarygenre.md => getlibrarysectionsallgenre.md} (95%) create mode 100644 docs/models/operations/getlibrarysectionsallguids.md rename docs/models/operations/{getallmedialibraryhasthumbnail.md => getlibrarysectionsallhasthumbnail.md} (79%) create mode 100644 docs/models/operations/getlibrarysectionsallimage.md create mode 100644 docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md rename docs/models/operations/{getallmedialibrarylibraryresponsetype.md => getlibrarysectionsalllibraryresponsetype.md} (84%) create mode 100644 docs/models/operations/getlibrarysectionsalllibrarytype.md rename docs/models/operations/{getallmedialibrarymedia.md => getlibrarysectionsallmedia.md} (51%) create mode 100644 docs/models/operations/getlibrarysectionsallmediacontainer.md create mode 100644 docs/models/operations/getlibrarysectionsallmeta.md rename docs/models/operations/{getallmedialibrarymetadata.md => getlibrarysectionsallmetadata.md} (98%) rename docs/models/operations/{getallmedialibraryoperator.md => getlibrarysectionsalloperator.md} (93%) rename docs/models/operations/{getallmedialibraryoptimizedforstreaming.md => getlibrarysectionsalloptimizedforstreaming.md} (86%) rename docs/models/operations/{getallmedialibraryoptimizedforstreaming1.md => getlibrarysectionsalloptimizedforstreaming1.md} (66%) create mode 100644 docs/models/operations/getlibrarysectionsallpart.md rename docs/models/operations/{getallmedialibraryqueryparamincludemeta.md => getlibrarysectionsallqueryparamincludemeta.md} (77%) create mode 100644 docs/models/operations/getlibrarysectionsallqueryparamtype.md rename docs/models/operations/{getallmedialibraryrequest.md => getlibrarysectionsallrequest.md} (96%) create mode 100644 docs/models/operations/getlibrarysectionsallresponse.md create mode 100644 docs/models/operations/getlibrarysectionsallresponsebody.md rename docs/models/operations/{getallmedialibraryrole.md => getlibrarysectionsallrole.md} (97%) create mode 100644 docs/models/operations/getlibrarysectionsallsort.md create mode 100644 docs/models/operations/getlibrarysectionsallstream.md rename docs/models/operations/{getallmedialibrarystreamtype.md => getlibrarysectionsallstreamtype.md} (86%) create mode 100644 docs/models/operations/getlibrarysectionsalltype.md rename docs/models/operations/{getallmedialibraryultrablurcolors.md => getlibrarysectionsallultrablurcolors.md} (94%) rename docs/models/operations/{getallmedialibrarywriter.md => getlibrarysectionsallwriter.md} (91%) create mode 100644 docs/models/operations/gettopwatchedcontentqueryparamincludeguids.md rename src/plex_api_client/models/errors/{get_all_media_library.py => get_library_sections_all.py} (58%) rename src/plex_api_client/models/operations/{get_all_media_library.py => get_library_sections_all.py} (82%) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 19d4490..e978aee 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 3eeea668-4ef4-464e-a888-bdfa023bedf5 management: - docChecksum: 48621865085324b8b8eda5901f092a37 + docChecksum: b2624bb972abebc11eff6d460c59de68 docVersion: 0.0.3 - speakeasyVersion: 1.554.1 - generationVersion: 2.616.1 - releaseVersion: 0.28.0 - configChecksum: 8d4f200b74495e27fa0135dff491880e + speakeasyVersion: 1.555.3 + generationVersion: 2.620.2 + releaseVersion: 0.28.1 + configChecksum: 1ad0e1092781bbf2be9f1efcb1ef7550 repoURL: https://github.com/LukeHagar/plexpy.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexpy.git @@ -88,10 +88,6 @@ generatedFiles: - docs/models/errors/getalllibrarieserrors.md - docs/models/errors/getalllibrarieslibraryerrors.md - docs/models/errors/getalllibrariesunauthorized.md - - docs/models/errors/getallmedialibrarybadrequest.md - - docs/models/errors/getallmedialibraryerrors.md - - docs/models/errors/getallmedialibrarylibraryerrors.md - - docs/models/errors/getallmedialibraryunauthorized.md - docs/models/errors/getavailableclientsbadrequest.md - docs/models/errors/getavailableclientserrors.md - docs/models/errors/getavailableclientsservererrors.md @@ -152,6 +148,10 @@ generatedFiles: - docs/models/errors/getlibraryitemserrors.md - docs/models/errors/getlibraryitemslibraryerrors.md - docs/models/errors/getlibraryitemsunauthorized.md + - docs/models/errors/getlibrarysectionsallbadrequest.md + - docs/models/errors/getlibrarysectionsallerrors.md + - docs/models/errors/getlibrarysectionsalllibraryerrors.md + - docs/models/errors/getlibrarysectionsallunauthorized.md - docs/models/errors/getmediametadatabadrequest.md - docs/models/errors/getmediametadataerrors.md - docs/models/errors/getmediametadatalibraryerrors.md @@ -429,41 +429,6 @@ generatedFiles: - docs/models/operations/getalllibrariesresponse.md - docs/models/operations/getalllibrariesresponsebody.md - docs/models/operations/getalllibrariestype.md - - docs/models/operations/getallmedialibraryactivedirection.md - - docs/models/operations/getallmedialibrarycollection.md - - docs/models/operations/getallmedialibrarycountry.md - - docs/models/operations/getallmedialibrarydefaultdirection.md - - docs/models/operations/getallmedialibrarydirector.md - - docs/models/operations/getallmedialibraryfield.md - - docs/models/operations/getallmedialibraryfieldtype.md - - docs/models/operations/getallmedialibraryfilter.md - - docs/models/operations/getallmedialibrarygenre.md - - docs/models/operations/getallmedialibraryguids.md - - docs/models/operations/getallmedialibraryhasthumbnail.md - - docs/models/operations/getallmedialibraryimage.md - - docs/models/operations/getallmedialibrarylibraryoptimizedforstreaming.md - - docs/models/operations/getallmedialibrarylibraryresponsetype.md - - docs/models/operations/getallmedialibrarylibrarytype.md - - docs/models/operations/getallmedialibrarymedia.md - - docs/models/operations/getallmedialibrarymediacontainer.md - - docs/models/operations/getallmedialibrarymeta.md - - docs/models/operations/getallmedialibrarymetadata.md - - docs/models/operations/getallmedialibraryoperator.md - - docs/models/operations/getallmedialibraryoptimizedforstreaming.md - - docs/models/operations/getallmedialibraryoptimizedforstreaming1.md - - docs/models/operations/getallmedialibrarypart.md - - docs/models/operations/getallmedialibraryqueryparamincludemeta.md - - docs/models/operations/getallmedialibraryqueryparamtype.md - - docs/models/operations/getallmedialibraryrequest.md - - docs/models/operations/getallmedialibraryresponse.md - - docs/models/operations/getallmedialibraryresponsebody.md - - docs/models/operations/getallmedialibraryrole.md - - docs/models/operations/getallmedialibrarysort.md - - docs/models/operations/getallmedialibrarystream.md - - docs/models/operations/getallmedialibrarystreamtype.md - - docs/models/operations/getallmedialibrarytype.md - - docs/models/operations/getallmedialibraryultrablurcolors.md - - docs/models/operations/getallmedialibrarywriter.md - docs/models/operations/getavailableclientsmediacontainer.md - docs/models/operations/getavailableclientsresponse.md - docs/models/operations/getavailableclientsresponsebody.md @@ -568,6 +533,41 @@ generatedFiles: - docs/models/operations/getlibraryitemstype.md - docs/models/operations/getlibraryitemsultrablurcolors.md - docs/models/operations/getlibraryitemswriter.md + - docs/models/operations/getlibrarysectionsallactivedirection.md + - docs/models/operations/getlibrarysectionsallcollection.md + - docs/models/operations/getlibrarysectionsallcountry.md + - docs/models/operations/getlibrarysectionsalldefaultdirection.md + - docs/models/operations/getlibrarysectionsalldirector.md + - docs/models/operations/getlibrarysectionsallfield.md + - docs/models/operations/getlibrarysectionsallfieldtype.md + - docs/models/operations/getlibrarysectionsallfilter.md + - docs/models/operations/getlibrarysectionsallgenre.md + - docs/models/operations/getlibrarysectionsallguids.md + - docs/models/operations/getlibrarysectionsallhasthumbnail.md + - docs/models/operations/getlibrarysectionsallimage.md + - docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md + - docs/models/operations/getlibrarysectionsalllibraryresponsetype.md + - docs/models/operations/getlibrarysectionsalllibrarytype.md + - docs/models/operations/getlibrarysectionsallmedia.md + - docs/models/operations/getlibrarysectionsallmediacontainer.md + - docs/models/operations/getlibrarysectionsallmeta.md + - docs/models/operations/getlibrarysectionsallmetadata.md + - docs/models/operations/getlibrarysectionsalloperator.md + - docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md + - docs/models/operations/getlibrarysectionsalloptimizedforstreaming1.md + - docs/models/operations/getlibrarysectionsallpart.md + - docs/models/operations/getlibrarysectionsallqueryparamincludemeta.md + - docs/models/operations/getlibrarysectionsallqueryparamtype.md + - docs/models/operations/getlibrarysectionsallrequest.md + - docs/models/operations/getlibrarysectionsallresponse.md + - docs/models/operations/getlibrarysectionsallresponsebody.md + - docs/models/operations/getlibrarysectionsallrole.md + - docs/models/operations/getlibrarysectionsallsort.md + - docs/models/operations/getlibrarysectionsallstream.md + - docs/models/operations/getlibrarysectionsallstreamtype.md + - docs/models/operations/getlibrarysectionsalltype.md + - docs/models/operations/getlibrarysectionsallultrablurcolors.md + - docs/models/operations/getlibrarysectionsallwriter.md - docs/models/operations/getmediaartsmediacontainer.md - docs/models/operations/getmediaartsmetadata.md - docs/models/operations/getmediaartsrequest.md @@ -787,6 +787,7 @@ generatedFiles: - docs/models/operations/gettopwatchedcontentguids.md - docs/models/operations/gettopwatchedcontentmediacontainer.md - docs/models/operations/gettopwatchedcontentmetadata.md + - docs/models/operations/gettopwatchedcontentqueryparamincludeguids.md - docs/models/operations/gettopwatchedcontentqueryparamtype.md - docs/models/operations/gettopwatchedcontentrequest.md - docs/models/operations/gettopwatchedcontentresponse.md @@ -1012,12 +1013,12 @@ generatedFiles: - src/plex_api_client/models/errors/enablepapertrail.py - src/plex_api_client/models/errors/get_actors_library.py - src/plex_api_client/models/errors/get_all_libraries.py - - src/plex_api_client/models/errors/get_all_media_library.py - src/plex_api_client/models/errors/get_banner_image.py - src/plex_api_client/models/errors/get_countries_library.py - src/plex_api_client/models/errors/get_genres_library.py - src/plex_api_client/models/errors/get_library_details.py - src/plex_api_client/models/errors/get_library_items.py + - src/plex_api_client/models/errors/get_library_sections_all.py - src/plex_api_client/models/errors/get_media_meta_data.py - src/plex_api_client/models/errors/get_media_providers.py - src/plex_api_client/models/errors/get_recently_added_library.py @@ -1093,12 +1094,12 @@ generatedFiles: - src/plex_api_client/models/operations/enablepapertrail.py - src/plex_api_client/models/operations/get_actors_library.py - src/plex_api_client/models/operations/get_all_libraries.py - - src/plex_api_client/models/operations/get_all_media_library.py - src/plex_api_client/models/operations/get_banner_image.py - src/plex_api_client/models/operations/get_countries_library.py - src/plex_api_client/models/operations/get_genres_library.py - src/plex_api_client/models/operations/get_library_details.py - src/plex_api_client/models/operations/get_library_items.py + - src/plex_api_client/models/operations/get_library_sections_all.py - src/plex_api_client/models/operations/get_media_arts.py - src/plex_api_client/models/operations/get_media_meta_data.py - src/plex_api_client/models/operations/get_media_posters.py @@ -1566,7 +1567,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"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"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": "/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"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}, "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"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_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"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}, {"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "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"}, {"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "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"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_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"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}, {"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "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"}, {"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} + application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "identifier": "com.plexapp.plugins.library", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"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": "/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"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}, "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"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "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"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_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"}], "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"}, {"id": 126522, "filter": "director=235876", "tag": "Danny Boyle", "tagKey": "5d776831151a60001f24d031"}, {"id": 126522, "filter": "director=235876", "tag": "Danny Boyle", "tagKey": "5d776831151a60001f24d031"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}, {"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "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"}], "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"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "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"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_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"}], "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"}, {"id": 126522, "filter": "director=235876", "tag": "Danny Boyle", "tagKey": "5d776831151a60001f24d031"}, {"id": 126522, "filter": "director=235876", "tag": "Danny Boyle", "tagKey": "5d776831151a60001f24d031"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}, {"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "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"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} getLibraryHubs: speakeasy-default-get-library-hubs: parameters: @@ -1803,7 +1804,7 @@ examples: speakeasy-default-get-media-meta-data: parameters: path: - ratingKey: 9518 + ratingKey: "21119,21617" query: includeConcerts: true includeExtras: true @@ -1820,7 +1821,7 @@ examples: asyncRefreshLocalMediaAgent: true responses: "200": - application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"id": 259, "tag": "Crime", "filter": "genre=19"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}, {"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"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"}, {"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"}], "Guid": [{"id": "imdb://tt3032476"}], "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"}, {"path": "/TV Shows/Better Call Saul"}], "Chapter": [{"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}], "Marker": [{"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}], "Extras": {"size": 1}}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"id": 259, "tag": "Crime", "filter": "genre=19"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}, {"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"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"}, {"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"}], "Guid": [{"id": "imdb://tt3032476"}], "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"}, {"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"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "Guid": [{"id": "imdb://tt3032476"}], "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"}]}]}], "Genre": [{"id": 259, "tag": "Crime", "filter": "genre=19"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}, {"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"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"}, {"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"}, {"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"}, {"path": "/TV Shows/Better Call Saul"}], "Chapter": [{"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}], "Marker": [{"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}], "Extras": {"size": 1}}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"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": "imdb://tt3032476"}], "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"}]}]}], "Genre": [{"id": 259, "tag": "Crime", "filter": "genre=19"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}, {"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"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"}, {"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"}, {"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"}, {"path": "/TV Shows/Better Call Saul"}], "Chapter": [{"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}], "Marker": [{"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}], "Extras": {"size": 1}}]}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": @@ -1908,6 +1909,18 @@ examples: application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + speakeasy-default-get-top-watched-content: + parameters: + query: + type: 2 + includeGuids: 1 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "Metadata": [{"ratingKey": "17", "key": "/library/metadata/17", "guid": "plex://movie/5d77683f6f4521001ea9dc53", "slug": "waterloo-road", "studio": "Universal Pictures", "type": "movie", "title": "Serenity", "librarySectionTitle": "Movies", "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "contentRating": "PG-13", "summary": "Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.", "index": 1, "audienceRating": 9.1, "year": 2005, "tagline": "They aim to misbehave.", "thumb": "/library/metadata/17/thumb/1705637165", "art": "/library/metadata/17/art/1705637165", "duration": 141417, "originallyAvailableAt": "2005-09-29T00:00:00Z", "leafCount": 222, "viewedLeafCount": 100, "childCount": 13, "addedAt": 1705637164, "updatedAt": 1705637165, "globalViewCount": 80, "audienceRatingImage": "rottentomatoes://image.rating.upright", "Genre": [{"id": 184, "filter": "genre=184", "tag": "Thriller"}], "Country": [{"id": 116, "filter": "country=116", "tag": "United States of America"}], "Guid": [{"id": "tvdb://2337"}], "Role": [{"id": 220, "filter": "actor=220", "tag": "Dennis Keiffer", "tagKey": "5d77683554f42c001f8c4708", "role": "Bar Guy (uncredited)", "thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}], "User": [{"id": 220}]}]}} + "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-watch-list: speakeasy-default-get-watch-list: parameters: @@ -2309,5 +2322,26 @@ examples: application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-library-sections-all: + speakeasy-default-get-library-sections-all: + parameters: + path: + sectionKey: 9518 + query: + type: 2 + includeMeta: 1 + includeGuids: 1 + includeAdvanced: 1 + includeCollections: 1 + includeExternalMedia: 1 + X-Plex-Container-Start: 0 + X-Plex-Container-Size: 50 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "thumb": "/:/resources/show.png", "nocache": true, "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "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"}]}], "FieldType": [{"type": "tag", "Operator": []}]}, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "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"}]}]}], "Genre": [{"tag": "Crime"}], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "Danny Boyle"}], "Writer": [{"tag": "Jamie P. Hanson"}], "Role": [{"tag": "Teller"}], "Collection": [{"tag": "My Awesome Collection"}]}]}} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]} examplesVersion: 1.0.2 generatedTests: {} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index b9f4c9a..6f070a5 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -17,7 +17,7 @@ generation: oAuth2ClientCredentialsEnabled: true oAuth2PasswordEnabled: false python: - version: 0.28.0 + version: 0.28.1 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index cd3a831..e4403b5 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.554.1 +speakeasyVersion: 1.555.3 sources: my-source: sourceNamespace: my-source @@ -8,19 +8,19 @@ sources: - latest plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a - sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c + sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0 + sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4 tags: - latest - - speakeasy-sdk-regen-1748563292 + - speakeasy-sdk-regen-1749081688 targets: plexpy: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a - sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c + sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0 + sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4 codeSamplesNamespace: code-samples-python-plexpy - codeSamplesRevisionDigest: sha256:e1e388378c142d431c28329b4d0508c172ad2258f66e0cc12dc6edeb4124194f + codeSamplesRevisionDigest: sha256:e7e6c374b6975dfe420f76cc8aab7a5fe741a649660093c00e3c9881b19d4179 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index b155df9..46d9f50 100644 --- a/README.md +++ b/README.md @@ -218,7 +218,7 @@ asyncio.run(main()) * [get_library_details](docs/sdks/library/README.md#get_library_details) - Get Library Details * [delete_library](docs/sdks/library/README.md#delete_library) - Delete Library Section * [get_library_items](docs/sdks/library/README.md#get_library_items) - Get Library Items -* [get_all_media_library](docs/sdks/library/README.md#get_all_media_library) - Get all media of library +* [get_library_sections_all](docs/sdks/library/README.md#get_library_sections_all) - Get Library section media by tag ALL * [get_refresh_library_metadata](docs/sdks/library/README.md#get_refresh_library_metadata) - Refresh Metadata Of The Library * [get_search_library](docs/sdks/library/README.md#get_search_library) - Search Library * [get_genres_library](docs/sdks/library/README.md#get_genres_library) - Get Genres of library media diff --git a/RELEASES.md b/RELEASES.md index 363558b..b8f1e21 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1048,4 +1048,14 @@ Based on: ### Generated - [python v0.28.0] . ### Releases -- [PyPI v0.28.0] https://pypi.org/project/plex-api-client/0.28.0 - . \ No newline at end of file +- [PyPI v0.28.0] https://pypi.org/project/plex-api-client/0.28.0 - . + +## 2025-06-05 00:01:12 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.555.3 (2.620.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.28.1] . +### Releases +- [PyPI v0.28.1] https://pypi.org/project/plex-api-client/0.28.1 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index b65d084..e17daad 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -413,6 +413,7 @@ actions: "content_directory_id": 39486, "section_id": 2, "type": operations.Type.TV_SHOW, + "include_meta": operations.IncludeMeta.ENABLE, }) assert res.object is not None @@ -432,7 +433,7 @@ actions: access_token="", ) as plex_api: - res = plex_api.search.perform_search(query="arnold") + res = plex_api.search.perform_search(query="arnold", limit=5) assert res is not None @@ -451,7 +452,7 @@ actions: access_token="", ) as plex_api: - res = plex_api.search.perform_voice_search(query="dead+poop") + res = plex_api.search.perform_voice_search(query="dead+poop", limit=5) assert res is not None @@ -507,7 +508,7 @@ actions: access_token="", ) as plex_api: - res = plex_api.library.get_top_watched_content(type_=operations.GetTopWatchedContentQueryParamType.TV_SHOW, include_guids=1) + res = plex_api.library.get_top_watched_content(type_=operations.GetTopWatchedContentQueryParamType.TV_SHOW, include_guids=operations.GetTopWatchedContentQueryParamIncludeGuids.ENABLE) assert res.object is not None @@ -546,7 +547,7 @@ actions: ) as plex_api: res = plex_api.library.get_media_meta_data(request={ - "rating_key": 9518, + "rating_key": "21119,21617", "include_concerts": True, "include_extras": True, "include_on_deck": True, @@ -745,6 +746,7 @@ actions: ], "section_id": 2, "type": operations.QueryParamType.TV_SHOW, + "include_meta": operations.QueryParamIncludeMeta.ENABLE, }) assert res.object is not None @@ -771,6 +773,8 @@ actions: "search_types": [ operations.SearchTypes.PEOPLE, ], + "include_collections": operations.GetSearchAllLibrariesQueryParamIncludeCollections.ENABLE, + "include_external_media": operations.GetSearchAllLibrariesQueryParamIncludeExternalMedia.ENABLE, }) assert res.object is not None @@ -845,13 +849,14 @@ actions: label: PlexPy source: |- from plex_api_client import PlexAPI + from plex_api_client.models import operations with PlexAPI( access_token="", ) as plex_api: - res = plex_api.library.get_library_details(section_key=9518) + res = plex_api.library.get_library_details(section_key=9518, include_details=operations.IncludeDetails.ZERO) assert res.object is not None @@ -891,9 +896,14 @@ actions: access_token="", ) as plex_api: - res = plex_api.library.get_all_media_library(request={ + res = plex_api.library.get_library_sections_all(request={ "section_key": 9518, - "type": operations.GetAllMediaLibraryQueryParamType.TV_SHOW, + "type": operations.GetLibrarySectionsAllQueryParamType.TV_SHOW, + "include_meta": operations.GetLibrarySectionsAllQueryParamIncludeMeta.ENABLE, + "include_guids": operations.QueryParamIncludeGuids.ENABLE, + "include_advanced": operations.IncludeAdvanced.ENABLE, + "include_collections": operations.QueryParamIncludeCollections.ENABLE, + "include_external_media": operations.QueryParamIncludeExternalMedia.ENABLE, }) assert res.object is not None @@ -996,8 +1006,10 @@ actions: res = plex_api.library.get_library_items(request={ "tag": operations.Tag.NEWEST, + "include_guids": operations.IncludeGuids.ENABLE, "type": operations.GetLibraryItemsQueryParamType.TV_SHOW, "section_key": 9518, + "include_meta": operations.GetLibraryItemsQueryParamIncludeMeta.ENABLE, }) assert res.object is not None @@ -1119,7 +1131,6 @@ actions: res = plex_api.server.get_resized_photo(request={ "width": 110, "height": 165, - "opacity": 100, "blur": 0, "min_size": operations.MinSize.ZERO, "upscale": operations.Upscale.ZERO, @@ -1363,13 +1374,14 @@ actions: label: PlexPy source: |- from plex_api_client import PlexAPI + from plex_api_client.models import operations with PlexAPI( access_token="", ) as plex_api: - res = plex_api.plex.get_server_resources(client_id="3381b62b-9ab7-4e37-827b-203e9809eb58") + res = plex_api.plex.get_server_resources(client_id="3381b62b-9ab7-4e37-827b-203e9809eb58", include_https=operations.IncludeHTTPS.ENABLE, include_relay=operations.IncludeRelay.ENABLE, include_i_pv6=operations.IncludeIPv6.ENABLE) assert res.plex_devices is not None diff --git a/docs/models/errors/getallmedialibrarybadrequest.md b/docs/models/errors/getallmedialibrarybadrequest.md deleted file mode 100644 index 5892881..0000000 --- a/docs/models/errors/getallmedialibrarybadrequest.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetAllMediaLibraryBadRequest - -Bad Request - A parameter was not specified, or was specified incorrectly. - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| `errors` | List[[errors.GetAllMediaLibraryErrors](../../models/errors/getallmedialibraryerrors.md)] | :heavy_minus_sign: | N/A | -| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/errors/getallmedialibraryunauthorized.md b/docs/models/errors/getallmedialibraryunauthorized.md deleted file mode 100644 index de70c85..0000000 --- a/docs/models/errors/getallmedialibraryunauthorized.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetAllMediaLibraryUnauthorized - -Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | -| `errors` | List[[errors.GetAllMediaLibraryLibraryErrors](../../models/errors/getallmedialibrarylibraryerrors.md)] | :heavy_minus_sign: | N/A | -| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/errors/getlibrarysectionsallbadrequest.md b/docs/models/errors/getlibrarysectionsallbadrequest.md new file mode 100644 index 0000000..80bc2da --- /dev/null +++ b/docs/models/errors/getlibrarysectionsallbadrequest.md @@ -0,0 +1,11 @@ +# GetLibrarySectionsAllBadRequest + +Bad Request - A parameter was not specified, or was specified incorrectly. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `errors` | List[[errors.GetLibrarySectionsAllErrors](../../models/errors/getlibrarysectionsallerrors.md)] | :heavy_minus_sign: | N/A | +| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/errors/getallmedialibraryerrors.md b/docs/models/errors/getlibrarysectionsallerrors.md similarity index 97% rename from docs/models/errors/getallmedialibraryerrors.md rename to docs/models/errors/getlibrarysectionsallerrors.md index 7647728..50c3abc 100644 --- a/docs/models/errors/getallmedialibraryerrors.md +++ b/docs/models/errors/getlibrarysectionsallerrors.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryErrors +# GetLibrarySectionsAllErrors ## Fields diff --git a/docs/models/errors/getallmedialibrarylibraryerrors.md b/docs/models/errors/getlibrarysectionsalllibraryerrors.md similarity index 95% rename from docs/models/errors/getallmedialibrarylibraryerrors.md rename to docs/models/errors/getlibrarysectionsalllibraryerrors.md index db1722c..e53298a 100644 --- a/docs/models/errors/getallmedialibrarylibraryerrors.md +++ b/docs/models/errors/getlibrarysectionsalllibraryerrors.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryLibraryErrors +# GetLibrarySectionsAllLibraryErrors ## Fields diff --git a/docs/models/errors/getlibrarysectionsallunauthorized.md b/docs/models/errors/getlibrarysectionsallunauthorized.md new file mode 100644 index 0000000..07d07fd --- /dev/null +++ b/docs/models/errors/getlibrarysectionsallunauthorized.md @@ -0,0 +1,11 @@ +# GetLibrarySectionsAllUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `errors` | List[[errors.GetLibrarySectionsAllLibraryErrors](../../models/errors/getlibrarysectionsalllibraryerrors.md)] | :heavy_minus_sign: | N/A | +| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/country.md b/docs/models/operations/country.md index 0d04752..e01799e 100644 --- a/docs/models/operations/country.md +++ b/docs/models/operations/country.md @@ -5,8 +5,8 @@ The filter query string for country media items. ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -| `id` | *int* | :heavy_check_mark: | N/A | 259 | -| `tag` | *str* | :heavy_check_mark: | The country of origin of this media item | United States of America | -| `filter_` | *Optional[str]* | :heavy_minus_sign: | N/A | country=19 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique identifier for the country.
NOTE: This is different for each Plex server and is not globally unique.
| 259 | +| `tag` | *str* | :heavy_check_mark: | The country of origin of this media item | United States of America | +| `filter_` | *str* | :heavy_check_mark: | N/A | country=19 | \ No newline at end of file diff --git a/docs/models/operations/director.md b/docs/models/operations/director.md index 5c3a1bb..441569c 100644 --- a/docs/models/operations/director.md +++ b/docs/models/operations/director.md @@ -3,6 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | -| `tag` | *str* | :heavy_check_mark: | The role of Director | Danny Boyle | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique identifier for the director. | 126522 | +| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this director. | director=235876 | +| `tag` | *str* | :heavy_check_mark: | The role of Director | Danny Boyle | +| `tag_key` | *str* | :heavy_check_mark: | A unique 24-character hexadecimal key associated with the director's tag, used for internal identification. | 5d776831151a60001f24d031 | +| `thumb` | *Optional[str]* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | \ No newline at end of file diff --git a/docs/models/operations/genre.md b/docs/models/operations/genre.md index cbc2218..6d80dc2 100644 --- a/docs/models/operations/genre.md +++ b/docs/models/operations/genre.md @@ -5,8 +5,8 @@ The filter query string for similar items. ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | -| `id` | *int* | :heavy_check_mark: | N/A | 259 | -| `filter_` | *str* | :heavy_check_mark: | N/A | genre=19 | -| `tag` | *str* | :heavy_check_mark: | The genre name of this media-item
| Crime | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique identifier for the genre.
NOTE: This is different for each Plex server and is not globally unique.
| 259 | +| `filter_` | *str* | :heavy_check_mark: | N/A | genre=19 | +| `tag` | *str* | :heavy_check_mark: | The genre name of this media-item
| Crime | \ No newline at end of file diff --git a/docs/models/operations/getactorslibraryqueryparamtype.md b/docs/models/operations/getactorslibraryqueryparamtype.md index c0c209a..82dd3d8 100644 --- a/docs/models/operations/getactorslibraryqueryparamtype.md +++ b/docs/models/operations/getactorslibraryqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getalllibrariestype.md b/docs/models/operations/getalllibrariestype.md index 73f0ace..c69a39d 100644 --- a/docs/models/operations/getalllibrariestype.md +++ b/docs/models/operations/getalllibrariestype.md @@ -5,11 +5,15 @@ The library type ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | -| `ARTIST` | artist | -| `ALBUM` | album | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryfieldtype.md b/docs/models/operations/getallmedialibraryfieldtype.md deleted file mode 100644 index fd2ec13..0000000 --- a/docs/models/operations/getallmedialibraryfieldtype.md +++ /dev/null @@ -1,9 +0,0 @@ -# GetAllMediaLibraryFieldType - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `type` | *str* | :heavy_check_mark: | N/A | tag | -| `operator` | List[[operations.GetAllMediaLibraryOperator](../../models/operations/getallmedialibraryoperator.md)] | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryguids.md b/docs/models/operations/getallmedialibraryguids.md deleted file mode 100644 index 1bec14a..0000000 --- a/docs/models/operations/getallmedialibraryguids.md +++ /dev/null @@ -1,8 +0,0 @@ -# GetAllMediaLibraryGuids - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| `id` | *Optional[str]* | :heavy_minus_sign: | The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
| tvdb://2337 | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryimage.md b/docs/models/operations/getallmedialibraryimage.md deleted file mode 100644 index 1262c8b..0000000 --- a/docs/models/operations/getallmedialibraryimage.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetAllMediaLibraryImage - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `alt` | *str* | :heavy_check_mark: | N/A | Episode 1 | -| `type` | [operations.GetAllMediaLibraryLibraryResponseType](../../models/operations/getallmedialibrarylibraryresponsetype.md) | :heavy_check_mark: | N/A | background | -| `url` | *str* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarylibraryoptimizedforstreaming.md b/docs/models/operations/getallmedialibrarylibraryoptimizedforstreaming.md deleted file mode 100644 index 660a75c..0000000 --- a/docs/models/operations/getallmedialibrarylibraryoptimizedforstreaming.md +++ /dev/null @@ -1,19 +0,0 @@ -# GetAllMediaLibraryLibraryOptimizedForStreaming - -Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true - - -## Supported Types - -### `operations.GetAllMediaLibraryOptimizedForStreaming1` - -```python -value: operations.GetAllMediaLibraryOptimizedForStreaming1 = /* values here */ -``` - -### `bool` - -```python -value: bool = /* values here */ -``` - diff --git a/docs/models/operations/getallmedialibrarylibrarytype.md b/docs/models/operations/getallmedialibrarylibrarytype.md deleted file mode 100644 index b572e52..0000000 --- a/docs/models/operations/getallmedialibrarylibrarytype.md +++ /dev/null @@ -1,16 +0,0 @@ -# GetAllMediaLibraryLibraryType - -The type of media content - - - -## Values - -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | -| `ARTIST` | artist | -| `ALBUM` | album | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarymediacontainer.md b/docs/models/operations/getallmedialibrarymediacontainer.md deleted file mode 100644 index 8fa3908..0000000 --- a/docs/models/operations/getallmedialibrarymediacontainer.md +++ /dev/null @@ -1,26 +0,0 @@ -# GetAllMediaLibraryMediaContainer - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 | -| `total_size` | *int* | :heavy_check_mark: | Total number of media items in the library. | 50 | -| `offset` | *int* | :heavy_check_mark: | Offset value for pagination. | 0 | -| `allow_sync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | -| `art` | *str* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | -| `content` | *str* | :heavy_check_mark: | The content type or mode. | secondary | -| `identifier` | *str* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | -| `library_section_id` | *int* | :heavy_check_mark: | The unique identifier for the library section. | 2 | -| `library_section_title` | *str* | :heavy_check_mark: | The title of the library section. | TV Series | -| `library_section_uuid` | *Optional[str]* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | -| `media_tag_prefix` | *str* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | -| `media_tag_version` | *int* | :heavy_check_mark: | The version number for media tags. | 1734362201 | -| `thumb` | *str* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | -| `nocache` | *bool* | :heavy_check_mark: | Specifies whether caching is disabled. | true | -| `title1` | *str* | :heavy_check_mark: | The primary title of the media container. | TV Series | -| `title2` | *str* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor | -| `view_group` | *str* | :heavy_check_mark: | Identifier for the view group layout. | secondary | -| `meta` | [Optional[operations.GetAllMediaLibraryMeta]](../../models/operations/getallmedialibrarymeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | -| `metadata` | List[[operations.GetAllMediaLibraryMetadata](../../models/operations/getallmedialibrarymetadata.md)] | :heavy_minus_sign: | An array of metadata items. | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarymeta.md b/docs/models/operations/getallmedialibrarymeta.md deleted file mode 100644 index 33f582c..0000000 --- a/docs/models/operations/getallmedialibrarymeta.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetAllMediaLibraryMeta - -The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. - - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | -| `type` | List[[operations.GetAllMediaLibraryType](../../models/operations/getallmedialibrarytype.md)] | :heavy_minus_sign: | N/A | -| `field_type` | List[[operations.GetAllMediaLibraryFieldType](../../models/operations/getallmedialibraryfieldtype.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarypart.md b/docs/models/operations/getallmedialibrarypart.md deleted file mode 100644 index 6f2649a..0000000 --- a/docs/models/operations/getallmedialibrarypart.md +++ /dev/null @@ -1,23 +0,0 @@ -# GetAllMediaLibraryPart - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -| `accessible` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part is accessible. | true | -| `exists` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part exists. | true | -| `id` | *int* | :heavy_check_mark: | Unique part identifier. | 418385 | -| `key` | *str* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | -| `indexes` | *Optional[str]* | :heavy_minus_sign: | N/A | sd | -| `duration` | *Optional[int]* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 | -| `file` | *str* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | -| `size` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 | -| `packet_length` | *Optional[int]* | :heavy_minus_sign: | N/A | 188 | -| `container` | *Optional[str]* | :heavy_minus_sign: | Container format of the part. | mkv | -| `video_profile` | *Optional[str]* | :heavy_minus_sign: | Video profile for the part. | main 10 | -| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | -| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | -| `optimized_for_streaming` | [Optional[operations.GetAllMediaLibraryLibraryOptimizedForStreaming]](../../models/operations/getallmedialibrarylibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | -| `has_thumbnail` | [Optional[operations.GetAllMediaLibraryHasThumbnail]](../../models/operations/getallmedialibraryhasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | -| `stream` | List[[operations.GetAllMediaLibraryStream](../../models/operations/getallmedialibrarystream.md)] | :heavy_minus_sign: | An array of streams for this part. | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryqueryparamtype.md b/docs/models/operations/getallmedialibraryqueryparamtype.md deleted file mode 100644 index 61d7923..0000000 --- a/docs/models/operations/getallmedialibraryqueryparamtype.md +++ /dev/null @@ -1,22 +0,0 @@ -# GetAllMediaLibraryQueryParamType - -The type of media to retrieve or filter by. -1 = movie -2 = show -3 = season -4 = episode -E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries - - - -## Values - -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryresponse.md b/docs/models/operations/getallmedialibraryresponse.md deleted file mode 100644 index e627709..0000000 --- a/docs/models/operations/getallmedialibraryresponse.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetAllMediaLibraryResponse - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation | -| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `object` | [Optional[operations.GetAllMediaLibraryResponseBody]](../../models/operations/getallmedialibraryresponsebody.md) | :heavy_minus_sign: | Successful response containing media container data. | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryresponsebody.md b/docs/models/operations/getallmedialibraryresponsebody.md deleted file mode 100644 index 4f8f37b..0000000 --- a/docs/models/operations/getallmedialibraryresponsebody.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetAllMediaLibraryResponseBody - -Successful response containing media container data. - - -## Fields - -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `media_container` | [Optional[operations.GetAllMediaLibraryMediaContainer]](../../models/operations/getallmedialibrarymediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarysort.md b/docs/models/operations/getallmedialibrarysort.md deleted file mode 100644 index 5c10df3..0000000 --- a/docs/models/operations/getallmedialibrarysort.md +++ /dev/null @@ -1,15 +0,0 @@ -# GetAllMediaLibrarySort - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `default` | *Optional[str]* | :heavy_minus_sign: | N/A | asc | -| `active` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | -| `active_direction` | [Optional[operations.GetAllMediaLibraryActiveDirection]](../../models/operations/getallmedialibraryactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | -| `default_direction` | [Optional[operations.GetAllMediaLibraryDefaultDirection]](../../models/operations/getallmedialibrarydefaultdirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | -| `desc_key` | *Optional[str]* | :heavy_minus_sign: | N/A | titleSort:desc | -| `first_character_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | -| `key` | *str* | :heavy_check_mark: | N/A | titleSort | -| `title` | *str* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarystream.md b/docs/models/operations/getallmedialibrarystream.md deleted file mode 100644 index d9bf8dd..0000000 --- a/docs/models/operations/getallmedialibrarystream.md +++ /dev/null @@ -1,58 +0,0 @@ -# GetAllMediaLibraryStream - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `stream_type` | [operations.GetAllMediaLibraryStreamType](../../models/operations/getallmedialibrarystreamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | -| `format_` | *Optional[str]* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | -| `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true | -| `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc | -| `index` | *Optional[int]* | :heavy_minus_sign: | Index of the stream. | 0 | -| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `language` | *Optional[str]* | :heavy_minus_sign: | Language of the stream. | English | -| `language_tag` | *Optional[str]* | :heavy_minus_sign: | Language tag (e.g., en). | en | -| `language_code` | *Optional[str]* | :heavy_minus_sign: | ISO language code. | eng | -| `header_compression` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | -| `dovibl_compat_id` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | -| `dovibl_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | -| `doviel_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | -| `dovi_level` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision level. | 6 | -| `dovi_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | -| `dovi_profile` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision profile. | 8 | -| `dovirpu_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | -| `dovi_version` | *Optional[str]* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | -| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | -| `chroma_location` | *Optional[str]* | :heavy_minus_sign: | Chroma sample location. | topleft | -| `chroma_subsampling` | *Optional[str]* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | -| `coded_height` | *Optional[int]* | :heavy_minus_sign: | Coded video height. | 1608 | -| `coded_width` | *Optional[int]* | :heavy_minus_sign: | Coded video width. | 3840 | -| `closed_captions` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | -| `color_primaries` | *Optional[str]* | :heavy_minus_sign: | Color primaries used. | bt2020 | -| `color_range` | *Optional[str]* | :heavy_minus_sign: | Color range (e.g., tv). | tv | -| `color_space` | *Optional[str]* | :heavy_minus_sign: | Color space. | bt2020nc | -| `color_trc` | *Optional[str]* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | -| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | -| `key` | *Optional[str]* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | -| `height` | *Optional[int]* | :heavy_minus_sign: | Height of the video stream. | 1602 | -| `level` | *Optional[int]* | :heavy_minus_sign: | Video level. | 150 | -| `original` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this is the original stream. | true | -| `has_scaling_matrix` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | -| `profile` | *Optional[str]* | :heavy_minus_sign: | Video profile. | main 10 | -| `scan_type` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | -| `embedded_in_video` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | -| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | Number of reference frames. | 1 | -| `width` | *Optional[int]* | :heavy_minus_sign: | Width of the video stream. | 3840 | -| `display_title` | *str* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `extended_display_title` | *str* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `selected` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | -| `forced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | -| `channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | -| `audio_channel_layout` | *Optional[str]* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | -| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | -| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | -| `hearing_impaired` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | -| `dub` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | -| `title` | *Optional[str]* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarytype.md b/docs/models/operations/getallmedialibrarytype.md deleted file mode 100644 index 09aea87..0000000 --- a/docs/models/operations/getallmedialibrarytype.md +++ /dev/null @@ -1,15 +0,0 @@ -# GetAllMediaLibraryType - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | -| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | -| `type` | *str* | :heavy_check_mark: | N/A | filter | -| `subtype` | *Optional[str]* | :heavy_minus_sign: | N/A | clip | -| `title` | *str* | :heavy_check_mark: | N/A | TV Shows | -| `active` | *bool* | :heavy_check_mark: | N/A | false | -| `filter_` | List[[operations.GetAllMediaLibraryFilter](../../models/operations/getallmedialibraryfilter.md)] | :heavy_minus_sign: | N/A | | -| `sort` | List[[operations.GetAllMediaLibrarySort](../../models/operations/getallmedialibrarysort.md)] | :heavy_minus_sign: | N/A | | -| `field` | List[[operations.GetAllMediaLibraryField](../../models/operations/getallmedialibraryfield.md)] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getcountrieslibraryqueryparamtype.md b/docs/models/operations/getcountrieslibraryqueryparamtype.md index 01d493f..333dcd6 100644 --- a/docs/models/operations/getcountrieslibraryqueryparamtype.md +++ b/docs/models/operations/getcountrieslibraryqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getgenreslibraryqueryparamtype.md b/docs/models/operations/getgenreslibraryqueryparamtype.md index d77360e..2a59ac1 100644 --- a/docs/models/operations/getgenreslibraryqueryparamtype.md +++ b/docs/models/operations/getgenreslibraryqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibrarytype.md b/docs/models/operations/getlibraryitemslibrarytype.md index cb8e9e8..6c95eca 100644 --- a/docs/models/operations/getlibraryitemslibrarytype.md +++ b/docs/models/operations/getlibraryitemslibrarytype.md @@ -1,16 +1,20 @@ # GetLibraryItemsLibraryType -The type of media content +The type of media content in the Plex library. This can represent videos, music, or photos. ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | -| `ARTIST` | artist | -| `ALBUM` | album | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmetadata.md b/docs/models/operations/getlibraryitemsmetadata.md index 14be3fc..f276a4e 100644 --- a/docs/models/operations/getlibraryitemsmetadata.md +++ b/docs/models/operations/getlibraryitemsmetadata.md @@ -13,7 +13,7 @@ | `library_section_id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 | | `library_section_title` | *Optional[str]* | :heavy_minus_sign: | N/A | Movies | | `library_section_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `type` | [operations.GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md) | :heavy_check_mark: | The type of media content
| movie | +| `type` | [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` | *str* | :heavy_check_mark: | N/A | Avatar: The Way of Water | | `slug` | *Optional[str]* | :heavy_minus_sign: | N/A | 4-for-texas | | `content_rating` | *Optional[str]* | :heavy_minus_sign: | N/A | PG-13 | diff --git a/docs/models/operations/getlibraryitemsqueryparamtype.md b/docs/models/operations/getlibraryitemsqueryparamtype.md index 294dc8e..10bddee 100644 --- a/docs/models/operations/getlibraryitemsqueryparamtype.md +++ b/docs/models/operations/getlibraryitemsqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryactivedirection.md b/docs/models/operations/getlibrarysectionsallactivedirection.md similarity index 83% rename from docs/models/operations/getallmedialibraryactivedirection.md rename to docs/models/operations/getlibrarysectionsallactivedirection.md index e0625cb..d4170be 100644 --- a/docs/models/operations/getallmedialibraryactivedirection.md +++ b/docs/models/operations/getlibrarysectionsallactivedirection.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryActiveDirection +# GetLibrarySectionsAllActiveDirection The direction of the sort. Can be either `asc` or `desc`. diff --git a/docs/models/operations/getallmedialibrarycollection.md b/docs/models/operations/getlibrarysectionsallcollection.md similarity index 96% rename from docs/models/operations/getallmedialibrarycollection.md rename to docs/models/operations/getlibrarysectionsallcollection.md index 3079ebe..9991eb5 100644 --- a/docs/models/operations/getallmedialibrarycollection.md +++ b/docs/models/operations/getlibrarysectionsallcollection.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryCollection +# GetLibrarySectionsAllCollection ## Fields diff --git a/docs/models/operations/getallmedialibrarycountry.md b/docs/models/operations/getlibrarysectionsallcountry.md similarity index 95% rename from docs/models/operations/getallmedialibrarycountry.md rename to docs/models/operations/getlibrarysectionsallcountry.md index fb612be..7fec279 100644 --- a/docs/models/operations/getallmedialibrarycountry.md +++ b/docs/models/operations/getlibrarysectionsallcountry.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryCountry +# GetLibrarySectionsAllCountry ## Fields diff --git a/docs/models/operations/getallmedialibrarydefaultdirection.md b/docs/models/operations/getlibrarysectionsalldefaultdirection.md similarity index 83% rename from docs/models/operations/getallmedialibrarydefaultdirection.md rename to docs/models/operations/getlibrarysectionsalldefaultdirection.md index 66bbe84..39e704b 100644 --- a/docs/models/operations/getallmedialibrarydefaultdirection.md +++ b/docs/models/operations/getlibrarysectionsalldefaultdirection.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryDefaultDirection +# GetLibrarySectionsAllDefaultDirection The direction of the sort. Can be either `asc` or `desc`. diff --git a/docs/models/operations/getallmedialibrarydirector.md b/docs/models/operations/getlibrarysectionsalldirector.md similarity index 91% rename from docs/models/operations/getallmedialibrarydirector.md rename to docs/models/operations/getlibrarysectionsalldirector.md index 46088f7..8393ebb 100644 --- a/docs/models/operations/getallmedialibrarydirector.md +++ b/docs/models/operations/getlibrarysectionsalldirector.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryDirector +# GetLibrarySectionsAllDirector ## Fields diff --git a/docs/models/operations/getallmedialibraryfield.md b/docs/models/operations/getlibrarysectionsallfield.md similarity index 95% rename from docs/models/operations/getallmedialibraryfield.md rename to docs/models/operations/getlibrarysectionsallfield.md index f29ec17..b070f43 100644 --- a/docs/models/operations/getallmedialibraryfield.md +++ b/docs/models/operations/getlibrarysectionsallfield.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryField +# GetLibrarySectionsAllField ## Fields diff --git a/docs/models/operations/getlibrarysectionsallfieldtype.md b/docs/models/operations/getlibrarysectionsallfieldtype.md new file mode 100644 index 0000000..eddceac --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallfieldtype.md @@ -0,0 +1,9 @@ +# GetLibrarySectionsAllFieldType + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `type` | *str* | :heavy_check_mark: | N/A | tag | +| `operator` | List[[operations.GetLibrarySectionsAllOperator](../../models/operations/getlibrarysectionsalloperator.md)] | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryfilter.md b/docs/models/operations/getlibrarysectionsallfilter.md similarity index 97% rename from docs/models/operations/getallmedialibraryfilter.md rename to docs/models/operations/getlibrarysectionsallfilter.md index 9e9cb13..79edf05 100644 --- a/docs/models/operations/getallmedialibraryfilter.md +++ b/docs/models/operations/getlibrarysectionsallfilter.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryFilter +# GetLibrarySectionsAllFilter ## Fields diff --git a/docs/models/operations/getallmedialibrarygenre.md b/docs/models/operations/getlibrarysectionsallgenre.md similarity index 95% rename from docs/models/operations/getallmedialibrarygenre.md rename to docs/models/operations/getlibrarysectionsallgenre.md index 60559d3..22798dc 100644 --- a/docs/models/operations/getallmedialibrarygenre.md +++ b/docs/models/operations/getlibrarysectionsallgenre.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryGenre +# GetLibrarySectionsAllGenre ## Fields diff --git a/docs/models/operations/getlibrarysectionsallguids.md b/docs/models/operations/getlibrarysectionsallguids.md new file mode 100644 index 0000000..380064d --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallguids.md @@ -0,0 +1,8 @@ +# GetLibrarySectionsAllGuids + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
| {
"imdbExample": {
"summary": "IMDB example",
"value": "imdb://tt13015952"
},
"tmdbExample": {
"summary": "TMDB example",
"value": "tmdb://2434012"
},
"tvdbExample": {
"summary": "TVDB example",
"value": "tvdb://7945991"
}
} | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryhasthumbnail.md b/docs/models/operations/getlibrarysectionsallhasthumbnail.md similarity index 79% rename from docs/models/operations/getallmedialibraryhasthumbnail.md rename to docs/models/operations/getlibrarysectionsallhasthumbnail.md index 95b5857..94c08b7 100644 --- a/docs/models/operations/getallmedialibraryhasthumbnail.md +++ b/docs/models/operations/getlibrarysectionsallhasthumbnail.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryHasThumbnail +# GetLibrarySectionsAllHasThumbnail Indicates if the part has a thumbnail. diff --git a/docs/models/operations/getlibrarysectionsallimage.md b/docs/models/operations/getlibrarysectionsallimage.md new file mode 100644 index 0000000..f212a89 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallimage.md @@ -0,0 +1,10 @@ +# GetLibrarySectionsAllImage + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `alt` | *str* | :heavy_check_mark: | N/A | Episode 1 | +| `type` | [operations.GetLibrarySectionsAllLibraryResponseType](../../models/operations/getlibrarysectionsalllibraryresponsetype.md) | :heavy_check_mark: | N/A | background | +| `url` | *str* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md b/docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md new file mode 100644 index 0000000..aafb93d --- /dev/null +++ b/docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md @@ -0,0 +1,19 @@ +# GetLibrarySectionsAllLibraryOptimizedForStreaming + +Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + + +## Supported Types + +### `operations.GetLibrarySectionsAllOptimizedForStreaming1` + +```python +value: operations.GetLibrarySectionsAllOptimizedForStreaming1 = /* values here */ +``` + +### `bool` + +```python +value: bool = /* values here */ +``` + diff --git a/docs/models/operations/getallmedialibrarylibraryresponsetype.md b/docs/models/operations/getlibrarysectionsalllibraryresponsetype.md similarity index 84% rename from docs/models/operations/getallmedialibrarylibraryresponsetype.md rename to docs/models/operations/getlibrarysectionsalllibraryresponsetype.md index effaf1c..ce9af2e 100644 --- a/docs/models/operations/getallmedialibrarylibraryresponsetype.md +++ b/docs/models/operations/getlibrarysectionsalllibraryresponsetype.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryLibraryResponseType +# GetLibrarySectionsAllLibraryResponseType ## Values diff --git a/docs/models/operations/getlibrarysectionsalllibrarytype.md b/docs/models/operations/getlibrarysectionsalllibrarytype.md new file mode 100644 index 0000000..8a4e0d0 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsalllibrarytype.md @@ -0,0 +1,20 @@ +# GetLibrarySectionsAllLibraryType + +The type of media content in the Plex library. This can represent videos, music, or photos. + + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarymedia.md b/docs/models/operations/getlibrarysectionsallmedia.md similarity index 51% rename from docs/models/operations/getallmedialibrarymedia.md rename to docs/models/operations/getlibrarysectionsallmedia.md index 9e97834..36d67fe 100644 --- a/docs/models/operations/getallmedialibrarymedia.md +++ b/docs/models/operations/getlibrarysectionsallmedia.md @@ -1,26 +1,26 @@ -# GetAllMediaLibraryMedia +# GetLibrarySectionsAllMedia ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique media identifier. | 387322 | -| `duration` | *Optional[int]* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 | -| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 | -| `width` | *Optional[int]* | :heavy_minus_sign: | Video width in pixels. | 3840 | -| `height` | *Optional[int]* | :heavy_minus_sign: | Video height in pixels. | 1602 | -| `aspect_ratio` | *Optional[float]* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 | -| `audio_channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels. | 6 | -| `display_offset` | *Optional[int]* | :heavy_minus_sign: | N/A | 50 | -| `audio_codec` | *Optional[str]* | :heavy_minus_sign: | Audio codec used. | eac3 | -| `video_codec` | *Optional[str]* | :heavy_minus_sign: | Video codec used. | hevc | -| `video_resolution` | *Optional[str]* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k | -| `container` | *Optional[str]* | :heavy_minus_sign: | File container type. | mkv | -| `video_frame_rate` | *Optional[str]* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p
| 24p | -| `video_profile` | *Optional[str]* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 | -| `has_voice_activity` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false | -| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | -| `optimized_for_streaming` | [Optional[operations.GetAllMediaLibraryOptimizedForStreaming]](../../models/operations/getallmedialibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | -| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | -| `part` | List[[operations.GetAllMediaLibraryPart](../../models/operations/getallmedialibrarypart.md)] | :heavy_minus_sign: | An array of parts for this media item. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique media identifier. | 387322 | +| `duration` | *Optional[int]* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 | +| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 | +| `width` | *Optional[int]* | :heavy_minus_sign: | Video width in pixels. | 3840 | +| `height` | *Optional[int]* | :heavy_minus_sign: | Video height in pixels. | 1602 | +| `aspect_ratio` | *Optional[float]* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 | +| `audio_channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels. | 6 | +| `display_offset` | *Optional[int]* | :heavy_minus_sign: | N/A | 50 | +| `audio_codec` | *Optional[str]* | :heavy_minus_sign: | Audio codec used. | eac3 | +| `video_codec` | *Optional[str]* | :heavy_minus_sign: | Video codec used. | hevc | +| `video_resolution` | *Optional[str]* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k | +| `container` | *Optional[str]* | :heavy_minus_sign: | File container type. | mkv | +| `video_frame_rate` | *Optional[str]* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p
| 24p | +| `video_profile` | *Optional[str]* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 | +| `has_voice_activity` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false | +| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | +| `optimized_for_streaming` | [Optional[operations.GetLibrarySectionsAllOptimizedForStreaming]](../../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` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | +| `part` | List[[operations.GetLibrarySectionsAllPart](../../models/operations/getlibrarysectionsallpart.md)] | :heavy_minus_sign: | An array of parts for this media item. | | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsallmediacontainer.md b/docs/models/operations/getlibrarysectionsallmediacontainer.md new file mode 100644 index 0000000..50bdb1f --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallmediacontainer.md @@ -0,0 +1,26 @@ +# GetLibrarySectionsAllMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 | +| `total_size` | *int* | :heavy_check_mark: | Total number of media items in the library. | 50 | +| `offset` | *int* | :heavy_check_mark: | Offset value for pagination. | 0 | +| `allow_sync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `art` | *str* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | +| `content` | *str* | :heavy_check_mark: | The content type or mode. | secondary | +| `identifier` | *str* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `library_section_id` | *int* | :heavy_check_mark: | The unique identifier for the library section. | 2 | +| `library_section_title` | *str* | :heavy_check_mark: | The title of the library section. | TV Series | +| `library_section_uuid` | *Optional[str]* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | +| `media_tag_prefix` | *str* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `media_tag_version` | *int* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `thumb` | *str* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | +| `nocache` | *bool* | :heavy_check_mark: | Specifies whether caching is disabled. | true | +| `title1` | *str* | :heavy_check_mark: | The primary title of the media container. | TV Series | +| `title2` | *str* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor | +| `view_group` | *str* | :heavy_check_mark: | Identifier for the view group layout. | secondary | +| `meta` | [Optional[operations.GetLibrarySectionsAllMeta]](../../models/operations/getlibrarysectionsallmeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | +| `metadata` | List[[operations.GetLibrarySectionsAllMetadata](../../models/operations/getlibrarysectionsallmetadata.md)] | :heavy_minus_sign: | An array of metadata items. | | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsallmeta.md b/docs/models/operations/getlibrarysectionsallmeta.md new file mode 100644 index 0000000..29c2ff7 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallmeta.md @@ -0,0 +1,12 @@ +# GetLibrarySectionsAllMeta + +The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `type` | List[[operations.GetLibrarySectionsAllType](../../models/operations/getlibrarysectionsalltype.md)] | :heavy_minus_sign: | N/A | +| `field_type` | List[[operations.GetLibrarySectionsAllFieldType](../../models/operations/getlibrarysectionsallfieldtype.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarymetadata.md b/docs/models/operations/getlibrarysectionsallmetadata.md similarity index 98% rename from docs/models/operations/getallmedialibrarymetadata.md rename to docs/models/operations/getlibrarysectionsallmetadata.md index 6981ee2..2c6137f 100644 --- a/docs/models/operations/getallmedialibrarymetadata.md +++ b/docs/models/operations/getlibrarysectionsallmetadata.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryMetadata +# GetLibrarySectionsAllMetadata Unknown @@ -13,7 +13,7 @@ Unknown | `guid` | *str* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 | | `slug` | *str* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas | | `studio` | *Optional[str]* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios | -| `type` | [operations.GetAllMediaLibraryLibraryType](../../models/operations/getallmedialibrarylibrarytype.md) | :heavy_check_mark: | N/A | movie | +| `type` | [operations.GetLibrarySectionsAllLibraryType](../../models/operations/getlibrarysectionsalllibrarytype.md) | :heavy_check_mark: | N/A | movie | | `title` | *str* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water | | `title_sort` | *str* | :heavy_check_mark: | The sort title used for ordering media items. | Whale | | `content_rating` | *Optional[str]* | :heavy_minus_sign: | The content rating for the media item. | PG-13 | @@ -62,13 +62,13 @@ Unknown | `created_at_tz_offset` | *Optional[str]* | :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` | *Optional[int]* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 | | `user_rating` | *Optional[float]* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 | -| `image` | List[[operations.GetAllMediaLibraryImage](../../models/operations/getallmedialibraryimage.md)] | :heavy_minus_sign: | N/A | | -| `ultra_blur_colors` | [Optional[operations.GetAllMediaLibraryUltraBlurColors]](../../models/operations/getallmedialibraryultrablurcolors.md) | :heavy_minus_sign: | N/A | | -| `media` | List[[operations.GetAllMediaLibraryMedia](../../models/operations/getallmedialibrarymedia.md)] | :heavy_minus_sign: | N/A | | -| `genre` | List[[operations.GetAllMediaLibraryGenre](../../models/operations/getallmedialibrarygenre.md)] | :heavy_minus_sign: | N/A | | -| `country` | List[[operations.GetAllMediaLibraryCountry](../../models/operations/getallmedialibrarycountry.md)] | :heavy_minus_sign: | N/A | | -| `director` | List[[operations.GetAllMediaLibraryDirector](../../models/operations/getallmedialibrarydirector.md)] | :heavy_minus_sign: | N/A | | -| `writer` | List[[operations.GetAllMediaLibraryWriter](../../models/operations/getallmedialibrarywriter.md)] | :heavy_minus_sign: | N/A | | -| `role` | List[[operations.GetAllMediaLibraryRole](../../models/operations/getallmedialibraryrole.md)] | :heavy_minus_sign: | N/A | | -| `guids` | List[[operations.GetAllMediaLibraryGuids](../../models/operations/getallmedialibraryguids.md)] | :heavy_minus_sign: | N/A | | -| `collection` | List[[operations.GetAllMediaLibraryCollection](../../models/operations/getallmedialibrarycollection.md)] | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `image` | List[[operations.GetLibrarySectionsAllImage](../../models/operations/getlibrarysectionsallimage.md)] | :heavy_minus_sign: | N/A | | +| `ultra_blur_colors` | [Optional[operations.GetLibrarySectionsAllUltraBlurColors]](../../models/operations/getlibrarysectionsallultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `guids` | List[[operations.GetLibrarySectionsAllGuids](../../models/operations/getlibrarysectionsallguids.md)] | :heavy_minus_sign: | N/A | | +| `media` | List[[operations.GetLibrarySectionsAllMedia](../../models/operations/getlibrarysectionsallmedia.md)] | :heavy_minus_sign: | N/A | | +| `genre` | List[[operations.GetLibrarySectionsAllGenre](../../models/operations/getlibrarysectionsallgenre.md)] | :heavy_minus_sign: | N/A | | +| `country` | List[[operations.GetLibrarySectionsAllCountry](../../models/operations/getlibrarysectionsallcountry.md)] | :heavy_minus_sign: | N/A | | +| `director` | List[[operations.GetLibrarySectionsAllDirector](../../models/operations/getlibrarysectionsalldirector.md)] | :heavy_minus_sign: | N/A | | +| `writer` | List[[operations.GetLibrarySectionsAllWriter](../../models/operations/getlibrarysectionsallwriter.md)] | :heavy_minus_sign: | N/A | | +| `role` | List[[operations.GetLibrarySectionsAllRole](../../models/operations/getlibrarysectionsallrole.md)] | :heavy_minus_sign: | N/A | | +| `collection` | List[[operations.GetLibrarySectionsAllCollection](../../models/operations/getlibrarysectionsallcollection.md)] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryoperator.md b/docs/models/operations/getlibrarysectionsalloperator.md similarity index 93% rename from docs/models/operations/getallmedialibraryoperator.md rename to docs/models/operations/getlibrarysectionsalloperator.md index dee0988..2397e04 100644 --- a/docs/models/operations/getallmedialibraryoperator.md +++ b/docs/models/operations/getlibrarysectionsalloperator.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryOperator +# GetLibrarySectionsAllOperator ## Fields diff --git a/docs/models/operations/getallmedialibraryoptimizedforstreaming.md b/docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md similarity index 86% rename from docs/models/operations/getallmedialibraryoptimizedforstreaming.md rename to docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md index 202b586..8d9d402 100644 --- a/docs/models/operations/getallmedialibraryoptimizedforstreaming.md +++ b/docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryOptimizedForStreaming +# GetLibrarySectionsAllOptimizedForStreaming Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true diff --git a/docs/models/operations/getallmedialibraryoptimizedforstreaming1.md b/docs/models/operations/getlibrarysectionsalloptimizedforstreaming1.md similarity index 66% rename from docs/models/operations/getallmedialibraryoptimizedforstreaming1.md rename to docs/models/operations/getlibrarysectionsalloptimizedforstreaming1.md index 1779b09..7591660 100644 --- a/docs/models/operations/getallmedialibraryoptimizedforstreaming1.md +++ b/docs/models/operations/getlibrarysectionsalloptimizedforstreaming1.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryOptimizedForStreaming1 +# GetLibrarySectionsAllOptimizedForStreaming1 ## Values diff --git a/docs/models/operations/getlibrarysectionsallpart.md b/docs/models/operations/getlibrarysectionsallpart.md new file mode 100644 index 0000000..32beb54 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallpart.md @@ -0,0 +1,23 @@ +# GetLibrarySectionsAllPart + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `accessible` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part is accessible. | true | +| `exists` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the part exists. | true | +| `id` | *int* | :heavy_check_mark: | Unique part identifier. | 418385 | +| `key` | *str* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | +| `indexes` | *Optional[str]* | :heavy_minus_sign: | N/A | sd | +| `duration` | *Optional[int]* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 | +| `file` | *str* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `size` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 | +| `packet_length` | *Optional[int]* | :heavy_minus_sign: | N/A | 188 | +| `container` | *Optional[str]* | :heavy_minus_sign: | Container format of the part. | mkv | +| `video_profile` | *Optional[str]* | :heavy_minus_sign: | Video profile for the part. | main 10 | +| `audio_profile` | *Optional[str]* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | +| `has64bit_offsets` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | +| `optimized_for_streaming` | [Optional[operations.GetLibrarySectionsAllLibraryOptimizedForStreaming]](../../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` | [Optional[operations.GetLibrarySectionsAllHasThumbnail]](../../models/operations/getlibrarysectionsallhasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | +| `stream` | List[[operations.GetLibrarySectionsAllStream](../../models/operations/getlibrarysectionsallstream.md)] | :heavy_minus_sign: | An array of streams for this part. | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryqueryparamincludemeta.md b/docs/models/operations/getlibrarysectionsallqueryparamincludemeta.md similarity index 77% rename from docs/models/operations/getallmedialibraryqueryparamincludemeta.md rename to docs/models/operations/getlibrarysectionsallqueryparamincludemeta.md index 196afb0..dd4f259 100644 --- a/docs/models/operations/getallmedialibraryqueryparamincludemeta.md +++ b/docs/models/operations/getlibrarysectionsallqueryparamincludemeta.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryQueryParamIncludeMeta +# GetLibrarySectionsAllQueryParamIncludeMeta Adds the Meta object to the response diff --git a/docs/models/operations/getlibrarysectionsallqueryparamtype.md b/docs/models/operations/getlibrarysectionsallqueryparamtype.md new file mode 100644 index 0000000..58b67cf --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallqueryparamtype.md @@ -0,0 +1,24 @@ +# GetLibrarySectionsAllQueryParamType + +The type of media to retrieve or filter by. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryrequest.md b/docs/models/operations/getlibrarysectionsallrequest.md similarity index 96% rename from docs/models/operations/getallmedialibraryrequest.md rename to docs/models/operations/getlibrarysectionsallrequest.md index 7aeab19..3af75e6 100644 --- a/docs/models/operations/getallmedialibraryrequest.md +++ b/docs/models/operations/getlibrarysectionsallrequest.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryRequest +# GetLibrarySectionsAllRequest ## Fields @@ -6,8 +6,8 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `section_key` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `type` | [operations.GetAllMediaLibraryQueryParamType](../../models/operations/getallmedialibraryqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `include_meta` | [Optional[operations.GetAllMediaLibraryQueryParamIncludeMeta]](../../models/operations/getallmedialibraryqueryparamincludemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `type` | [operations.GetLibrarySectionsAllQueryParamType](../../models/operations/getlibrarysectionsallqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `include_meta` | [Optional[operations.GetLibrarySectionsAllQueryParamIncludeMeta]](../../models/operations/getlibrarysectionsallqueryparamincludemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | | `include_guids` | [Optional[operations.QueryParamIncludeGuids]](../../models/operations/queryparamincludeguids.md) | :heavy_minus_sign: | Adds the Guid object to the response
| 1 | | `include_advanced` | [Optional[operations.IncludeAdvanced]](../../models/operations/includeadvanced.md) | :heavy_minus_sign: | N/A | 1 | | `include_collections` | [Optional[operations.QueryParamIncludeCollections]](../../models/operations/queryparamincludecollections.md) | :heavy_minus_sign: | N/A | 1 | diff --git a/docs/models/operations/getlibrarysectionsallresponse.md b/docs/models/operations/getlibrarysectionsallresponse.md new file mode 100644 index 0000000..e6b7bed --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallresponse.md @@ -0,0 +1,11 @@ +# GetLibrarySectionsAllResponse + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation | +| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `raw_response` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [Optional[operations.GetLibrarySectionsAllResponseBody]](../../models/operations/getlibrarysectionsallresponsebody.md) | :heavy_minus_sign: | Successful response containing media container data. | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsallresponsebody.md b/docs/models/operations/getlibrarysectionsallresponsebody.md new file mode 100644 index 0000000..fe8fc85 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallresponsebody.md @@ -0,0 +1,10 @@ +# GetLibrarySectionsAllResponseBody + +Successful response containing media container data. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `media_container` | [Optional[operations.GetLibrarySectionsAllMediaContainer]](../../models/operations/getlibrarysectionsallmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryrole.md b/docs/models/operations/getlibrarysectionsallrole.md similarity index 97% rename from docs/models/operations/getallmedialibraryrole.md rename to docs/models/operations/getlibrarysectionsallrole.md index 1f73ddb..453dd74 100644 --- a/docs/models/operations/getallmedialibraryrole.md +++ b/docs/models/operations/getlibrarysectionsallrole.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryRole +# GetLibrarySectionsAllRole ## Fields diff --git a/docs/models/operations/getlibrarysectionsallsort.md b/docs/models/operations/getlibrarysectionsallsort.md new file mode 100644 index 0000000..daf5761 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallsort.md @@ -0,0 +1,15 @@ +# GetLibrarySectionsAllSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `default` | *Optional[str]* | :heavy_minus_sign: | N/A | asc | +| `active` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | +| `active_direction` | [Optional[operations.GetLibrarySectionsAllActiveDirection]](../../models/operations/getlibrarysectionsallactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `default_direction` | [Optional[operations.GetLibrarySectionsAllDefaultDirection]](../../models/operations/getlibrarysectionsalldefaultdirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `desc_key` | *Optional[str]* | :heavy_minus_sign: | N/A | titleSort:desc | +| `first_character_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *str* | :heavy_check_mark: | N/A | titleSort | +| `title` | *str* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsallstream.md b/docs/models/operations/getlibrarysectionsallstream.md new file mode 100644 index 0000000..d54fdf9 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsallstream.md @@ -0,0 +1,58 @@ +# GetLibrarySectionsAllStream + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `stream_type` | [operations.GetLibrarySectionsAllStreamType](../../models/operations/getlibrarysectionsallstreamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | +| `format_` | *Optional[str]* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | +| `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `index` | *Optional[int]* | :heavy_minus_sign: | Index of the stream. | 0 | +| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | +| `language` | *Optional[str]* | :heavy_minus_sign: | Language of the stream. | English | +| `language_tag` | *Optional[str]* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `language_code` | *Optional[str]* | :heavy_minus_sign: | ISO language code. | eng | +| `header_compression` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | +| `dovibl_compat_id` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `dovibl_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `doviel_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `dovi_level` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `dovi_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `dovi_profile` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `dovirpu_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `dovi_version` | *Optional[str]* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `chroma_location` | *Optional[str]* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `chroma_subsampling` | *Optional[str]* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `coded_height` | *Optional[int]* | :heavy_minus_sign: | Coded video height. | 1608 | +| `coded_width` | *Optional[int]* | :heavy_minus_sign: | Coded video width. | 3840 | +| `closed_captions` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | +| `color_primaries` | *Optional[str]* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `color_range` | *Optional[str]* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `color_space` | *Optional[str]* | :heavy_minus_sign: | Color space. | bt2020nc | +| `color_trc` | *Optional[str]* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `key` | *Optional[str]* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | +| `height` | *Optional[int]* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `level` | *Optional[int]* | :heavy_minus_sign: | Video level. | 150 | +| `original` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `has_scaling_matrix` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | +| `profile` | *Optional[str]* | :heavy_minus_sign: | Video profile. | main 10 | +| `scan_type` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | +| `embedded_in_video` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | +| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `width` | *Optional[int]* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `display_title` | *str* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `extended_display_title` | *str* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `selected` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `forced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | +| `channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `audio_channel_layout` | *Optional[str]* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `hearing_impaired` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `dub` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `title` | *Optional[str]* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarystreamtype.md b/docs/models/operations/getlibrarysectionsallstreamtype.md similarity index 86% rename from docs/models/operations/getallmedialibrarystreamtype.md rename to docs/models/operations/getlibrarysectionsallstreamtype.md index 8975cfe..3bedf03 100644 --- a/docs/models/operations/getallmedialibrarystreamtype.md +++ b/docs/models/operations/getlibrarysectionsallstreamtype.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryStreamType +# GetLibrarySectionsAllStreamType Stream type: - 1 = video diff --git a/docs/models/operations/getlibrarysectionsalltype.md b/docs/models/operations/getlibrarysectionsalltype.md new file mode 100644 index 0000000..56ab426 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsalltype.md @@ -0,0 +1,15 @@ +# GetLibrarySectionsAllType + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `key` | *str* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `type` | *str* | :heavy_check_mark: | N/A | filter | +| `subtype` | *Optional[str]* | :heavy_minus_sign: | N/A | clip | +| `title` | *str* | :heavy_check_mark: | N/A | TV Shows | +| `active` | *bool* | :heavy_check_mark: | N/A | false | +| `filter_` | List[[operations.GetLibrarySectionsAllFilter](../../models/operations/getlibrarysectionsallfilter.md)] | :heavy_minus_sign: | N/A | | +| `sort` | List[[operations.GetLibrarySectionsAllSort](../../models/operations/getlibrarysectionsallsort.md)] | :heavy_minus_sign: | N/A | | +| `field` | List[[operations.GetLibrarySectionsAllField](../../models/operations/getlibrarysectionsallfield.md)] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibraryultrablurcolors.md b/docs/models/operations/getlibrarysectionsallultrablurcolors.md similarity index 94% rename from docs/models/operations/getallmedialibraryultrablurcolors.md rename to docs/models/operations/getlibrarysectionsallultrablurcolors.md index 3cbcb63..2d1c1c5 100644 --- a/docs/models/operations/getallmedialibraryultrablurcolors.md +++ b/docs/models/operations/getlibrarysectionsallultrablurcolors.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryUltraBlurColors +# GetLibrarySectionsAllUltraBlurColors ## Fields diff --git a/docs/models/operations/getallmedialibrarywriter.md b/docs/models/operations/getlibrarysectionsallwriter.md similarity index 91% rename from docs/models/operations/getallmedialibrarywriter.md rename to docs/models/operations/getlibrarysectionsallwriter.md index 491bc34..0d74d52 100644 --- a/docs/models/operations/getallmedialibrarywriter.md +++ b/docs/models/operations/getlibrarysectionsallwriter.md @@ -1,4 +1,4 @@ -# GetAllMediaLibraryWriter +# GetLibrarySectionsAllWriter ## Fields diff --git a/docs/models/operations/getmediametadatacountry.md b/docs/models/operations/getmediametadatacountry.md index 9566e80..1a53de7 100644 --- a/docs/models/operations/getmediametadatacountry.md +++ b/docs/models/operations/getmediametadatacountry.md @@ -5,8 +5,8 @@ The filter query string for country media items. ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | -| `id` | *int* | :heavy_check_mark: | N/A | 259 | -| `tag` | *str* | :heavy_check_mark: | The country of origin of this media item | United States of America | -| `filter_` | *Optional[str]* | :heavy_minus_sign: | N/A | country=19 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique identifier for the country.
NOTE: This is different for each Plex server and is not globally unique.
| 259 | +| `tag` | *str* | :heavy_check_mark: | The country of origin of this media item | United States of America | +| `filter_` | *str* | :heavy_check_mark: | N/A | country=19 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatadirector.md b/docs/models/operations/getmediametadatadirector.md index 1469e70..3df2695 100644 --- a/docs/models/operations/getmediametadatadirector.md +++ b/docs/models/operations/getmediametadatadirector.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique identifier for the director. | 126522 | -| `tag` | *str* | :heavy_check_mark: | The role of Director | Danny Boyle | -| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this director. | director=235876 | -| `tag_key` | *Optional[str]* | :heavy_minus_sign: | A unique key associated with the director's tag, used for internal identification. | 5d776831151a60001f24d031 | -| `thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique identifier for the director. | 126522 | +| `tag` | *str* | :heavy_check_mark: | The role of Director | Danny Boyle | +| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this director. | director=235876 | +| `tag_key` | *str* | :heavy_check_mark: | A unique 24-character hexadecimal key associated with the director's tag, used for internal identification. | 5d776831151a60001f24d031 | +| `thumb` | *Optional[str]* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatagenre.md b/docs/models/operations/getmediametadatagenre.md index 3503a51..9a598ec 100644 --- a/docs/models/operations/getmediametadatagenre.md +++ b/docs/models/operations/getmediametadatagenre.md @@ -5,8 +5,8 @@ The filter query string for similar items. ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | -| `id` | *int* | :heavy_check_mark: | N/A | 259 | -| `tag` | *str* | :heavy_check_mark: | The genre name of this media-item
| Crime | -| `filter_` | *str* | :heavy_check_mark: | N/A | genre=19 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique identifier for the genre.
NOTE: This is different for each Plex server and is not globally unique.
| 259 | +| `tag` | *str* | :heavy_check_mark: | The genre name of this media-item
| Crime | +| `filter_` | *str* | :heavy_check_mark: | N/A | genre=19 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadataguids.md b/docs/models/operations/getmediametadataguids.md index 48ab504..6e1f510 100644 --- a/docs/models/operations/getmediametadataguids.md +++ b/docs/models/operations/getmediametadataguids.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *str* | :heavy_check_mark: | The GUID value. | imdb://tt3032476 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
| {
"imdbExample": {
"summary": "IMDB example",
"value": "imdb://tt13015952"
},
"tmdbExample": {
"summary": "TMDB example",
"value": "tmdb://2434012"
},
"tvdbExample": {
"summary": "TVDB example",
"value": "tvdb://7945991"
}
} | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatametadata.md b/docs/models/operations/getmediametadatametadata.md index 8295e65..5ac51b8 100644 --- a/docs/models/operations/getmediametadatametadata.md +++ b/docs/models/operations/getmediametadatametadata.md @@ -67,6 +67,7 @@ Unknown | `library_section_id` | *int* | :heavy_check_mark: | The identifier for the library section. | 1 | | `library_section_title` | *str* | :heavy_check_mark: | The title of the library section. | Movies | | `library_section_key` | *str* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | +| `guids` | List[[operations.GetMediaMetaDataGuids](../../models/operations/getmediametadataguids.md)] | :heavy_minus_sign: | N/A | | | `media` | List[[operations.GetMediaMetaDataMedia](../../models/operations/getmediametadatamedia.md)] | :heavy_minus_sign: | N/A | | | `genre` | List[[operations.GetMediaMetaDataGenre](../../models/operations/getmediametadatagenre.md)] | :heavy_minus_sign: | N/A | | | `country` | List[[operations.GetMediaMetaDataCountry](../../models/operations/getmediametadatacountry.md)] | :heavy_minus_sign: | N/A | | @@ -74,7 +75,6 @@ Unknown | `writer` | List[[operations.GetMediaMetaDataWriter](../../models/operations/getmediametadatawriter.md)] | :heavy_minus_sign: | N/A | | | `producer` | List[[operations.GetMediaMetaDataProducer](../../models/operations/getmediametadataproducer.md)] | :heavy_minus_sign: | N/A | | | `role` | List[[operations.GetMediaMetaDataRole](../../models/operations/getmediametadatarole.md)] | :heavy_minus_sign: | N/A | | -| `guids` | List[[operations.GetMediaMetaDataGuids](../../models/operations/getmediametadataguids.md)] | :heavy_minus_sign: | N/A | | | `ratings` | List[[operations.Ratings](../../models/operations/ratings.md)] | :heavy_minus_sign: | N/A | | | `similar` | List[[operations.GetMediaMetaDataSimilar](../../models/operations/getmediametadatasimilar.md)] | :heavy_minus_sign: | N/A | | | `location` | List[[operations.GetMediaMetaDataLocation](../../models/operations/getmediametadatalocation.md)] | :heavy_minus_sign: | N/A | | diff --git a/docs/models/operations/getmediametadatarequest.md b/docs/models/operations/getmediametadatarequest.md index 9dfc498..0354178 100644 --- a/docs/models/operations/getmediametadatarequest.md +++ b/docs/models/operations/getmediametadatarequest.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| `rating_key` | *int* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | -| `include_concerts` | *Optional[bool]* | :heavy_minus_sign: | Include concerts data if set to true. | true | -| `include_extras` | *Optional[bool]* | :heavy_minus_sign: | Include extra content (e.g. bonus features). | true | -| `include_on_deck` | *Optional[bool]* | :heavy_minus_sign: | Include on-deck items. | true | -| `include_popular_leaves` | *Optional[bool]* | :heavy_minus_sign: | Include popular leaves (episodes/chapters). | true | -| `include_preferences` | *Optional[bool]* | :heavy_minus_sign: | Include preferences information. | true | -| `include_reviews` | *Optional[bool]* | :heavy_minus_sign: | Include reviews for the content. | true | -| `include_chapters` | *Optional[bool]* | :heavy_minus_sign: | Include chapter details. | true | -| `include_stations` | *Optional[bool]* | :heavy_minus_sign: | Include station data. | true | -| `include_external_media` | *Optional[bool]* | :heavy_minus_sign: | Include external media data. | true | -| `async_augment_metadata` | *Optional[bool]* | :heavy_minus_sign: | Trigger asynchronous metadata augmentation. | true | -| `async_check_files` | *Optional[bool]* | :heavy_minus_sign: | Trigger asynchronous file checking. | true | -| `async_refresh_analysis` | *Optional[bool]* | :heavy_minus_sign: | Trigger asynchronous refresh of analysis. | true | -| `async_refresh_local_media_agent` | *Optional[bool]* | :heavy_minus_sign: | Trigger asynchronous refresh of the local media agent. | true | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `rating_key` | *str* | :heavy_check_mark: | The id(s) of the library item(s) to return metadata for. Can be a single ID or comma-separated list of IDs. | 21119,21617 | +| `include_concerts` | *Optional[bool]* | :heavy_minus_sign: | Include concerts data if set to true. | true | +| `include_extras` | *Optional[bool]* | :heavy_minus_sign: | Include extra content (e.g. bonus features). | true | +| `include_on_deck` | *Optional[bool]* | :heavy_minus_sign: | Include on-deck items. | true | +| `include_popular_leaves` | *Optional[bool]* | :heavy_minus_sign: | Include popular leaves (episodes/chapters). | true | +| `include_preferences` | *Optional[bool]* | :heavy_minus_sign: | Include preferences information. | true | +| `include_reviews` | *Optional[bool]* | :heavy_minus_sign: | Include reviews for the content. | true | +| `include_chapters` | *Optional[bool]* | :heavy_minus_sign: | Include chapter details. | true | +| `include_stations` | *Optional[bool]* | :heavy_minus_sign: | Include station data. | true | +| `include_external_media` | *Optional[bool]* | :heavy_minus_sign: | Include external media data. | true | +| `async_augment_metadata` | *Optional[bool]* | :heavy_minus_sign: | Trigger asynchronous metadata augmentation. | true | +| `async_check_files` | *Optional[bool]* | :heavy_minus_sign: | Trigger asynchronous file checking. | true | +| `async_refresh_analysis` | *Optional[bool]* | :heavy_minus_sign: | Trigger asynchronous refresh of analysis. | true | +| `async_refresh_local_media_agent` | *Optional[bool]* | :heavy_minus_sign: | Trigger asynchronous refresh of the local media agent. | true | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatarole.md b/docs/models/operations/getmediametadatarole.md index bffa807..1eb41cc 100644 --- a/docs/models/operations/getmediametadatarole.md +++ b/docs/models/operations/getmediametadatarole.md @@ -3,11 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique identifier for the actor or role. | 126522 | -| `tag` | *str* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | -| `role` | *Optional[str]* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge | -| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this actor. For example, it may indicate that this is an actor with a given key. | actor=126522 | -| `tag_key` | *Optional[str]* | :heavy_minus_sign: | A unique key associated with the actor's tag, used for internal identification. | 5d77683d85719b001f3a535e | -| `thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique identifier for the role.
NOTE: This is different for each Plex server and is not globally unique.
| 126522 | +| `tag` | *str* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | +| `role` | *Optional[str]* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge | +| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this actor. For example, it may indicate that this is an actor with a given key. | actor=126522 | +| `tag_key` | *str* | :heavy_check_mark: | A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification.
NOTE: This is globally unique across all Plex Servers.
| 5d77683d85719b001f3a535e | +| `thumb` | *Optional[str]* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatatype.md b/docs/models/operations/getmediametadatatype.md index 389034c..921f704 100644 --- a/docs/models/operations/getmediametadatatype.md +++ b/docs/models/operations/getmediametadatatype.md @@ -1,16 +1,20 @@ # GetMediaMetaDataType -The type of media content +The type of media content in the Plex library. This can represent videos, music, or photos. ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | -| `ARTIST` | artist | -| `ALBUM` | album | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatawriter.md b/docs/models/operations/getmediametadatawriter.md index d9238f6..99f3cd0 100644 --- a/docs/models/operations/getmediametadatawriter.md +++ b/docs/models/operations/getmediametadatawriter.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | -| `tag` | *str* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | -| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 | -| `thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the thumbnail image for the writer. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | -| `tag_key` | *Optional[str]* | :heavy_minus_sign: | A unique key associated with the writers tag, used for internal identification. | 5d77683d85719b001f3a535e | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | +| `tag` | *str* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | +| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 | +| `thumb` | *Optional[str]* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the writer. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | +| `tag_key` | *Optional[str]* | :heavy_minus_sign: | A 24-character hexadecimal unique key associated with the writer’s tag, used for internal identification. | 5d77683d85719b001f3a535e | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentsqueryparamtype.md b/docs/models/operations/getplaylistcontentsqueryparamtype.md index 65100f4..defd540 100644 --- a/docs/models/operations/getplaylistcontentsqueryparamtype.md +++ b/docs/models/operations/getplaylistcontentsqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedhubstype.md b/docs/models/operations/getrecentlyaddedhubstype.md index 7ef2bec..9884c30 100644 --- a/docs/models/operations/getrecentlyaddedhubstype.md +++ b/docs/models/operations/getrecentlyaddedhubstype.md @@ -1,16 +1,20 @@ # GetRecentlyAddedHubsType -The type of media content +The type of media content in the Plex library. This can represent videos, music, or photos. ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | -| `ARTIST` | artist | -| `ALBUM` | album | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedmetadata.md b/docs/models/operations/getrecentlyaddedmetadata.md index fb1751d..a53b7fb 100644 --- a/docs/models/operations/getrecentlyaddedmetadata.md +++ b/docs/models/operations/getrecentlyaddedmetadata.md @@ -71,6 +71,7 @@ Unknown | `year` | *Optional[int]* | :heavy_minus_sign: | The release year of the media item. | 2022 | | `image` | List[[operations.GetRecentlyAddedImage](../../models/operations/getrecentlyaddedimage.md)] | :heavy_minus_sign: | N/A | | | `ultra_blur_colors` | [Optional[operations.UltraBlurColors]](../../models/operations/ultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `guids` | List[[operations.Guids](../../models/operations/guids.md)] | :heavy_minus_sign: | N/A | | | `media` | List[[operations.Media](../../models/operations/media.md)] | :heavy_minus_sign: | N/A | | | `genre` | List[[operations.Genre](../../models/operations/genre.md)] | :heavy_minus_sign: | N/A | | | `country` | List[[operations.Country](../../models/operations/country.md)] | :heavy_minus_sign: | N/A | | @@ -81,5 +82,4 @@ Unknown | `rating1` | List[[operations.Rating](../../models/operations/rating.md)] | :heavy_minus_sign: | N/A | | | `similar` | List[[operations.Similar](../../models/operations/similar.md)] | :heavy_minus_sign: | N/A | | | `location` | List[[operations.Location](../../models/operations/location.md)] | :heavy_minus_sign: | N/A | | -| `guids` | List[[operations.Guids](../../models/operations/guids.md)] | :heavy_minus_sign: | N/A | | | `collection` | List[[operations.Collection](../../models/operations/collection.md)] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmetadata.md b/docs/models/operations/getsearchalllibrariesmetadata.md index 0ec93f6..99b6e22 100644 --- a/docs/models/operations/getsearchalllibrariesmetadata.md +++ b/docs/models/operations/getsearchalllibrariesmetadata.md @@ -13,7 +13,7 @@ | `library_section_id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 | | `library_section_title` | *Optional[str]* | :heavy_minus_sign: | N/A | Movies | | `library_section_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `type` | [operations.GetSearchAllLibrariesType](../../models/operations/getsearchalllibrariestype.md) | :heavy_check_mark: | The type of media content
| movie | +| `type` | [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` | *str* | :heavy_check_mark: | N/A | Avatar: The Way of Water | | `slug` | *Optional[str]* | :heavy_minus_sign: | N/A | 4-for-texas | | `content_rating` | *Optional[str]* | :heavy_minus_sign: | N/A | PG-13 | diff --git a/docs/models/operations/getsearchalllibrariestype.md b/docs/models/operations/getsearchalllibrariestype.md index 1d667b8..71241a6 100644 --- a/docs/models/operations/getsearchalllibrariestype.md +++ b/docs/models/operations/getsearchalllibrariestype.md @@ -1,16 +1,20 @@ # GetSearchAllLibrariesType -The type of media content +The type of media content in the Plex library. This can represent videos, music, or photos. ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | movie | -| `TV_SHOW` | show | -| `SEASON` | season | -| `EPISODE` | episode | -| `ARTIST` | artist | -| `ALBUM` | album | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | +| `TRACK` | track | +| `PHOTO_ALBUM` | photoalbum | +| `PHOTO` | photo | +| `COLLECTION` | collection | \ No newline at end of file diff --git a/docs/models/operations/getsearchlibraryqueryparamtype.md b/docs/models/operations/getsearchlibraryqueryparamtype.md index 1331727..1804367 100644 --- a/docs/models/operations/getsearchlibraryqueryparamtype.md +++ b/docs/models/operations/getsearchlibraryqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/gettopwatchedcontentmediacontainer.md b/docs/models/operations/gettopwatchedcontentmediacontainer.md index 96ca55b..df3d059 100644 --- a/docs/models/operations/gettopwatchedcontentmediacontainer.md +++ b/docs/models/operations/gettopwatchedcontentmediacontainer.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -| `size` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 | -| `allow_sync` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | -| `identifier` | *Optional[str]* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `media_tag_prefix` | *Optional[str]* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `media_tag_version` | *Optional[int]* | :heavy_minus_sign: | N/A | 1698860922 | +| `size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 | +| `allow_sync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `identifier` | *str* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `media_tag_prefix` | *str* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `media_tag_version` | *int* | :heavy_check_mark: | The version number for media tags. | 1734362201 | | `metadata` | List[[operations.GetTopWatchedContentMetadata](../../models/operations/gettopwatchedcontentmetadata.md)] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/gettopwatchedcontentqueryparamincludeguids.md b/docs/models/operations/gettopwatchedcontentqueryparamincludeguids.md new file mode 100644 index 0000000..547db90 --- /dev/null +++ b/docs/models/operations/gettopwatchedcontentqueryparamincludeguids.md @@ -0,0 +1,12 @@ +# GetTopWatchedContentQueryParamIncludeGuids + +Adds the Guid object to the response + + + +## Values + +| Name | Value | +| --------- | --------- | +| `DISABLE` | 0 | +| `ENABLE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/gettopwatchedcontentqueryparamtype.md b/docs/models/operations/gettopwatchedcontentqueryparamtype.md index d8d7d45..0c90fec 100644 --- a/docs/models/operations/gettopwatchedcontentqueryparamtype.md +++ b/docs/models/operations/gettopwatchedcontentqueryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/gettopwatchedcontentrequest.md b/docs/models/operations/gettopwatchedcontentrequest.md index 9a77883..bb30e41 100644 --- a/docs/models/operations/gettopwatchedcontentrequest.md +++ b/docs/models/operations/gettopwatchedcontentrequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `include_guids` | *Optional[int]* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | -| `type` | [operations.GetTopWatchedContentQueryParamType](../../models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file +| `type` | [operations.GetTopWatchedContentQueryParamType](../../models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `include_guids` | [Optional[operations.GetTopWatchedContentQueryParamIncludeGuids]](../../models/operations/gettopwatchedcontentqueryparamincludeguids.md) | :heavy_minus_sign: | Adds the Guid object to the response
| 1 | \ No newline at end of file diff --git a/docs/models/operations/guids.md b/docs/models/operations/guids.md index d520c69..2a8153a 100644 --- a/docs/models/operations/guids.md +++ b/docs/models/operations/guids.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| `id` | *Optional[str]* | :heavy_minus_sign: | The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
| tvdb://2337 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
| {
"imdbExample": {
"summary": "IMDB example",
"value": "imdb://tt13015952"
},
"tmdbExample": {
"summary": "TMDB example",
"value": "tmdb://2434012"
},
"tvdbExample": {
"summary": "TVDB example",
"value": "tvdb://7945991"
}
} | \ No newline at end of file diff --git a/docs/models/operations/producer.md b/docs/models/operations/producer.md index 08299d6..23bbd90 100644 --- a/docs/models/operations/producer.md +++ b/docs/models/operations/producer.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique identifier for the producer. | 126522 | -| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this producer. | producer=126522 | -| `tag` | *str* | :heavy_check_mark: | The name of the producer | Amelia Knapp | -| `tag_key` | *Optional[str]* | :heavy_minus_sign: | A unique key associated with the producer's tag, used for internal identification. | 5d77683d85719b001f3a535e | -| `thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `id` | *int* | :heavy_check_mark: | Unique identifier for the producer. | 126522 | +| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this producer. | producer=126522 | +| `tag` | *str* | :heavy_check_mark: | The name of the producer | Amelia Knapp | +| `tag_key` | *str* | :heavy_check_mark: | A 24-character hexadecimal unique key associated with the producer's tag, used for internal identification.
| 5d77683d85719b001f3a535e | +| `thumb` | *Optional[str]* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the producer. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file diff --git a/docs/models/operations/queryparamtype.md b/docs/models/operations/queryparamtype.md index c6862dd..1e56b85 100644 --- a/docs/models/operations/queryparamtype.md +++ b/docs/models/operations/queryparamtype.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/rating.md b/docs/models/operations/rating.md index 892127d..b809cf1 100644 --- a/docs/models/operations/rating.md +++ b/docs/models/operations/rating.md @@ -5,8 +5,8 @@ The type of rating, for example 'audience' or 'critic'. ## Fields -| Field | Type | Required | Description | Example | -| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- | -| `image` | *str* | :heavy_check_mark: | N/A | imdb://image.rating | -| `value` | *float* | :heavy_check_mark: | N/A | 5.1 | -| `type` | *str* | :heavy_check_mark: | N/A | audience | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `image` | *str* | :heavy_check_mark: | The URL for the rating image, for example from IMDb. | imdb://image.rating | +| `value` | *float* | :heavy_check_mark: | N/A | 5.1 | +| `type` | *str* | :heavy_check_mark: | N/A | audience | \ No newline at end of file diff --git a/docs/models/operations/role.md b/docs/models/operations/role.md index 0cdf0aa..232ba2d 100644 --- a/docs/models/operations/role.md +++ b/docs/models/operations/role.md @@ -3,11 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique identifier for the actor or role. | 126522 | -| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this actor. For example, it may indicate that this is an actor with a given key. | actor=126522 | -| `tag` | *str* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | -| `tag_key` | *Optional[str]* | :heavy_minus_sign: | A unique key associated with the actor's tag, used for internal identification. | 5d77683d85719b001f3a535e | -| `role` | *Optional[str]* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge | -| `thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique identifier for the role.
NOTE: This is different for each Plex server and is not globally unique.
| 126522 | +| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this actor. For example, it may indicate that this is an actor with a given key. | actor=126522 | +| `tag` | *str* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | +| `tag_key` | *str* | :heavy_check_mark: | A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification.
NOTE: This is globally unique across all Plex Servers.
| 5d77683d85719b001f3a535e | +| `role` | *Optional[str]* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge | +| `thumb` | *Optional[str]* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file diff --git a/docs/models/operations/type.md b/docs/models/operations/type.md index e750bc8..8a7168d 100644 --- a/docs/models/operations/type.md +++ b/docs/models/operations/type.md @@ -11,12 +11,14 @@ E.g. A movie library will not return anything with type 3 as there are no season ## Values -| Name | Value | -| --------- | --------- | -| `MOVIE` | 1 | -| `TV_SHOW` | 2 | -| `SEASON` | 3 | -| `EPISODE` | 4 | -| `AUDIO` | 8 | -| `ALBUM` | 9 | -| `TRACK` | 10 | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `MOVIE` | 1 | +| `TV_SHOW` | 2 | +| `SEASON` | 3 | +| `EPISODE` | 4 | +| `ARTIST` | 5 | +| `ALBUM` | 6 | +| `TRACK` | 7 | +| `PHOTO_ALBUM` | 8 | +| `PHOTO` | 9 | \ No newline at end of file diff --git a/docs/models/operations/writer.md b/docs/models/operations/writer.md index dda2a95..1bfce4a 100644 --- a/docs/models/operations/writer.md +++ b/docs/models/operations/writer.md @@ -3,9 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | -| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 | -| `tag` | *str* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | -| `tag_key` | *Optional[str]* | :heavy_minus_sign: | A unique key associated with the writers tag, used for internal identification. | 5d77683d85719b001f3a535e | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | +| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 | +| `tag` | *str* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | +| `tag_key` | *Optional[str]* | :heavy_minus_sign: | A 24-character hexadecimal unique key associated with the writer’s tag, used for internal identification. | 5d77683d85719b001f3a535e | +| `thumb` | *Optional[str]* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the writer. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | \ No newline at end of file diff --git a/docs/sdks/hubs/README.md b/docs/sdks/hubs/README.md index 6ab69b0..cf9586d 100644 --- a/docs/sdks/hubs/README.md +++ b/docs/sdks/hubs/README.md @@ -75,6 +75,7 @@ with PlexAPI( "content_directory_id": 39486, "section_id": 2, "type": operations.Type.TV_SHOW, + "include_meta": operations.IncludeMeta.ENABLE, }) assert res.object is not None diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 9cdf299..b415668 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -14,7 +14,7 @@ API Calls interacting with Plex Media Server Libraries * [get_library_details](#get_library_details) - Get Library Details * [delete_library](#delete_library) - Delete Library Section * [get_library_items](#get_library_items) - Get Library Items -* [get_all_media_library](#get_all_media_library) - Get all media of library +* [get_library_sections_all](#get_library_sections_all) - Get Library section media by tag ALL * [get_refresh_library_metadata](#get_refresh_library_metadata) - Refresh Metadata Of The Library * [get_search_library](#get_search_library) - Search Library * [get_genres_library](#get_genres_library) - Get Genres of library media @@ -106,6 +106,7 @@ with PlexAPI( ], "section_id": 2, "type": operations.QueryParamType.TV_SHOW, + "include_meta": operations.QueryParamIncludeMeta.ENABLE, }) assert res.object is not None @@ -228,13 +229,14 @@ Each type in the library comes with a set of filters and sorts, aiding in buildi ```python from plex_api_client import PlexAPI +from plex_api_client.models import operations with PlexAPI( access_token="", ) as plex_api: - res = plex_api.library.get_library_details(section_key=9518) + res = plex_api.library.get_library_details(section_key=9518, include_details=operations.IncludeDetails.ZERO) assert res.object is not None @@ -343,8 +345,10 @@ with PlexAPI( res = plex_api.library.get_library_items(request={ "tag": operations.Tag.NEWEST, + "include_guids": operations.IncludeGuids.ENABLE, "type": operations.GetLibraryItemsQueryParamType.TV_SHOW, "section_key": 9518, + "include_meta": operations.GetLibraryItemsQueryParamIncludeMeta.ENABLE, }) assert res.object is not None @@ -373,7 +377,7 @@ with PlexAPI( | errors.GetLibraryItemsUnauthorized | 401 | application/json | | errors.SDKError | 4XX, 5XX | \*/\* | -## get_all_media_library +## get_library_sections_all Retrieves a list of all general media data for this library. @@ -389,9 +393,14 @@ with PlexAPI( access_token="", ) as plex_api: - res = plex_api.library.get_all_media_library(request={ + res = plex_api.library.get_library_sections_all(request={ "section_key": 9518, - "type": operations.GetAllMediaLibraryQueryParamType.TV_SHOW, + "type": operations.GetLibrarySectionsAllQueryParamType.TV_SHOW, + "include_meta": operations.GetLibrarySectionsAllQueryParamIncludeMeta.ENABLE, + "include_guids": operations.QueryParamIncludeGuids.ENABLE, + "include_advanced": operations.IncludeAdvanced.ENABLE, + "include_collections": operations.QueryParamIncludeCollections.ENABLE, + "include_external_media": operations.QueryParamIncludeExternalMedia.ENABLE, }) assert res.object is not None @@ -403,22 +412,22 @@ with PlexAPI( ### Parameters -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -| `request` | [operations.GetAllMediaLibraryRequest](../../models/operations/getallmedialibraryrequest.md) | :heavy_check_mark: | The request object to use for the request. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `request` | [operations.GetLibrarySectionsAllRequest](../../models/operations/getlibrarysectionsallrequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[operations.GetAllMediaLibraryResponse](../../models/operations/getallmedialibraryresponse.md)** +**[operations.GetLibrarySectionsAllResponse](../../models/operations/getlibrarysectionsallresponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| ------------------------------------- | ------------------------------------- | ------------------------------------- | -| errors.GetAllMediaLibraryBadRequest | 400 | application/json | -| errors.GetAllMediaLibraryUnauthorized | 401 | application/json | -| errors.SDKError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| errors.GetLibrarySectionsAllBadRequest | 400 | application/json | +| errors.GetLibrarySectionsAllUnauthorized | 401 | application/json | +| errors.SDKError | 4XX, 5XX | \*/\* | ## get_refresh_library_metadata @@ -684,6 +693,8 @@ with PlexAPI( "search_types": [ operations.SearchTypes.PEOPLE, ], + "include_collections": operations.GetSearchAllLibrariesQueryParamIncludeCollections.ENABLE, + "include_external_media": operations.GetSearchAllLibrariesQueryParamIncludeExternalMedia.ENABLE, }) assert res.object is not None @@ -714,7 +725,8 @@ with PlexAPI( ## get_media_meta_data -This endpoint will return all the (meta)data of a library item specified with by the ratingKey. +This endpoint will return all the (meta)data of one or more library items specified by the ratingKey. +Multiple rating keys can be provided as a comma-separated list (e.g., "21119,21617"). ### Example Usage @@ -728,7 +740,7 @@ with PlexAPI( ) as plex_api: res = plex_api.library.get_media_meta_data(request={ - "rating_key": 9518, + "rating_key": "21119,21617", "include_concerts": True, "include_extras": True, "include_on_deck": True, @@ -994,7 +1006,7 @@ with PlexAPI( access_token="", ) as plex_api: - res = plex_api.library.get_top_watched_content(type_=operations.GetTopWatchedContentQueryParamType.TV_SHOW, include_guids=1) + res = plex_api.library.get_top_watched_content(type_=operations.GetTopWatchedContentQueryParamType.TV_SHOW, include_guids=operations.GetTopWatchedContentQueryParamIncludeGuids.ENABLE) assert res.object is not None @@ -1008,7 +1020,7 @@ with PlexAPI( | Parameter | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `type` | [operations.GetTopWatchedContentQueryParamType](../../models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `include_guids` | *Optional[int]* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| `include_guids` | [Optional[operations.GetTopWatchedContentQueryParamIncludeGuids]](../../models/operations/gettopwatchedcontentqueryparamincludeguids.md) | :heavy_minus_sign: | Adds the Guid object to the response
| 1 | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response diff --git a/docs/sdks/plex/README.md b/docs/sdks/plex/README.md index 7501163..825dce7 100644 --- a/docs/sdks/plex/README.md +++ b/docs/sdks/plex/README.md @@ -189,13 +189,14 @@ Get Plex server access tokens and server connections ```python from plex_api_client import PlexAPI +from plex_api_client.models import operations with PlexAPI( access_token="", ) as plex_api: - res = plex_api.plex.get_server_resources(client_id="3381b62b-9ab7-4e37-827b-203e9809eb58") + res = plex_api.plex.get_server_resources(client_id="3381b62b-9ab7-4e37-827b-203e9809eb58", include_https=operations.IncludeHTTPS.ENABLE, include_relay=operations.IncludeRelay.ENABLE, include_i_pv6=operations.IncludeIPv6.ENABLE) assert res.plex_devices is not None diff --git a/docs/sdks/search/README.md b/docs/sdks/search/README.md index dbc363c..9ecbfbe 100644 --- a/docs/sdks/search/README.md +++ b/docs/sdks/search/README.md @@ -38,7 +38,7 @@ with PlexAPI( access_token="", ) as plex_api: - res = plex_api.search.perform_search(query="arnold") + res = plex_api.search.perform_search(query="arnold", limit=5) assert res is not None @@ -86,7 +86,7 @@ with PlexAPI( access_token="", ) as plex_api: - res = plex_api.search.perform_voice_search(query="dead+poop") + res = plex_api.search.perform_voice_search(query="dead+poop", limit=5) assert res is not None diff --git a/docs/sdks/server/README.md b/docs/sdks/server/README.md index 3f23875..9c4d2dc 100644 --- a/docs/sdks/server/README.md +++ b/docs/sdks/server/README.md @@ -280,7 +280,6 @@ with PlexAPI( res = plex_api.server.get_resized_photo(request={ "width": 110, "height": 165, - "opacity": 100, "blur": 0, "min_size": operations.MinSize.ZERO, "upscale": operations.Upscale.ZERO, diff --git a/pyproject.toml b/pyproject.toml index f094095..7d03795 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "plex-api-client" -version = "0.28.0" +version = "0.28.1" description = "Python Client SDK Generated by Speakeasy" authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/src/plex_api_client/_version.py b/src/plex_api_client/_version.py index 35702f2..779fda7 100644 --- a/src/plex_api_client/_version.py +++ b/src/plex_api_client/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "plex-api-client" -__version__: str = "0.28.0" +__version__: str = "0.28.1" __openapi_doc_version__: str = "0.0.3" -__gen_version__: str = "2.616.1" -__user_agent__: str = "speakeasy-sdk/python 0.28.0 2.616.1 0.0.3 plex-api-client" +__gen_version__: str = "2.620.2" +__user_agent__: str = "speakeasy-sdk/python 0.28.1 2.620.2 0.0.3 plex-api-client" try: if __package__ is not None: diff --git a/src/plex_api_client/library.py b/src/plex_api_client/library.py index 3cf3ec7..d9d8f1c 100644 --- a/src/plex_api_client/library.py +++ b/src/plex_api_client/library.py @@ -1498,19 +1498,19 @@ class Library(BaseSDK): http_res, ) - def get_all_media_library( + def get_library_sections_all( self, *, request: Union[ - operations.GetAllMediaLibraryRequest, - operations.GetAllMediaLibraryRequestTypedDict, + operations.GetLibrarySectionsAllRequest, + operations.GetLibrarySectionsAllRequestTypedDict, ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> operations.GetAllMediaLibraryResponse: - r"""Get all media of library + ) -> operations.GetLibrarySectionsAllResponse: + r"""Get Library section media by tag ALL Retrieves a list of all general media data for this library. @@ -1532,8 +1532,8 @@ class Library(BaseSDK): base_url = self._get_url(base_url, url_variables) if not isinstance(request, BaseModel): - request = utils.unmarshal(request, operations.GetAllMediaLibraryRequest) - request = cast(operations.GetAllMediaLibraryRequest, request) + request = utils.unmarshal(request, operations.GetLibrarySectionsAllRequest) + request = cast(operations.GetLibrarySectionsAllRequest, request) req = self._build_request( method="GET", @@ -1563,7 +1563,7 @@ class Library(BaseSDK): hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="get-all-media-library", + operation_id="get-library-sections-all", oauth2_scopes=[], security_source=self.sdk_configuration.security, ), @@ -1574,9 +1574,10 @@ class Library(BaseSDK): response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return operations.GetAllMediaLibraryResponse( + return operations.GetLibrarySectionsAllResponse( object=utils.unmarshal_json( - http_res.text, Optional[operations.GetAllMediaLibraryResponseBody] + http_res.text, + Optional[operations.GetLibrarySectionsAllResponseBody], ), status_code=http_res.status_code, content_type=http_res.headers.get("Content-Type") or "", @@ -1584,16 +1585,16 @@ class Library(BaseSDK): ) if utils.match_response(http_res, "400", "application/json"): response_data = utils.unmarshal_json( - http_res.text, errors.GetAllMediaLibraryBadRequestData + http_res.text, errors.GetLibrarySectionsAllBadRequestData ) response_data.raw_response = http_res - raise errors.GetAllMediaLibraryBadRequest(data=response_data) + raise errors.GetLibrarySectionsAllBadRequest(data=response_data) if utils.match_response(http_res, "401", "application/json"): response_data = utils.unmarshal_json( - http_res.text, errors.GetAllMediaLibraryUnauthorizedData + http_res.text, errors.GetLibrarySectionsAllUnauthorizedData ) response_data.raw_response = http_res - raise errors.GetAllMediaLibraryUnauthorized(data=response_data) + raise errors.GetLibrarySectionsAllUnauthorized(data=response_data) if utils.match_response(http_res, ["404", "4XX"], "*"): http_res_text = utils.stream_to_text(http_res) raise errors.SDKError( @@ -1614,19 +1615,19 @@ class Library(BaseSDK): http_res, ) - async def get_all_media_library_async( + async def get_library_sections_all_async( self, *, request: Union[ - operations.GetAllMediaLibraryRequest, - operations.GetAllMediaLibraryRequestTypedDict, + operations.GetLibrarySectionsAllRequest, + operations.GetLibrarySectionsAllRequestTypedDict, ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> operations.GetAllMediaLibraryResponse: - r"""Get all media of library + ) -> operations.GetLibrarySectionsAllResponse: + r"""Get Library section media by tag ALL Retrieves a list of all general media data for this library. @@ -1648,8 +1649,8 @@ class Library(BaseSDK): base_url = self._get_url(base_url, url_variables) if not isinstance(request, BaseModel): - request = utils.unmarshal(request, operations.GetAllMediaLibraryRequest) - request = cast(operations.GetAllMediaLibraryRequest, request) + request = utils.unmarshal(request, operations.GetLibrarySectionsAllRequest) + request = cast(operations.GetLibrarySectionsAllRequest, request) req = self._build_request_async( method="GET", @@ -1679,7 +1680,7 @@ class Library(BaseSDK): hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="get-all-media-library", + operation_id="get-library-sections-all", oauth2_scopes=[], security_source=self.sdk_configuration.security, ), @@ -1690,9 +1691,10 @@ class Library(BaseSDK): response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return operations.GetAllMediaLibraryResponse( + return operations.GetLibrarySectionsAllResponse( object=utils.unmarshal_json( - http_res.text, Optional[operations.GetAllMediaLibraryResponseBody] + http_res.text, + Optional[operations.GetLibrarySectionsAllResponseBody], ), status_code=http_res.status_code, content_type=http_res.headers.get("Content-Type") or "", @@ -1700,16 +1702,16 @@ class Library(BaseSDK): ) if utils.match_response(http_res, "400", "application/json"): response_data = utils.unmarshal_json( - http_res.text, errors.GetAllMediaLibraryBadRequestData + http_res.text, errors.GetLibrarySectionsAllBadRequestData ) response_data.raw_response = http_res - raise errors.GetAllMediaLibraryBadRequest(data=response_data) + raise errors.GetLibrarySectionsAllBadRequest(data=response_data) if utils.match_response(http_res, "401", "application/json"): response_data = utils.unmarshal_json( - http_res.text, errors.GetAllMediaLibraryUnauthorizedData + http_res.text, errors.GetLibrarySectionsAllUnauthorizedData ) response_data.raw_response = http_res - raise errors.GetAllMediaLibraryUnauthorized(data=response_data) + raise errors.GetLibrarySectionsAllUnauthorized(data=response_data) if utils.match_response(http_res, ["404", "4XX"], "*"): http_res_text = await utils.stream_to_text_async(http_res) raise errors.SDKError( @@ -3166,7 +3168,8 @@ class Library(BaseSDK): ) -> operations.GetMediaMetaDataResponse: r"""Get Media Metadata - This endpoint will return all the (meta)data of a library item specified with by the ratingKey. + This endpoint will return all the (meta)data of one or more library items specified by the ratingKey. + Multiple rating keys can be provided as a comma-separated list (e.g., \"21119,21617\"). :param request: The request object to send. @@ -3282,7 +3285,8 @@ class Library(BaseSDK): ) -> operations.GetMediaMetaDataResponse: r"""Get Media Metadata - This endpoint will return all the (meta)data of a library item specified with by the ratingKey. + This endpoint will return all the (meta)data of one or more library items specified by the ratingKey. + Multiple rating keys can be provided as a comma-separated list (e.g., \"21119,21617\"). :param request: The request object to send. @@ -4452,7 +4456,9 @@ class Library(BaseSDK): self, *, type_: operations.GetTopWatchedContentQueryParamType, - include_guids: Optional[int] = None, + include_guids: Optional[ + operations.GetTopWatchedContentQueryParamIncludeGuids + ] = operations.GetTopWatchedContentQueryParamIncludeGuids.DISABLE, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -4464,7 +4470,7 @@ class Library(BaseSDK): :param type: The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season 4 = episode E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries - :param include_guids: Adds the Guids object to the response + :param include_guids: Adds the Guid object to the response :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -4481,8 +4487,8 @@ class Library(BaseSDK): base_url = self._get_url(base_url, url_variables) request = operations.GetTopWatchedContentRequest( - include_guids=include_guids, type=type_, + include_guids=include_guids, ) req = self._build_request( @@ -4568,7 +4574,9 @@ class Library(BaseSDK): self, *, type_: operations.GetTopWatchedContentQueryParamType, - include_guids: Optional[int] = None, + include_guids: Optional[ + operations.GetTopWatchedContentQueryParamIncludeGuids + ] = operations.GetTopWatchedContentQueryParamIncludeGuids.DISABLE, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, @@ -4580,7 +4588,7 @@ class Library(BaseSDK): :param type: The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season 4 = episode E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries - :param include_guids: Adds the Guids object to the response + :param include_guids: Adds the Guid object to the response :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -4597,8 +4605,8 @@ class Library(BaseSDK): base_url = self._get_url(base_url, url_variables) request = operations.GetTopWatchedContentRequest( - include_guids=include_guids, type=type_, + include_guids=include_guids, ) req = self._build_request_async( diff --git a/src/plex_api_client/models/errors/__init__.py b/src/plex_api_client/models/errors/__init__.py index 7c9417a..483ed48 100644 --- a/src/plex_api_client/models/errors/__init__.py +++ b/src/plex_api_client/models/errors/__init__.py @@ -114,16 +114,6 @@ if TYPE_CHECKING: GetAllLibrariesUnauthorized, GetAllLibrariesUnauthorizedData, ) - from .get_all_media_library import ( - GetAllMediaLibraryBadRequest, - GetAllMediaLibraryBadRequestData, - GetAllMediaLibraryErrors, - GetAllMediaLibraryErrorsTypedDict, - GetAllMediaLibraryLibraryErrors, - GetAllMediaLibraryLibraryErrorsTypedDict, - GetAllMediaLibraryUnauthorized, - GetAllMediaLibraryUnauthorizedData, - ) from .get_banner_image import ( GetBannerImageBadRequest, GetBannerImageBadRequestData, @@ -174,6 +164,16 @@ if TYPE_CHECKING: GetLibraryItemsUnauthorized, GetLibraryItemsUnauthorizedData, ) + from .get_library_sections_all import ( + GetLibrarySectionsAllBadRequest, + GetLibrarySectionsAllBadRequestData, + GetLibrarySectionsAllErrors, + GetLibrarySectionsAllErrorsTypedDict, + GetLibrarySectionsAllLibraryErrors, + GetLibrarySectionsAllLibraryErrorsTypedDict, + GetLibrarySectionsAllUnauthorized, + GetLibrarySectionsAllUnauthorizedData, + ) from .get_media_meta_data import ( GetMediaMetaDataBadRequest, GetMediaMetaDataBadRequestData, @@ -877,14 +877,6 @@ __all__ = [ "GetAllLibrariesLibraryErrorsTypedDict", "GetAllLibrariesUnauthorized", "GetAllLibrariesUnauthorizedData", - "GetAllMediaLibraryBadRequest", - "GetAllMediaLibraryBadRequestData", - "GetAllMediaLibraryErrors", - "GetAllMediaLibraryErrorsTypedDict", - "GetAllMediaLibraryLibraryErrors", - "GetAllMediaLibraryLibraryErrorsTypedDict", - "GetAllMediaLibraryUnauthorized", - "GetAllMediaLibraryUnauthorizedData", "GetAvailableClientsBadRequest", "GetAvailableClientsBadRequestData", "GetAvailableClientsErrors", @@ -1005,6 +997,14 @@ __all__ = [ "GetLibraryItemsLibraryErrorsTypedDict", "GetLibraryItemsUnauthorized", "GetLibraryItemsUnauthorizedData", + "GetLibrarySectionsAllBadRequest", + "GetLibrarySectionsAllBadRequestData", + "GetLibrarySectionsAllErrors", + "GetLibrarySectionsAllErrorsTypedDict", + "GetLibrarySectionsAllLibraryErrors", + "GetLibrarySectionsAllLibraryErrorsTypedDict", + "GetLibrarySectionsAllUnauthorized", + "GetLibrarySectionsAllUnauthorizedData", "GetMediaMetaDataBadRequest", "GetMediaMetaDataBadRequestData", "GetMediaMetaDataErrors", @@ -1501,14 +1501,6 @@ _dynamic_imports: dict[str, str] = { "GetAllLibrariesLibraryErrorsTypedDict": ".get_all_libraries", "GetAllLibrariesUnauthorized": ".get_all_libraries", "GetAllLibrariesUnauthorizedData": ".get_all_libraries", - "GetAllMediaLibraryBadRequest": ".get_all_media_library", - "GetAllMediaLibraryBadRequestData": ".get_all_media_library", - "GetAllMediaLibraryErrors": ".get_all_media_library", - "GetAllMediaLibraryErrorsTypedDict": ".get_all_media_library", - "GetAllMediaLibraryLibraryErrors": ".get_all_media_library", - "GetAllMediaLibraryLibraryErrorsTypedDict": ".get_all_media_library", - "GetAllMediaLibraryUnauthorized": ".get_all_media_library", - "GetAllMediaLibraryUnauthorizedData": ".get_all_media_library", "GetBannerImageBadRequest": ".get_banner_image", "GetBannerImageBadRequestData": ".get_banner_image", "GetBannerImageErrors": ".get_banner_image", @@ -1549,6 +1541,14 @@ _dynamic_imports: dict[str, str] = { "GetLibraryItemsLibraryErrorsTypedDict": ".get_library_items", "GetLibraryItemsUnauthorized": ".get_library_items", "GetLibraryItemsUnauthorizedData": ".get_library_items", + "GetLibrarySectionsAllBadRequest": ".get_library_sections_all", + "GetLibrarySectionsAllBadRequestData": ".get_library_sections_all", + "GetLibrarySectionsAllErrors": ".get_library_sections_all", + "GetLibrarySectionsAllErrorsTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllLibraryErrors": ".get_library_sections_all", + "GetLibrarySectionsAllLibraryErrorsTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllUnauthorized": ".get_library_sections_all", + "GetLibrarySectionsAllUnauthorizedData": ".get_library_sections_all", "GetMediaMetaDataBadRequest": ".get_media_meta_data", "GetMediaMetaDataBadRequestData": ".get_media_meta_data", "GetMediaMetaDataErrors": ".get_media_meta_data", diff --git a/src/plex_api_client/models/errors/get_all_media_library.py b/src/plex_api_client/models/errors/get_library_sections_all.py similarity index 58% rename from src/plex_api_client/models/errors/get_all_media_library.py rename to src/plex_api_client/models/errors/get_library_sections_all.py index 36fa9b5..6c8e4bf 100644 --- a/src/plex_api_client/models/errors/get_all_media_library.py +++ b/src/plex_api_client/models/errors/get_library_sections_all.py @@ -9,13 +9,13 @@ from typing import List, Optional from typing_extensions import Annotated, NotRequired, TypedDict -class GetAllMediaLibraryLibraryErrorsTypedDict(TypedDict): +class GetLibrarySectionsAllLibraryErrorsTypedDict(TypedDict): code: NotRequired[int] message: NotRequired[str] status: NotRequired[int] -class GetAllMediaLibraryLibraryErrors(BaseModel): +class GetLibrarySectionsAllLibraryErrors(BaseModel): code: Optional[int] = None message: Optional[str] = None @@ -23,8 +23,8 @@ class GetAllMediaLibraryLibraryErrors(BaseModel): status: Optional[int] = None -class GetAllMediaLibraryUnauthorizedData(BaseModel): - errors: Optional[List[GetAllMediaLibraryLibraryErrors]] = None +class GetLibrarySectionsAllUnauthorizedData(BaseModel): + errors: Optional[List[GetLibrarySectionsAllLibraryErrors]] = None raw_response: Annotated[Optional[httpx.Response], pydantic.Field(exclude=True)] = ( None @@ -32,25 +32,25 @@ class GetAllMediaLibraryUnauthorizedData(BaseModel): r"""Raw HTTP response; suitable for custom response parsing""" -class GetAllMediaLibraryUnauthorized(Exception): +class GetLibrarySectionsAllUnauthorized(Exception): r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query.""" - data: GetAllMediaLibraryUnauthorizedData + data: GetLibrarySectionsAllUnauthorizedData - def __init__(self, data: GetAllMediaLibraryUnauthorizedData): + def __init__(self, data: GetLibrarySectionsAllUnauthorizedData): self.data = data def __str__(self) -> str: - return utils.marshal_json(self.data, GetAllMediaLibraryUnauthorizedData) + return utils.marshal_json(self.data, GetLibrarySectionsAllUnauthorizedData) -class GetAllMediaLibraryErrorsTypedDict(TypedDict): +class GetLibrarySectionsAllErrorsTypedDict(TypedDict): code: NotRequired[int] message: NotRequired[str] status: NotRequired[int] -class GetAllMediaLibraryErrors(BaseModel): +class GetLibrarySectionsAllErrors(BaseModel): code: Optional[int] = None message: Optional[str] = None @@ -58,8 +58,8 @@ class GetAllMediaLibraryErrors(BaseModel): status: Optional[int] = None -class GetAllMediaLibraryBadRequestData(BaseModel): - errors: Optional[List[GetAllMediaLibraryErrors]] = None +class GetLibrarySectionsAllBadRequestData(BaseModel): + errors: Optional[List[GetLibrarySectionsAllErrors]] = None raw_response: Annotated[Optional[httpx.Response], pydantic.Field(exclude=True)] = ( None @@ -67,13 +67,13 @@ class GetAllMediaLibraryBadRequestData(BaseModel): r"""Raw HTTP response; suitable for custom response parsing""" -class GetAllMediaLibraryBadRequest(Exception): +class GetLibrarySectionsAllBadRequest(Exception): r"""Bad Request - A parameter was not specified, or was specified incorrectly.""" - data: GetAllMediaLibraryBadRequestData + data: GetLibrarySectionsAllBadRequestData - def __init__(self, data: GetAllMediaLibraryBadRequestData): + def __init__(self, data: GetLibrarySectionsAllBadRequestData): self.data = data def __str__(self) -> str: - return utils.marshal_json(self.data, GetAllMediaLibraryBadRequestData) + return utils.marshal_json(self.data, GetLibrarySectionsAllBadRequestData) diff --git a/src/plex_api_client/models/operations/__init__.py b/src/plex_api_client/models/operations/__init__.py index 986841b..2379d09 100644 --- a/src/plex_api_client/models/operations/__init__.py +++ b/src/plex_api_client/models/operations/__init__.py @@ -100,74 +100,6 @@ if TYPE_CHECKING: GetAllLibrariesType, Hidden, ) - from .get_all_media_library import ( - GetAllMediaLibraryActiveDirection, - GetAllMediaLibraryCollection, - GetAllMediaLibraryCollectionTypedDict, - GetAllMediaLibraryCountry, - GetAllMediaLibraryCountryTypedDict, - GetAllMediaLibraryDefaultDirection, - GetAllMediaLibraryDirector, - GetAllMediaLibraryDirectorTypedDict, - GetAllMediaLibraryField, - GetAllMediaLibraryFieldType, - GetAllMediaLibraryFieldTypeTypedDict, - GetAllMediaLibraryFieldTypedDict, - GetAllMediaLibraryFilter, - GetAllMediaLibraryFilterTypedDict, - GetAllMediaLibraryGenre, - GetAllMediaLibraryGenreTypedDict, - GetAllMediaLibraryGuids, - GetAllMediaLibraryGuidsTypedDict, - GetAllMediaLibraryHasThumbnail, - GetAllMediaLibraryImage, - GetAllMediaLibraryImageTypedDict, - GetAllMediaLibraryLibraryOptimizedForStreaming, - GetAllMediaLibraryLibraryOptimizedForStreamingTypedDict, - GetAllMediaLibraryLibraryResponseType, - GetAllMediaLibraryLibraryType, - GetAllMediaLibraryMedia, - GetAllMediaLibraryMediaContainer, - GetAllMediaLibraryMediaContainerTypedDict, - GetAllMediaLibraryMediaTypedDict, - GetAllMediaLibraryMeta, - GetAllMediaLibraryMetaTypedDict, - GetAllMediaLibraryMetadata, - GetAllMediaLibraryMetadataTypedDict, - GetAllMediaLibraryOperator, - GetAllMediaLibraryOperatorTypedDict, - GetAllMediaLibraryOptimizedForStreaming, - GetAllMediaLibraryOptimizedForStreaming1, - GetAllMediaLibraryOptimizedForStreamingTypedDict, - GetAllMediaLibraryPart, - GetAllMediaLibraryPartTypedDict, - GetAllMediaLibraryQueryParamIncludeMeta, - GetAllMediaLibraryQueryParamType, - GetAllMediaLibraryRequest, - GetAllMediaLibraryRequestTypedDict, - GetAllMediaLibraryResponse, - GetAllMediaLibraryResponseBody, - GetAllMediaLibraryResponseBodyTypedDict, - GetAllMediaLibraryResponseTypedDict, - GetAllMediaLibraryRole, - GetAllMediaLibraryRoleTypedDict, - GetAllMediaLibrarySort, - GetAllMediaLibrarySortTypedDict, - GetAllMediaLibraryStream, - GetAllMediaLibraryStreamType, - GetAllMediaLibraryStreamTypedDict, - GetAllMediaLibraryType, - GetAllMediaLibraryTypeTypedDict, - GetAllMediaLibraryUltraBlurColors, - GetAllMediaLibraryUltraBlurColorsTypedDict, - GetAllMediaLibraryWriter, - GetAllMediaLibraryWriterTypedDict, - IncludeAdvanced, - OptimizedForStreaming1, - QueryParamIncludeCollections, - QueryParamIncludeExternalMedia, - QueryParamIncludeGuids, - ) from .get_banner_image import ( GetBannerImageRequest, GetBannerImageRequestTypedDict, @@ -307,6 +239,74 @@ if TYPE_CHECKING: ShowOrdering, Tag, ) + from .get_library_sections_all import ( + GetLibrarySectionsAllActiveDirection, + GetLibrarySectionsAllCollection, + GetLibrarySectionsAllCollectionTypedDict, + GetLibrarySectionsAllCountry, + GetLibrarySectionsAllCountryTypedDict, + GetLibrarySectionsAllDefaultDirection, + GetLibrarySectionsAllDirector, + GetLibrarySectionsAllDirectorTypedDict, + GetLibrarySectionsAllField, + GetLibrarySectionsAllFieldType, + GetLibrarySectionsAllFieldTypeTypedDict, + GetLibrarySectionsAllFieldTypedDict, + GetLibrarySectionsAllFilter, + GetLibrarySectionsAllFilterTypedDict, + GetLibrarySectionsAllGenre, + GetLibrarySectionsAllGenreTypedDict, + GetLibrarySectionsAllGuids, + GetLibrarySectionsAllGuidsTypedDict, + GetLibrarySectionsAllHasThumbnail, + GetLibrarySectionsAllImage, + GetLibrarySectionsAllImageTypedDict, + GetLibrarySectionsAllLibraryOptimizedForStreaming, + GetLibrarySectionsAllLibraryOptimizedForStreamingTypedDict, + GetLibrarySectionsAllLibraryResponseType, + GetLibrarySectionsAllLibraryType, + GetLibrarySectionsAllMedia, + GetLibrarySectionsAllMediaContainer, + GetLibrarySectionsAllMediaContainerTypedDict, + GetLibrarySectionsAllMediaTypedDict, + GetLibrarySectionsAllMeta, + GetLibrarySectionsAllMetaTypedDict, + GetLibrarySectionsAllMetadata, + GetLibrarySectionsAllMetadataTypedDict, + GetLibrarySectionsAllOperator, + GetLibrarySectionsAllOperatorTypedDict, + GetLibrarySectionsAllOptimizedForStreaming, + GetLibrarySectionsAllOptimizedForStreaming1, + GetLibrarySectionsAllOptimizedForStreamingTypedDict, + GetLibrarySectionsAllPart, + GetLibrarySectionsAllPartTypedDict, + GetLibrarySectionsAllQueryParamIncludeMeta, + GetLibrarySectionsAllQueryParamType, + GetLibrarySectionsAllRequest, + GetLibrarySectionsAllRequestTypedDict, + GetLibrarySectionsAllResponse, + GetLibrarySectionsAllResponseBody, + GetLibrarySectionsAllResponseBodyTypedDict, + GetLibrarySectionsAllResponseTypedDict, + GetLibrarySectionsAllRole, + GetLibrarySectionsAllRoleTypedDict, + GetLibrarySectionsAllSort, + GetLibrarySectionsAllSortTypedDict, + GetLibrarySectionsAllStream, + GetLibrarySectionsAllStreamType, + GetLibrarySectionsAllStreamTypedDict, + GetLibrarySectionsAllType, + GetLibrarySectionsAllTypeTypedDict, + GetLibrarySectionsAllUltraBlurColors, + GetLibrarySectionsAllUltraBlurColorsTypedDict, + GetLibrarySectionsAllWriter, + GetLibrarySectionsAllWriterTypedDict, + IncludeAdvanced, + OptimizedForStreaming1, + QueryParamIncludeCollections, + QueryParamIncludeExternalMedia, + QueryParamIncludeGuids, + ) from .get_media_arts import ( GetMediaArtsMediaContainer, GetMediaArtsMediaContainerTypedDict, @@ -1073,6 +1073,7 @@ if TYPE_CHECKING: GetTopWatchedContentMediaContainerTypedDict, GetTopWatchedContentMetadata, GetTopWatchedContentMetadataTypedDict, + GetTopWatchedContentQueryParamIncludeGuids, GetTopWatchedContentQueryParamType, GetTopWatchedContentRequest, GetTopWatchedContentRequestTypedDict, @@ -1394,67 +1395,6 @@ __all__ = [ "GetAllLibrariesResponseBodyTypedDict", "GetAllLibrariesResponseTypedDict", "GetAllLibrariesType", - "GetAllMediaLibraryActiveDirection", - "GetAllMediaLibraryCollection", - "GetAllMediaLibraryCollectionTypedDict", - "GetAllMediaLibraryCountry", - "GetAllMediaLibraryCountryTypedDict", - "GetAllMediaLibraryDefaultDirection", - "GetAllMediaLibraryDirector", - "GetAllMediaLibraryDirectorTypedDict", - "GetAllMediaLibraryField", - "GetAllMediaLibraryFieldType", - "GetAllMediaLibraryFieldTypeTypedDict", - "GetAllMediaLibraryFieldTypedDict", - "GetAllMediaLibraryFilter", - "GetAllMediaLibraryFilterTypedDict", - "GetAllMediaLibraryGenre", - "GetAllMediaLibraryGenreTypedDict", - "GetAllMediaLibraryGuids", - "GetAllMediaLibraryGuidsTypedDict", - "GetAllMediaLibraryHasThumbnail", - "GetAllMediaLibraryImage", - "GetAllMediaLibraryImageTypedDict", - "GetAllMediaLibraryLibraryOptimizedForStreaming", - "GetAllMediaLibraryLibraryOptimizedForStreamingTypedDict", - "GetAllMediaLibraryLibraryResponseType", - "GetAllMediaLibraryLibraryType", - "GetAllMediaLibraryMedia", - "GetAllMediaLibraryMediaContainer", - "GetAllMediaLibraryMediaContainerTypedDict", - "GetAllMediaLibraryMediaTypedDict", - "GetAllMediaLibraryMeta", - "GetAllMediaLibraryMetaTypedDict", - "GetAllMediaLibraryMetadata", - "GetAllMediaLibraryMetadataTypedDict", - "GetAllMediaLibraryOperator", - "GetAllMediaLibraryOperatorTypedDict", - "GetAllMediaLibraryOptimizedForStreaming", - "GetAllMediaLibraryOptimizedForStreaming1", - "GetAllMediaLibraryOptimizedForStreamingTypedDict", - "GetAllMediaLibraryPart", - "GetAllMediaLibraryPartTypedDict", - "GetAllMediaLibraryQueryParamIncludeMeta", - "GetAllMediaLibraryQueryParamType", - "GetAllMediaLibraryRequest", - "GetAllMediaLibraryRequestTypedDict", - "GetAllMediaLibraryResponse", - "GetAllMediaLibraryResponseBody", - "GetAllMediaLibraryResponseBodyTypedDict", - "GetAllMediaLibraryResponseTypedDict", - "GetAllMediaLibraryRole", - "GetAllMediaLibraryRoleTypedDict", - "GetAllMediaLibrarySort", - "GetAllMediaLibrarySortTypedDict", - "GetAllMediaLibraryStream", - "GetAllMediaLibraryStreamType", - "GetAllMediaLibraryStreamTypedDict", - "GetAllMediaLibraryType", - "GetAllMediaLibraryTypeTypedDict", - "GetAllMediaLibraryUltraBlurColors", - "GetAllMediaLibraryUltraBlurColorsTypedDict", - "GetAllMediaLibraryWriter", - "GetAllMediaLibraryWriterTypedDict", "GetAvailableClientsMediaContainer", "GetAvailableClientsMediaContainerTypedDict", "GetAvailableClientsResponse", @@ -1651,6 +1591,67 @@ __all__ = [ "GetLibraryItemsUltraBlurColorsTypedDict", "GetLibraryItemsWriter", "GetLibraryItemsWriterTypedDict", + "GetLibrarySectionsAllActiveDirection", + "GetLibrarySectionsAllCollection", + "GetLibrarySectionsAllCollectionTypedDict", + "GetLibrarySectionsAllCountry", + "GetLibrarySectionsAllCountryTypedDict", + "GetLibrarySectionsAllDefaultDirection", + "GetLibrarySectionsAllDirector", + "GetLibrarySectionsAllDirectorTypedDict", + "GetLibrarySectionsAllField", + "GetLibrarySectionsAllFieldType", + "GetLibrarySectionsAllFieldTypeTypedDict", + "GetLibrarySectionsAllFieldTypedDict", + "GetLibrarySectionsAllFilter", + "GetLibrarySectionsAllFilterTypedDict", + "GetLibrarySectionsAllGenre", + "GetLibrarySectionsAllGenreTypedDict", + "GetLibrarySectionsAllGuids", + "GetLibrarySectionsAllGuidsTypedDict", + "GetLibrarySectionsAllHasThumbnail", + "GetLibrarySectionsAllImage", + "GetLibrarySectionsAllImageTypedDict", + "GetLibrarySectionsAllLibraryOptimizedForStreaming", + "GetLibrarySectionsAllLibraryOptimizedForStreamingTypedDict", + "GetLibrarySectionsAllLibraryResponseType", + "GetLibrarySectionsAllLibraryType", + "GetLibrarySectionsAllMedia", + "GetLibrarySectionsAllMediaContainer", + "GetLibrarySectionsAllMediaContainerTypedDict", + "GetLibrarySectionsAllMediaTypedDict", + "GetLibrarySectionsAllMeta", + "GetLibrarySectionsAllMetaTypedDict", + "GetLibrarySectionsAllMetadata", + "GetLibrarySectionsAllMetadataTypedDict", + "GetLibrarySectionsAllOperator", + "GetLibrarySectionsAllOperatorTypedDict", + "GetLibrarySectionsAllOptimizedForStreaming", + "GetLibrarySectionsAllOptimizedForStreaming1", + "GetLibrarySectionsAllOptimizedForStreamingTypedDict", + "GetLibrarySectionsAllPart", + "GetLibrarySectionsAllPartTypedDict", + "GetLibrarySectionsAllQueryParamIncludeMeta", + "GetLibrarySectionsAllQueryParamType", + "GetLibrarySectionsAllRequest", + "GetLibrarySectionsAllRequestTypedDict", + "GetLibrarySectionsAllResponse", + "GetLibrarySectionsAllResponseBody", + "GetLibrarySectionsAllResponseBodyTypedDict", + "GetLibrarySectionsAllResponseTypedDict", + "GetLibrarySectionsAllRole", + "GetLibrarySectionsAllRoleTypedDict", + "GetLibrarySectionsAllSort", + "GetLibrarySectionsAllSortTypedDict", + "GetLibrarySectionsAllStream", + "GetLibrarySectionsAllStreamType", + "GetLibrarySectionsAllStreamTypedDict", + "GetLibrarySectionsAllType", + "GetLibrarySectionsAllTypeTypedDict", + "GetLibrarySectionsAllUltraBlurColors", + "GetLibrarySectionsAllUltraBlurColorsTypedDict", + "GetLibrarySectionsAllWriter", + "GetLibrarySectionsAllWriterTypedDict", "GetMediaArtsMediaContainer", "GetMediaArtsMediaContainerTypedDict", "GetMediaArtsMetadata", @@ -2063,6 +2064,7 @@ __all__ = [ "GetTopWatchedContentMediaContainerTypedDict", "GetTopWatchedContentMetadata", "GetTopWatchedContentMetadataTypedDict", + "GetTopWatchedContentQueryParamIncludeGuids", "GetTopWatchedContentQueryParamType", "GetTopWatchedContentRequest", "GetTopWatchedContentRequestTypedDict", @@ -2422,72 +2424,6 @@ _dynamic_imports: dict[str, str] = { "GetAllLibrariesResponseTypedDict": ".get_all_libraries", "GetAllLibrariesType": ".get_all_libraries", "Hidden": ".get_all_libraries", - "GetAllMediaLibraryActiveDirection": ".get_all_media_library", - "GetAllMediaLibraryCollection": ".get_all_media_library", - "GetAllMediaLibraryCollectionTypedDict": ".get_all_media_library", - "GetAllMediaLibraryCountry": ".get_all_media_library", - "GetAllMediaLibraryCountryTypedDict": ".get_all_media_library", - "GetAllMediaLibraryDefaultDirection": ".get_all_media_library", - "GetAllMediaLibraryDirector": ".get_all_media_library", - "GetAllMediaLibraryDirectorTypedDict": ".get_all_media_library", - "GetAllMediaLibraryField": ".get_all_media_library", - "GetAllMediaLibraryFieldType": ".get_all_media_library", - "GetAllMediaLibraryFieldTypeTypedDict": ".get_all_media_library", - "GetAllMediaLibraryFieldTypedDict": ".get_all_media_library", - "GetAllMediaLibraryFilter": ".get_all_media_library", - "GetAllMediaLibraryFilterTypedDict": ".get_all_media_library", - "GetAllMediaLibraryGenre": ".get_all_media_library", - "GetAllMediaLibraryGenreTypedDict": ".get_all_media_library", - "GetAllMediaLibraryGuids": ".get_all_media_library", - "GetAllMediaLibraryGuidsTypedDict": ".get_all_media_library", - "GetAllMediaLibraryHasThumbnail": ".get_all_media_library", - "GetAllMediaLibraryImage": ".get_all_media_library", - "GetAllMediaLibraryImageTypedDict": ".get_all_media_library", - "GetAllMediaLibraryLibraryOptimizedForStreaming": ".get_all_media_library", - "GetAllMediaLibraryLibraryOptimizedForStreamingTypedDict": ".get_all_media_library", - "GetAllMediaLibraryLibraryResponseType": ".get_all_media_library", - "GetAllMediaLibraryLibraryType": ".get_all_media_library", - "GetAllMediaLibraryMedia": ".get_all_media_library", - "GetAllMediaLibraryMediaContainer": ".get_all_media_library", - "GetAllMediaLibraryMediaContainerTypedDict": ".get_all_media_library", - "GetAllMediaLibraryMediaTypedDict": ".get_all_media_library", - "GetAllMediaLibraryMeta": ".get_all_media_library", - "GetAllMediaLibraryMetaTypedDict": ".get_all_media_library", - "GetAllMediaLibraryMetadata": ".get_all_media_library", - "GetAllMediaLibraryMetadataTypedDict": ".get_all_media_library", - "GetAllMediaLibraryOperator": ".get_all_media_library", - "GetAllMediaLibraryOperatorTypedDict": ".get_all_media_library", - "GetAllMediaLibraryOptimizedForStreaming": ".get_all_media_library", - "GetAllMediaLibraryOptimizedForStreaming1": ".get_all_media_library", - "GetAllMediaLibraryOptimizedForStreamingTypedDict": ".get_all_media_library", - "GetAllMediaLibraryPart": ".get_all_media_library", - "GetAllMediaLibraryPartTypedDict": ".get_all_media_library", - "GetAllMediaLibraryQueryParamIncludeMeta": ".get_all_media_library", - "GetAllMediaLibraryQueryParamType": ".get_all_media_library", - "GetAllMediaLibraryRequest": ".get_all_media_library", - "GetAllMediaLibraryRequestTypedDict": ".get_all_media_library", - "GetAllMediaLibraryResponse": ".get_all_media_library", - "GetAllMediaLibraryResponseBody": ".get_all_media_library", - "GetAllMediaLibraryResponseBodyTypedDict": ".get_all_media_library", - "GetAllMediaLibraryResponseTypedDict": ".get_all_media_library", - "GetAllMediaLibraryRole": ".get_all_media_library", - "GetAllMediaLibraryRoleTypedDict": ".get_all_media_library", - "GetAllMediaLibrarySort": ".get_all_media_library", - "GetAllMediaLibrarySortTypedDict": ".get_all_media_library", - "GetAllMediaLibraryStream": ".get_all_media_library", - "GetAllMediaLibraryStreamType": ".get_all_media_library", - "GetAllMediaLibraryStreamTypedDict": ".get_all_media_library", - "GetAllMediaLibraryType": ".get_all_media_library", - "GetAllMediaLibraryTypeTypedDict": ".get_all_media_library", - "GetAllMediaLibraryUltraBlurColors": ".get_all_media_library", - "GetAllMediaLibraryUltraBlurColorsTypedDict": ".get_all_media_library", - "GetAllMediaLibraryWriter": ".get_all_media_library", - "GetAllMediaLibraryWriterTypedDict": ".get_all_media_library", - "IncludeAdvanced": ".get_all_media_library", - "OptimizedForStreaming1": ".get_all_media_library", - "QueryParamIncludeCollections": ".get_all_media_library", - "QueryParamIncludeExternalMedia": ".get_all_media_library", - "QueryParamIncludeGuids": ".get_all_media_library", "GetBannerImageRequest": ".get_banner_image", "GetBannerImageRequestTypedDict": ".get_banner_image", "GetBannerImageResponse": ".get_banner_image", @@ -2617,6 +2553,72 @@ _dynamic_imports: dict[str, str] = { "MetaDataRatingTypedDict": ".get_library_items", "ShowOrdering": ".get_library_items", "Tag": ".get_library_items", + "GetLibrarySectionsAllActiveDirection": ".get_library_sections_all", + "GetLibrarySectionsAllCollection": ".get_library_sections_all", + "GetLibrarySectionsAllCollectionTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllCountry": ".get_library_sections_all", + "GetLibrarySectionsAllCountryTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllDefaultDirection": ".get_library_sections_all", + "GetLibrarySectionsAllDirector": ".get_library_sections_all", + "GetLibrarySectionsAllDirectorTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllField": ".get_library_sections_all", + "GetLibrarySectionsAllFieldType": ".get_library_sections_all", + "GetLibrarySectionsAllFieldTypeTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllFieldTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllFilter": ".get_library_sections_all", + "GetLibrarySectionsAllFilterTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllGenre": ".get_library_sections_all", + "GetLibrarySectionsAllGenreTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllGuids": ".get_library_sections_all", + "GetLibrarySectionsAllGuidsTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllHasThumbnail": ".get_library_sections_all", + "GetLibrarySectionsAllImage": ".get_library_sections_all", + "GetLibrarySectionsAllImageTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllLibraryOptimizedForStreaming": ".get_library_sections_all", + "GetLibrarySectionsAllLibraryOptimizedForStreamingTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllLibraryResponseType": ".get_library_sections_all", + "GetLibrarySectionsAllLibraryType": ".get_library_sections_all", + "GetLibrarySectionsAllMedia": ".get_library_sections_all", + "GetLibrarySectionsAllMediaContainer": ".get_library_sections_all", + "GetLibrarySectionsAllMediaContainerTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllMediaTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllMeta": ".get_library_sections_all", + "GetLibrarySectionsAllMetaTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllMetadata": ".get_library_sections_all", + "GetLibrarySectionsAllMetadataTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllOperator": ".get_library_sections_all", + "GetLibrarySectionsAllOperatorTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllOptimizedForStreaming": ".get_library_sections_all", + "GetLibrarySectionsAllOptimizedForStreaming1": ".get_library_sections_all", + "GetLibrarySectionsAllOptimizedForStreamingTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllPart": ".get_library_sections_all", + "GetLibrarySectionsAllPartTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllQueryParamIncludeMeta": ".get_library_sections_all", + "GetLibrarySectionsAllQueryParamType": ".get_library_sections_all", + "GetLibrarySectionsAllRequest": ".get_library_sections_all", + "GetLibrarySectionsAllRequestTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllResponse": ".get_library_sections_all", + "GetLibrarySectionsAllResponseBody": ".get_library_sections_all", + "GetLibrarySectionsAllResponseBodyTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllResponseTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllRole": ".get_library_sections_all", + "GetLibrarySectionsAllRoleTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllSort": ".get_library_sections_all", + "GetLibrarySectionsAllSortTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllStream": ".get_library_sections_all", + "GetLibrarySectionsAllStreamType": ".get_library_sections_all", + "GetLibrarySectionsAllStreamTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllType": ".get_library_sections_all", + "GetLibrarySectionsAllTypeTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllUltraBlurColors": ".get_library_sections_all", + "GetLibrarySectionsAllUltraBlurColorsTypedDict": ".get_library_sections_all", + "GetLibrarySectionsAllWriter": ".get_library_sections_all", + "GetLibrarySectionsAllWriterTypedDict": ".get_library_sections_all", + "IncludeAdvanced": ".get_library_sections_all", + "OptimizedForStreaming1": ".get_library_sections_all", + "QueryParamIncludeCollections": ".get_library_sections_all", + "QueryParamIncludeExternalMedia": ".get_library_sections_all", + "QueryParamIncludeGuids": ".get_library_sections_all", "GetMediaArtsMediaContainer": ".get_media_arts", "GetMediaArtsMediaContainerTypedDict": ".get_media_arts", "GetMediaArtsMetadata": ".get_media_arts", @@ -3294,6 +3296,7 @@ _dynamic_imports: dict[str, str] = { "GetTopWatchedContentMediaContainerTypedDict": ".gettopwatchedcontent", "GetTopWatchedContentMetadata": ".gettopwatchedcontent", "GetTopWatchedContentMetadataTypedDict": ".gettopwatchedcontent", + "GetTopWatchedContentQueryParamIncludeGuids": ".gettopwatchedcontent", "GetTopWatchedContentQueryParamType": ".gettopwatchedcontent", "GetTopWatchedContentRequest": ".gettopwatchedcontent", "GetTopWatchedContentRequestTypedDict": ".gettopwatchedcontent", diff --git a/src/plex_api_client/models/operations/get_actors_library.py b/src/plex_api_client/models/operations/get_actors_library.py index a963636..4442683 100644 --- a/src/plex_api_client/models/operations/get_actors_library.py +++ b/src/plex_api_client/models/operations/get_actors_library.py @@ -31,9 +31,11 @@ class GetActorsLibraryQueryParamType(int, Enum, metaclass=utils.OpenEnumMeta): TV_SHOW = 2 SEASON = 3 EPISODE = 4 - AUDIO = 8 - ALBUM = 9 - TRACK = 10 + ARTIST = 5 + ALBUM = 6 + TRACK = 7 + PHOTO_ALBUM = 8 + PHOTO = 9 class GetActorsLibraryRequestTypedDict(TypedDict): diff --git a/src/plex_api_client/models/operations/get_all_libraries.py b/src/plex_api_client/models/operations/get_all_libraries.py index 6e7ca26..878814b 100644 --- a/src/plex_api_client/models/operations/get_all_libraries.py +++ b/src/plex_api_client/models/operations/get_all_libraries.py @@ -21,6 +21,10 @@ class GetAllLibrariesType(str, Enum, metaclass=utils.OpenEnumMeta): EPISODE = "episode" ARTIST = "artist" ALBUM = "album" + TRACK = "track" + PHOTO_ALBUM = "photoalbum" + PHOTO = "photo" + COLLECTION = "collection" class Hidden(int, Enum): diff --git a/src/plex_api_client/models/operations/get_countries_library.py b/src/plex_api_client/models/operations/get_countries_library.py index 9e8f13d..f2a06a9 100644 --- a/src/plex_api_client/models/operations/get_countries_library.py +++ b/src/plex_api_client/models/operations/get_countries_library.py @@ -31,9 +31,11 @@ class GetCountriesLibraryQueryParamType(int, Enum, metaclass=utils.OpenEnumMeta) TV_SHOW = 2 SEASON = 3 EPISODE = 4 - AUDIO = 8 - ALBUM = 9 - TRACK = 10 + ARTIST = 5 + ALBUM = 6 + TRACK = 7 + PHOTO_ALBUM = 8 + PHOTO = 9 class GetCountriesLibraryRequestTypedDict(TypedDict): diff --git a/src/plex_api_client/models/operations/get_genres_library.py b/src/plex_api_client/models/operations/get_genres_library.py index 0bd2c13..ef0755f 100644 --- a/src/plex_api_client/models/operations/get_genres_library.py +++ b/src/plex_api_client/models/operations/get_genres_library.py @@ -31,9 +31,11 @@ class GetGenresLibraryQueryParamType(int, Enum, metaclass=utils.OpenEnumMeta): TV_SHOW = 2 SEASON = 3 EPISODE = 4 - AUDIO = 8 - ALBUM = 9 - TRACK = 10 + ARTIST = 5 + ALBUM = 6 + TRACK = 7 + PHOTO_ALBUM = 8 + PHOTO = 9 class GetGenresLibraryRequestTypedDict(TypedDict): diff --git a/src/plex_api_client/models/operations/get_library_items.py b/src/plex_api_client/models/operations/get_library_items.py index 9478bbc..7aa0d1a 100644 --- a/src/plex_api_client/models/operations/get_library_items.py +++ b/src/plex_api_client/models/operations/get_library_items.py @@ -60,9 +60,11 @@ class GetLibraryItemsQueryParamType(int, Enum, metaclass=utils.OpenEnumMeta): TV_SHOW = 2 SEASON = 3 EPISODE = 4 - AUDIO = 8 - ALBUM = 9 - TRACK = 10 + ARTIST = 5 + ALBUM = 6 + TRACK = 7 + PHOTO_ALBUM = 8 + PHOTO = 9 class GetLibraryItemsQueryParamIncludeMeta(int, Enum): @@ -345,7 +347,7 @@ class GetLibraryItemsFieldType(BaseModel): class GetLibraryItemsLibraryType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The type of media content""" + r"""The type of media content in the Plex library. This can represent videos, music, or photos.""" MOVIE = "movie" TV_SHOW = "show" @@ -353,6 +355,10 @@ class GetLibraryItemsLibraryType(str, Enum, metaclass=utils.OpenEnumMeta): EPISODE = "episode" ARTIST = "artist" ALBUM = "album" + TRACK = "track" + PHOTO_ALBUM = "photoalbum" + PHOTO = "photo" + COLLECTION = "collection" class FlattenSeasons(str, Enum, metaclass=utils.OpenEnumMeta): @@ -910,7 +916,7 @@ class GetLibraryItemsMetadataTypedDict(TypedDict): key: str guid: str type: GetLibraryItemsLibraryType - r"""The type of media content + r"""The type of media content in the Plex library. This can represent videos, music, or photos. """ title: str @@ -1023,7 +1029,7 @@ class GetLibraryItemsMetadata(BaseModel): type: Annotated[ GetLibraryItemsLibraryType, PlainValidator(validate_open_enum(False)) ] - r"""The type of media content + r"""The type of media content in the Plex library. This can represent videos, music, or photos. """ diff --git a/src/plex_api_client/models/operations/get_all_media_library.py b/src/plex_api_client/models/operations/get_library_sections_all.py similarity index 82% rename from src/plex_api_client/models/operations/get_all_media_library.py rename to src/plex_api_client/models/operations/get_library_sections_all.py index 8d75c43..3469667 100644 --- a/src/plex_api_client/models/operations/get_all_media_library.py +++ b/src/plex_api_client/models/operations/get_library_sections_all.py @@ -18,7 +18,7 @@ from typing import List, Optional, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict -class GetAllMediaLibraryQueryParamType(int, Enum, metaclass=utils.OpenEnumMeta): +class GetLibrarySectionsAllQueryParamType(int, Enum, metaclass=utils.OpenEnumMeta): r"""The type of media to retrieve or filter by. 1 = movie 2 = show @@ -32,12 +32,14 @@ class GetAllMediaLibraryQueryParamType(int, Enum, metaclass=utils.OpenEnumMeta): TV_SHOW = 2 SEASON = 3 EPISODE = 4 - AUDIO = 8 - ALBUM = 9 - TRACK = 10 + ARTIST = 5 + ALBUM = 6 + TRACK = 7 + PHOTO_ALBUM = 8 + PHOTO = 9 -class GetAllMediaLibraryQueryParamIncludeMeta(int, Enum): +class GetLibrarySectionsAllQueryParamIncludeMeta(int, Enum): r"""Adds the Meta object to the response""" DISABLE = 0 @@ -66,13 +68,13 @@ class QueryParamIncludeExternalMedia(int, Enum): ENABLE = 1 -class GetAllMediaLibraryRequestTypedDict(TypedDict): +class GetLibrarySectionsAllRequestTypedDict(TypedDict): section_key: int r"""The unique key of the Plex library. Note: This is unique in the context of the Plex server. """ - type: GetAllMediaLibraryQueryParamType + type: GetLibrarySectionsAllQueryParamType r"""The type of media to retrieve or filter by. 1 = movie 2 = show @@ -81,7 +83,7 @@ class GetAllMediaLibraryRequestTypedDict(TypedDict): E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries """ - include_meta: NotRequired[GetAllMediaLibraryQueryParamIncludeMeta] + include_meta: NotRequired[GetLibrarySectionsAllQueryParamIncludeMeta] r"""Adds the Meta object to the response """ @@ -106,7 +108,7 @@ class GetAllMediaLibraryRequestTypedDict(TypedDict): """ -class GetAllMediaLibraryRequest(BaseModel): +class GetLibrarySectionsAllRequest(BaseModel): section_key: Annotated[ int, pydantic.Field(alias="sectionKey"), @@ -119,7 +121,8 @@ class GetAllMediaLibraryRequest(BaseModel): type: Annotated[ Annotated[ - GetAllMediaLibraryQueryParamType, PlainValidator(validate_open_enum(True)) + GetLibrarySectionsAllQueryParamType, + PlainValidator(validate_open_enum(True)), ], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] @@ -133,10 +136,10 @@ class GetAllMediaLibraryRequest(BaseModel): """ include_meta: Annotated[ - Optional[GetAllMediaLibraryQueryParamIncludeMeta], + Optional[GetLibrarySectionsAllQueryParamIncludeMeta], pydantic.Field(alias="includeMeta"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = GetAllMediaLibraryQueryParamIncludeMeta.DISABLE + ] = GetLibrarySectionsAllQueryParamIncludeMeta.DISABLE r"""Adds the Meta object to the response """ @@ -191,7 +194,7 @@ class GetAllMediaLibraryRequest(BaseModel): """ -class GetAllMediaLibraryFilterTypedDict(TypedDict): +class GetLibrarySectionsAllFilterTypedDict(TypedDict): filter_: str filter_type: str key: str @@ -200,7 +203,7 @@ class GetAllMediaLibraryFilterTypedDict(TypedDict): advanced: NotRequired[bool] -class GetAllMediaLibraryFilter(BaseModel): +class GetLibrarySectionsAllFilter(BaseModel): filter_: Annotated[str, pydantic.Field(alias="filter")] filter_type: Annotated[str, pydantic.Field(alias="filterType")] @@ -214,30 +217,30 @@ class GetAllMediaLibraryFilter(BaseModel): advanced: Optional[bool] = None -class GetAllMediaLibraryActiveDirection(str, Enum): +class GetLibrarySectionsAllActiveDirection(str, Enum): r"""The direction of the sort. Can be either `asc` or `desc`.""" ASCENDING = "asc" DESCENDING = "desc" -class GetAllMediaLibraryDefaultDirection(str, Enum): +class GetLibrarySectionsAllDefaultDirection(str, Enum): r"""The direction of the sort. Can be either `asc` or `desc`.""" ASCENDING = "asc" DESCENDING = "desc" -class GetAllMediaLibrarySortTypedDict(TypedDict): +class GetLibrarySectionsAllSortTypedDict(TypedDict): key: str title: str default: NotRequired[str] active: NotRequired[bool] - active_direction: NotRequired[GetAllMediaLibraryActiveDirection] + active_direction: NotRequired[GetLibrarySectionsAllActiveDirection] r"""The direction of the sort. Can be either `asc` or `desc`. """ - default_direction: NotRequired[GetAllMediaLibraryDefaultDirection] + default_direction: NotRequired[GetLibrarySectionsAllDefaultDirection] r"""The direction of the sort. Can be either `asc` or `desc`. """ @@ -245,7 +248,7 @@ class GetAllMediaLibrarySortTypedDict(TypedDict): first_character_key: NotRequired[str] -class GetAllMediaLibrarySort(BaseModel): +class GetLibrarySectionsAllSort(BaseModel): key: str title: str @@ -255,17 +258,17 @@ class GetAllMediaLibrarySort(BaseModel): active: Optional[bool] = None active_direction: Annotated[ - Optional[GetAllMediaLibraryActiveDirection], + Optional[GetLibrarySectionsAllActiveDirection], pydantic.Field(alias="activeDirection"), - ] = GetAllMediaLibraryActiveDirection.ASCENDING + ] = GetLibrarySectionsAllActiveDirection.ASCENDING r"""The direction of the sort. Can be either `asc` or `desc`. """ default_direction: Annotated[ - Optional[GetAllMediaLibraryDefaultDirection], + Optional[GetLibrarySectionsAllDefaultDirection], pydantic.Field(alias="defaultDirection"), - ] = GetAllMediaLibraryDefaultDirection.ASCENDING + ] = GetLibrarySectionsAllDefaultDirection.ASCENDING r"""The direction of the sort. Can be either `asc` or `desc`. """ @@ -277,14 +280,14 @@ class GetAllMediaLibrarySort(BaseModel): ] = None -class GetAllMediaLibraryFieldTypedDict(TypedDict): +class GetLibrarySectionsAllFieldTypedDict(TypedDict): key: str title: str type: str sub_type: NotRequired[str] -class GetAllMediaLibraryField(BaseModel): +class GetLibrarySectionsAllField(BaseModel): key: str title: str @@ -294,18 +297,18 @@ class GetAllMediaLibraryField(BaseModel): sub_type: Annotated[Optional[str], pydantic.Field(alias="subType")] = None -class GetAllMediaLibraryTypeTypedDict(TypedDict): +class GetLibrarySectionsAllTypeTypedDict(TypedDict): key: str type: str title: str active: bool subtype: NotRequired[str] - filter_: NotRequired[List[GetAllMediaLibraryFilterTypedDict]] - sort: NotRequired[List[GetAllMediaLibrarySortTypedDict]] - field: NotRequired[List[GetAllMediaLibraryFieldTypedDict]] + filter_: NotRequired[List[GetLibrarySectionsAllFilterTypedDict]] + sort: NotRequired[List[GetLibrarySectionsAllSortTypedDict]] + field: NotRequired[List[GetLibrarySectionsAllFieldTypedDict]] -class GetAllMediaLibraryType(BaseModel): +class GetLibrarySectionsAllType(BaseModel): key: str type: str @@ -317,63 +320,64 @@ class GetAllMediaLibraryType(BaseModel): subtype: Optional[str] = None filter_: Annotated[ - Optional[List[GetAllMediaLibraryFilter]], pydantic.Field(alias="Filter") + Optional[List[GetLibrarySectionsAllFilter]], pydantic.Field(alias="Filter") ] = None sort: Annotated[ - Optional[List[GetAllMediaLibrarySort]], pydantic.Field(alias="Sort") + Optional[List[GetLibrarySectionsAllSort]], pydantic.Field(alias="Sort") ] = None field: Annotated[ - Optional[List[GetAllMediaLibraryField]], pydantic.Field(alias="Field") + Optional[List[GetLibrarySectionsAllField]], pydantic.Field(alias="Field") ] = None -class GetAllMediaLibraryOperatorTypedDict(TypedDict): +class GetLibrarySectionsAllOperatorTypedDict(TypedDict): key: str title: str -class GetAllMediaLibraryOperator(BaseModel): +class GetLibrarySectionsAllOperator(BaseModel): key: str title: str -class GetAllMediaLibraryFieldTypeTypedDict(TypedDict): +class GetLibrarySectionsAllFieldTypeTypedDict(TypedDict): type: str - operator: List[GetAllMediaLibraryOperatorTypedDict] + operator: List[GetLibrarySectionsAllOperatorTypedDict] -class GetAllMediaLibraryFieldType(BaseModel): +class GetLibrarySectionsAllFieldType(BaseModel): type: str operator: Annotated[ - List[GetAllMediaLibraryOperator], pydantic.Field(alias="Operator") + List[GetLibrarySectionsAllOperator], pydantic.Field(alias="Operator") ] -class GetAllMediaLibraryMetaTypedDict(TypedDict): +class GetLibrarySectionsAllMetaTypedDict(TypedDict): r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.""" - type: NotRequired[List[GetAllMediaLibraryTypeTypedDict]] - field_type: NotRequired[List[GetAllMediaLibraryFieldTypeTypedDict]] + type: NotRequired[List[GetLibrarySectionsAllTypeTypedDict]] + field_type: NotRequired[List[GetLibrarySectionsAllFieldTypeTypedDict]] -class GetAllMediaLibraryMeta(BaseModel): +class GetLibrarySectionsAllMeta(BaseModel): r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.""" type: Annotated[ - Optional[List[GetAllMediaLibraryType]], pydantic.Field(alias="Type") + Optional[List[GetLibrarySectionsAllType]], pydantic.Field(alias="Type") ] = None field_type: Annotated[ - Optional[List[GetAllMediaLibraryFieldType]], pydantic.Field(alias="FieldType") + Optional[List[GetLibrarySectionsAllFieldType]], + pydantic.Field(alias="FieldType"), ] = None -class GetAllMediaLibraryLibraryType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The type of media content""" +class GetLibrarySectionsAllLibraryType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The type of media content in the Plex library. This can represent videos, music, or photos.""" MOVIE = "movie" TV_SHOW = "show" @@ -381,39 +385,44 @@ class GetAllMediaLibraryLibraryType(str, Enum, metaclass=utils.OpenEnumMeta): EPISODE = "episode" ARTIST = "artist" ALBUM = "album" + TRACK = "track" + PHOTO_ALBUM = "photoalbum" + PHOTO = "photo" + COLLECTION = "collection" -class GetAllMediaLibraryLibraryResponseType(str, Enum, metaclass=utils.OpenEnumMeta): +class GetLibrarySectionsAllLibraryResponseType(str, Enum, metaclass=utils.OpenEnumMeta): COVER_POSTER = "coverPoster" BACKGROUND = "background" SNAPSHOT = "snapshot" CLEAR_LOGO = "clearLogo" -class GetAllMediaLibraryImageTypedDict(TypedDict): +class GetLibrarySectionsAllImageTypedDict(TypedDict): alt: str - type: GetAllMediaLibraryLibraryResponseType + type: GetLibrarySectionsAllLibraryResponseType url: str -class GetAllMediaLibraryImage(BaseModel): +class GetLibrarySectionsAllImage(BaseModel): alt: str type: Annotated[ - GetAllMediaLibraryLibraryResponseType, PlainValidator(validate_open_enum(False)) + GetLibrarySectionsAllLibraryResponseType, + PlainValidator(validate_open_enum(False)), ] url: str -class GetAllMediaLibraryUltraBlurColorsTypedDict(TypedDict): +class GetLibrarySectionsAllUltraBlurColorsTypedDict(TypedDict): top_left: str top_right: str bottom_right: str bottom_left: str -class GetAllMediaLibraryUltraBlurColors(BaseModel): +class GetLibrarySectionsAllUltraBlurColors(BaseModel): top_left: Annotated[str, pydantic.Field(alias="topLeft")] top_right: Annotated[str, pydantic.Field(alias="topRight")] @@ -423,51 +432,65 @@ class GetAllMediaLibraryUltraBlurColors(BaseModel): bottom_left: Annotated[str, pydantic.Field(alias="bottomLeft")] +class GetLibrarySectionsAllGuidsTypedDict(TypedDict): + id: str + r"""The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb:// + + """ + + +class GetLibrarySectionsAllGuids(BaseModel): + id: str + r"""The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb:// + + """ + + class OptimizedForStreaming1(int, Enum): ZERO = 0 ONE = 1 -GetAllMediaLibraryOptimizedForStreamingTypedDict = TypeAliasType( - "GetAllMediaLibraryOptimizedForStreamingTypedDict", +GetLibrarySectionsAllOptimizedForStreamingTypedDict = TypeAliasType( + "GetLibrarySectionsAllOptimizedForStreamingTypedDict", Union[OptimizedForStreaming1, bool], ) r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true""" -GetAllMediaLibraryOptimizedForStreaming = TypeAliasType( - "GetAllMediaLibraryOptimizedForStreaming", Union[OptimizedForStreaming1, bool] +GetLibrarySectionsAllOptimizedForStreaming = TypeAliasType( + "GetLibrarySectionsAllOptimizedForStreaming", Union[OptimizedForStreaming1, bool] ) r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true""" -class GetAllMediaLibraryOptimizedForStreaming1(int, Enum): +class GetLibrarySectionsAllOptimizedForStreaming1(int, Enum): ZERO = 0 ONE = 1 -GetAllMediaLibraryLibraryOptimizedForStreamingTypedDict = TypeAliasType( - "GetAllMediaLibraryLibraryOptimizedForStreamingTypedDict", - Union[GetAllMediaLibraryOptimizedForStreaming1, bool], +GetLibrarySectionsAllLibraryOptimizedForStreamingTypedDict = TypeAliasType( + "GetLibrarySectionsAllLibraryOptimizedForStreamingTypedDict", + Union[GetLibrarySectionsAllOptimizedForStreaming1, bool], ) r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true""" -GetAllMediaLibraryLibraryOptimizedForStreaming = TypeAliasType( - "GetAllMediaLibraryLibraryOptimizedForStreaming", - Union[GetAllMediaLibraryOptimizedForStreaming1, bool], +GetLibrarySectionsAllLibraryOptimizedForStreaming = TypeAliasType( + "GetLibrarySectionsAllLibraryOptimizedForStreaming", + Union[GetLibrarySectionsAllOptimizedForStreaming1, bool], ) r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true""" -class GetAllMediaLibraryHasThumbnail(str, Enum): +class GetLibrarySectionsAllHasThumbnail(str, Enum): r"""Indicates if the part has a thumbnail.""" FALSE = "0" TRUE = "1" -class GetAllMediaLibraryStreamType(int, Enum, metaclass=utils.OpenEnumMeta): +class GetLibrarySectionsAllStreamType(int, Enum, metaclass=utils.OpenEnumMeta): r"""Stream type: - 1 = video - 2 = audio @@ -480,10 +503,10 @@ class GetAllMediaLibraryStreamType(int, Enum, metaclass=utils.OpenEnumMeta): SUBTITLE = 3 -class GetAllMediaLibraryStreamTypedDict(TypedDict): +class GetLibrarySectionsAllStreamTypedDict(TypedDict): id: int r"""Unique stream identifier.""" - stream_type: GetAllMediaLibraryStreamType + stream_type: GetLibrarySectionsAllStreamType r"""Stream type: - 1 = video - 2 = audio @@ -585,13 +608,13 @@ class GetAllMediaLibraryStreamTypedDict(TypedDict): r"""Optional title for the stream (e.g., language variant).""" -class GetAllMediaLibraryStream(BaseModel): +class GetLibrarySectionsAllStream(BaseModel): id: int r"""Unique stream identifier.""" stream_type: Annotated[ Annotated[ - GetAllMediaLibraryStreamType, PlainValidator(validate_open_enum(True)) + GetLibrarySectionsAllStreamType, PlainValidator(validate_open_enum(True)) ], pydantic.Field(alias="streamType"), ] @@ -771,7 +794,7 @@ class GetAllMediaLibraryStream(BaseModel): r"""Optional title for the stream (e.g., language variant).""" -class GetAllMediaLibraryPartTypedDict(TypedDict): +class GetLibrarySectionsAllPartTypedDict(TypedDict): id: int r"""Unique part identifier.""" key: str @@ -796,15 +819,15 @@ class GetAllMediaLibraryPartTypedDict(TypedDict): r"""The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).""" has64bit_offsets: NotRequired[bool] optimized_for_streaming: NotRequired[ - GetAllMediaLibraryLibraryOptimizedForStreamingTypedDict + GetLibrarySectionsAllLibraryOptimizedForStreamingTypedDict ] r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true""" - has_thumbnail: NotRequired[GetAllMediaLibraryHasThumbnail] - stream: NotRequired[List[GetAllMediaLibraryStreamTypedDict]] + has_thumbnail: NotRequired[GetLibrarySectionsAllHasThumbnail] + stream: NotRequired[List[GetLibrarySectionsAllStreamTypedDict]] r"""An array of streams for this part.""" -class GetAllMediaLibraryPart(BaseModel): +class GetLibrarySectionsAllPart(BaseModel): id: int r"""Unique part identifier.""" @@ -844,22 +867,23 @@ class GetAllMediaLibraryPart(BaseModel): ] = None optimized_for_streaming: Annotated[ - Optional[GetAllMediaLibraryLibraryOptimizedForStreaming], + Optional[GetLibrarySectionsAllLibraryOptimizedForStreaming], pydantic.Field(alias="optimizedForStreaming"), ] = None r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true""" has_thumbnail: Annotated[ - Optional[GetAllMediaLibraryHasThumbnail], pydantic.Field(alias="hasThumbnail") - ] = GetAllMediaLibraryHasThumbnail.FALSE + Optional[GetLibrarySectionsAllHasThumbnail], + pydantic.Field(alias="hasThumbnail"), + ] = GetLibrarySectionsAllHasThumbnail.FALSE stream: Annotated[ - Optional[List[GetAllMediaLibraryStream]], pydantic.Field(alias="Stream") + Optional[List[GetLibrarySectionsAllStream]], pydantic.Field(alias="Stream") ] = None r"""An array of streams for this part.""" -class GetAllMediaLibraryMediaTypedDict(TypedDict): +class GetLibrarySectionsAllMediaTypedDict(TypedDict): id: int r"""Unique media identifier.""" duration: NotRequired[int] @@ -894,15 +918,15 @@ class GetAllMediaLibraryMediaTypedDict(TypedDict): audio_profile: NotRequired[str] r"""The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).""" optimized_for_streaming: NotRequired[ - GetAllMediaLibraryOptimizedForStreamingTypedDict + GetLibrarySectionsAllOptimizedForStreamingTypedDict ] r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true""" has64bit_offsets: NotRequired[bool] - part: NotRequired[List[GetAllMediaLibraryPartTypedDict]] + part: NotRequired[List[GetLibrarySectionsAllPartTypedDict]] r"""An array of parts for this media item.""" -class GetAllMediaLibraryMedia(BaseModel): +class GetLibrarySectionsAllMedia(BaseModel): id: int r"""Unique media identifier.""" @@ -963,7 +987,7 @@ class GetAllMediaLibraryMedia(BaseModel): r"""The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).""" optimized_for_streaming: Annotated[ - Optional[GetAllMediaLibraryOptimizedForStreaming], + Optional[GetLibrarySectionsAllOptimizedForStreaming], pydantic.Field(alias="optimizedForStreaming"), ] = None r"""Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true""" @@ -973,90 +997,76 @@ class GetAllMediaLibraryMedia(BaseModel): ] = None part: Annotated[ - Optional[List[GetAllMediaLibraryPart]], pydantic.Field(alias="Part") + Optional[List[GetLibrarySectionsAllPart]], pydantic.Field(alias="Part") ] = None r"""An array of parts for this media item.""" -class GetAllMediaLibraryGenreTypedDict(TypedDict): +class GetLibrarySectionsAllGenreTypedDict(TypedDict): tag: str r"""The genre name of this media-item """ -class GetAllMediaLibraryGenre(BaseModel): +class GetLibrarySectionsAllGenre(BaseModel): tag: str r"""The genre name of this media-item """ -class GetAllMediaLibraryCountryTypedDict(TypedDict): +class GetLibrarySectionsAllCountryTypedDict(TypedDict): tag: str r"""The country of origin of this media item""" -class GetAllMediaLibraryCountry(BaseModel): +class GetLibrarySectionsAllCountry(BaseModel): tag: str r"""The country of origin of this media item""" -class GetAllMediaLibraryDirectorTypedDict(TypedDict): +class GetLibrarySectionsAllDirectorTypedDict(TypedDict): tag: str r"""The role of Director""" -class GetAllMediaLibraryDirector(BaseModel): +class GetLibrarySectionsAllDirector(BaseModel): tag: str r"""The role of Director""" -class GetAllMediaLibraryWriterTypedDict(TypedDict): +class GetLibrarySectionsAllWriterTypedDict(TypedDict): tag: str r"""The role of Writer""" -class GetAllMediaLibraryWriter(BaseModel): +class GetLibrarySectionsAllWriter(BaseModel): tag: str r"""The role of Writer""" -class GetAllMediaLibraryRoleTypedDict(TypedDict): +class GetLibrarySectionsAllRoleTypedDict(TypedDict): tag: str r"""The display tag for the actor (typically the actor's name).""" -class GetAllMediaLibraryRole(BaseModel): +class GetLibrarySectionsAllRole(BaseModel): tag: str r"""The display tag for the actor (typically the actor's name).""" -class GetAllMediaLibraryGuidsTypedDict(TypedDict): - id: NotRequired[str] - r"""The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337 - - """ - - -class GetAllMediaLibraryGuids(BaseModel): - id: Optional[str] = None - r"""The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337 - - """ - - -class GetAllMediaLibraryCollectionTypedDict(TypedDict): +class GetLibrarySectionsAllCollectionTypedDict(TypedDict): tag: str r"""The user-made collection this media item belongs to""" -class GetAllMediaLibraryCollection(BaseModel): +class GetLibrarySectionsAllCollection(BaseModel): tag: str r"""The user-made collection this media item belongs to""" -class GetAllMediaLibraryMetadataTypedDict(TypedDict): +class GetLibrarySectionsAllMetadataTypedDict(TypedDict): r"""Unknown""" rating_key: str @@ -1067,7 +1077,7 @@ class GetAllMediaLibraryMetadataTypedDict(TypedDict): r"""The globally unique identifier for the media item.""" slug: str r"""A URL‐friendly version of the media title.""" - type: GetAllMediaLibraryLibraryType + type: GetLibrarySectionsAllLibraryType title: str r"""The title of the media item.""" title_sort: str @@ -1165,19 +1175,19 @@ class GetAllMediaLibraryMetadataTypedDict(TypedDict): r"""Unix timestamp for when the media item was last viewed.""" user_rating: NotRequired[float] r"""The rating provided by a user for the item. This value is expressed as a decimal number.""" - image: NotRequired[List[GetAllMediaLibraryImageTypedDict]] - ultra_blur_colors: NotRequired[GetAllMediaLibraryUltraBlurColorsTypedDict] - media: NotRequired[List[GetAllMediaLibraryMediaTypedDict]] - genre: NotRequired[List[GetAllMediaLibraryGenreTypedDict]] - country: NotRequired[List[GetAllMediaLibraryCountryTypedDict]] - director: NotRequired[List[GetAllMediaLibraryDirectorTypedDict]] - writer: NotRequired[List[GetAllMediaLibraryWriterTypedDict]] - role: NotRequired[List[GetAllMediaLibraryRoleTypedDict]] - guids: NotRequired[List[GetAllMediaLibraryGuidsTypedDict]] - collection: NotRequired[List[GetAllMediaLibraryCollectionTypedDict]] + image: NotRequired[List[GetLibrarySectionsAllImageTypedDict]] + ultra_blur_colors: NotRequired[GetLibrarySectionsAllUltraBlurColorsTypedDict] + guids: NotRequired[List[GetLibrarySectionsAllGuidsTypedDict]] + media: NotRequired[List[GetLibrarySectionsAllMediaTypedDict]] + genre: NotRequired[List[GetLibrarySectionsAllGenreTypedDict]] + country: NotRequired[List[GetLibrarySectionsAllCountryTypedDict]] + director: NotRequired[List[GetLibrarySectionsAllDirectorTypedDict]] + writer: NotRequired[List[GetLibrarySectionsAllWriterTypedDict]] + role: NotRequired[List[GetLibrarySectionsAllRoleTypedDict]] + collection: NotRequired[List[GetLibrarySectionsAllCollectionTypedDict]] -class GetAllMediaLibraryMetadata(BaseModel): +class GetLibrarySectionsAllMetadata(BaseModel): r"""Unknown""" rating_key: Annotated[str, pydantic.Field(alias="ratingKey")] @@ -1193,7 +1203,7 @@ class GetAllMediaLibraryMetadata(BaseModel): r"""A URL‐friendly version of the media title.""" type: Annotated[ - GetAllMediaLibraryLibraryType, PlainValidator(validate_open_enum(False)) + GetLibrarySectionsAllLibraryType, PlainValidator(validate_open_enum(False)) ] title: str @@ -1381,48 +1391,49 @@ class GetAllMediaLibraryMetadata(BaseModel): r"""The rating provided by a user for the item. This value is expressed as a decimal number.""" image: Annotated[ - Optional[List[GetAllMediaLibraryImage]], pydantic.Field(alias="Image") + Optional[List[GetLibrarySectionsAllImage]], pydantic.Field(alias="Image") ] = None ultra_blur_colors: Annotated[ - Optional[GetAllMediaLibraryUltraBlurColors], + Optional[GetLibrarySectionsAllUltraBlurColors], pydantic.Field(alias="UltraBlurColors"), ] = None + guids: Annotated[ + Optional[List[GetLibrarySectionsAllGuids]], pydantic.Field(alias="Guid") + ] = None + media: Annotated[ - Optional[List[GetAllMediaLibraryMedia]], pydantic.Field(alias="Media") + Optional[List[GetLibrarySectionsAllMedia]], pydantic.Field(alias="Media") ] = None genre: Annotated[ - Optional[List[GetAllMediaLibraryGenre]], pydantic.Field(alias="Genre") + Optional[List[GetLibrarySectionsAllGenre]], pydantic.Field(alias="Genre") ] = None country: Annotated[ - Optional[List[GetAllMediaLibraryCountry]], pydantic.Field(alias="Country") + Optional[List[GetLibrarySectionsAllCountry]], pydantic.Field(alias="Country") ] = None director: Annotated[ - Optional[List[GetAllMediaLibraryDirector]], pydantic.Field(alias="Director") + Optional[List[GetLibrarySectionsAllDirector]], pydantic.Field(alias="Director") ] = None writer: Annotated[ - Optional[List[GetAllMediaLibraryWriter]], pydantic.Field(alias="Writer") + Optional[List[GetLibrarySectionsAllWriter]], pydantic.Field(alias="Writer") ] = None role: Annotated[ - Optional[List[GetAllMediaLibraryRole]], pydantic.Field(alias="Role") - ] = None - - guids: Annotated[ - Optional[List[GetAllMediaLibraryGuids]], pydantic.Field(alias="Guid") + Optional[List[GetLibrarySectionsAllRole]], pydantic.Field(alias="Role") ] = None collection: Annotated[ - Optional[List[GetAllMediaLibraryCollection]], pydantic.Field(alias="Collection") + Optional[List[GetLibrarySectionsAllCollection]], + pydantic.Field(alias="Collection"), ] = None -class GetAllMediaLibraryMediaContainerTypedDict(TypedDict): +class GetLibrarySectionsAllMediaContainerTypedDict(TypedDict): size: int r"""Number of media items returned in this response.""" total_size: int @@ -1457,15 +1468,15 @@ class GetAllMediaLibraryMediaContainerTypedDict(TypedDict): r"""Identifier for the view group layout.""" library_section_uuid: NotRequired[str] r"""The universally unique identifier for the library section.""" - meta: NotRequired[GetAllMediaLibraryMetaTypedDict] + meta: NotRequired[GetLibrarySectionsAllMetaTypedDict] r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. """ - metadata: NotRequired[List[GetAllMediaLibraryMetadataTypedDict]] + metadata: NotRequired[List[GetLibrarySectionsAllMetadataTypedDict]] r"""An array of metadata items.""" -class GetAllMediaLibraryMediaContainer(BaseModel): +class GetLibrarySectionsAllMediaContainer(BaseModel): size: int r"""Number of media items returned in this response.""" @@ -1519,46 +1530,46 @@ class GetAllMediaLibraryMediaContainer(BaseModel): ] = None r"""The universally unique identifier for the library section.""" - meta: Annotated[Optional[GetAllMediaLibraryMeta], pydantic.Field(alias="Meta")] = ( - None - ) + meta: Annotated[ + Optional[GetLibrarySectionsAllMeta], pydantic.Field(alias="Meta") + ] = None r"""The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. """ metadata: Annotated[ - Optional[List[GetAllMediaLibraryMetadata]], pydantic.Field(alias="Metadata") + Optional[List[GetLibrarySectionsAllMetadata]], pydantic.Field(alias="Metadata") ] = None r"""An array of metadata items.""" -class GetAllMediaLibraryResponseBodyTypedDict(TypedDict): +class GetLibrarySectionsAllResponseBodyTypedDict(TypedDict): r"""Successful response containing media container data.""" - media_container: NotRequired[GetAllMediaLibraryMediaContainerTypedDict] + media_container: NotRequired[GetLibrarySectionsAllMediaContainerTypedDict] -class GetAllMediaLibraryResponseBody(BaseModel): +class GetLibrarySectionsAllResponseBody(BaseModel): r"""Successful response containing media container data.""" media_container: Annotated[ - Optional[GetAllMediaLibraryMediaContainer], + Optional[GetLibrarySectionsAllMediaContainer], pydantic.Field(alias="MediaContainer"), ] = None -class GetAllMediaLibraryResponseTypedDict(TypedDict): +class GetLibrarySectionsAllResponseTypedDict(TypedDict): content_type: str r"""HTTP response content type for this operation""" status_code: int r"""HTTP response status code for this operation""" raw_response: httpx.Response r"""Raw HTTP response; suitable for custom response parsing""" - object: NotRequired[GetAllMediaLibraryResponseBodyTypedDict] + object: NotRequired[GetLibrarySectionsAllResponseBodyTypedDict] r"""Successful response containing media container data.""" -class GetAllMediaLibraryResponse(BaseModel): +class GetLibrarySectionsAllResponse(BaseModel): content_type: str r"""HTTP response content type for this operation""" @@ -1568,5 +1579,5 @@ class GetAllMediaLibraryResponse(BaseModel): raw_response: httpx.Response r"""Raw HTTP response; suitable for custom response parsing""" - object: Optional[GetAllMediaLibraryResponseBody] = None + object: Optional[GetLibrarySectionsAllResponseBody] = None r"""Successful response containing media container data.""" diff --git a/src/plex_api_client/models/operations/get_media_meta_data.py b/src/plex_api_client/models/operations/get_media_meta_data.py index 947de5c..17065d3 100644 --- a/src/plex_api_client/models/operations/get_media_meta_data.py +++ b/src/plex_api_client/models/operations/get_media_meta_data.py @@ -19,8 +19,8 @@ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict class GetMediaMetaDataRequestTypedDict(TypedDict): - rating_key: int - r"""the id of the library item to return the children of.""" + rating_key: str + r"""The id(s) of the library item(s) to return metadata for. Can be a single ID or comma-separated list of IDs.""" include_concerts: NotRequired[bool] r"""Include concerts data if set to true.""" include_extras: NotRequired[bool] @@ -51,11 +51,11 @@ class GetMediaMetaDataRequestTypedDict(TypedDict): class GetMediaMetaDataRequest(BaseModel): rating_key: Annotated[ - int, + str, pydantic.Field(alias="ratingKey"), FieldMetadata(path=PathParamMetadata(style="simple", explode=False)), ] - r"""the id of the library item to return the children of.""" + r"""The id(s) of the library item(s) to return metadata for. Can be a single ID or comma-separated list of IDs.""" include_concerts: Annotated[ Optional[bool], @@ -150,7 +150,7 @@ class GetMediaMetaDataRequest(BaseModel): class GetMediaMetaDataType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The type of media content""" + r"""The type of media content in the Plex library. This can represent videos, music, or photos.""" MOVIE = "movie" TV_SHOW = "show" @@ -158,6 +158,10 @@ class GetMediaMetaDataType(str, Enum, metaclass=utils.OpenEnumMeta): EPISODE = "episode" ARTIST = "artist" ALBUM = "album" + TRACK = "track" + PHOTO_ALBUM = "photoalbum" + PHOTO = "photo" + COLLECTION = "collection" class GetMediaMetaDataLibraryType(str, Enum, metaclass=utils.OpenEnumMeta): @@ -200,6 +204,20 @@ class GetMediaMetaDataUltraBlurColors(BaseModel): bottom_left: Annotated[str, pydantic.Field(alias="bottomLeft")] +class GetMediaMetaDataGuidsTypedDict(TypedDict): + id: str + r"""The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb:// + + """ + + +class GetMediaMetaDataGuids(BaseModel): + id: str + r"""The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb:// + + """ + + class GetMediaMetaDataOptimizedForStreaming1(int, Enum): ZERO = 0 ONE = 1 @@ -756,6 +774,10 @@ class GetMediaMetaDataGenreTypedDict(TypedDict): r"""The filter query string for similar items.""" id: int + r"""The unique identifier for the genre. + NOTE: This is different for each Plex server and is not globally unique. + + """ tag: str r"""The genre name of this media-item @@ -767,6 +789,10 @@ class GetMediaMetaDataGenre(BaseModel): r"""The filter query string for similar items.""" id: int + r"""The unique identifier for the genre. + NOTE: This is different for each Plex server and is not globally unique. + + """ tag: str r"""The genre name of this media-item @@ -780,20 +806,28 @@ class GetMediaMetaDataCountryTypedDict(TypedDict): r"""The filter query string for country media items.""" id: int + r"""The unique identifier for the country. + NOTE: This is different for each Plex server and is not globally unique. + + """ tag: str r"""The country of origin of this media item""" - filter_: NotRequired[str] + filter_: str class GetMediaMetaDataCountry(BaseModel): r"""The filter query string for country media items.""" id: int + r"""The unique identifier for the country. + NOTE: This is different for each Plex server and is not globally unique. + + """ tag: str r"""The country of origin of this media item""" - filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None + filter_: Annotated[str, pydantic.Field(alias="filter")] class GetMediaMetaDataDirectorTypedDict(TypedDict): @@ -803,10 +837,10 @@ class GetMediaMetaDataDirectorTypedDict(TypedDict): r"""The role of Director""" filter_: str r"""The filter string used to query this director.""" - tag_key: NotRequired[str] - r"""A unique key associated with the director's tag, used for internal identification.""" + tag_key: str + r"""A unique 24-character hexadecimal key associated with the director's tag, used for internal identification.""" thumb: NotRequired[str] - r"""The URL of the thumbnail image for the director.""" + r"""The absolute URL of the thumbnail image for the director.""" class GetMediaMetaDataDirector(BaseModel): @@ -819,11 +853,11 @@ class GetMediaMetaDataDirector(BaseModel): filter_: Annotated[str, pydantic.Field(alias="filter")] r"""The filter string used to query this director.""" - tag_key: Annotated[Optional[str], pydantic.Field(alias="tagKey")] = None - r"""A unique key associated with the director's tag, used for internal identification.""" + tag_key: Annotated[str, pydantic.Field(alias="tagKey")] + r"""A unique 24-character hexadecimal key associated with the director's tag, used for internal identification.""" thumb: Optional[str] = None - r"""The URL of the thumbnail image for the director.""" + r"""The absolute URL of the thumbnail image for the director.""" class GetMediaMetaDataWriterTypedDict(TypedDict): @@ -834,9 +868,9 @@ class GetMediaMetaDataWriterTypedDict(TypedDict): filter_: str r"""The filter string used to query this writer.""" thumb: NotRequired[str] - r"""The URL of the thumbnail image for the writer.""" + r"""The absolute URL of the thumbnail image for the writer.""" tag_key: NotRequired[str] - r"""A unique key associated with the writers tag, used for internal identification.""" + r"""A 24-character hexadecimal unique key associated with the writer’s tag, used for internal identification.""" class GetMediaMetaDataWriter(BaseModel): @@ -850,10 +884,10 @@ class GetMediaMetaDataWriter(BaseModel): r"""The filter string used to query this writer.""" thumb: Optional[str] = None - r"""The URL of the thumbnail image for the writer.""" + r"""The absolute URL of the thumbnail image for the writer.""" tag_key: Annotated[Optional[str], pydantic.Field(alias="tagKey")] = None - r"""A unique key associated with the writers tag, used for internal identification.""" + r"""A 24-character hexadecimal unique key associated with the writer’s tag, used for internal identification.""" class GetMediaMetaDataProducerTypedDict(TypedDict): @@ -893,22 +927,31 @@ class GetMediaMetaDataProducer(BaseModel): class GetMediaMetaDataRoleTypedDict(TypedDict): id: int - r"""Unique identifier for the actor or role.""" + r"""The unique identifier for the role. + NOTE: This is different for each Plex server and is not globally unique. + + """ tag: str r"""The display tag for the actor (typically the actor's name).""" filter_: str r"""The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.""" + tag_key: str + r"""A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification. + NOTE: This is globally unique across all Plex Servers. + + """ role: NotRequired[str] r"""The role played by the actor in the media item.""" - tag_key: NotRequired[str] - r"""A unique key associated with the actor's tag, used for internal identification.""" thumb: NotRequired[str] - r"""The URL of the thumbnail image for the actor.""" + r"""The absolute URL of the thumbnail image for the actor.""" class GetMediaMetaDataRole(BaseModel): id: int - r"""Unique identifier for the actor or role.""" + r"""The unique identifier for the role. + NOTE: This is different for each Plex server and is not globally unique. + + """ tag: str r"""The display tag for the actor (typically the actor's name).""" @@ -916,24 +959,17 @@ class GetMediaMetaDataRole(BaseModel): filter_: Annotated[str, pydantic.Field(alias="filter")] r"""The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.""" + tag_key: Annotated[str, pydantic.Field(alias="tagKey")] + r"""A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification. + NOTE: This is globally unique across all Plex Servers. + + """ + role: Optional[str] = None r"""The role played by the actor in the media item.""" - tag_key: Annotated[Optional[str], pydantic.Field(alias="tagKey")] = None - r"""A unique key associated with the actor's tag, used for internal identification.""" - thumb: Optional[str] = None - r"""The URL of the thumbnail image for the actor.""" - - -class GetMediaMetaDataGuidsTypedDict(TypedDict): - id: str - r"""The GUID value.""" - - -class GetMediaMetaDataGuids(BaseModel): - id: str - r"""The GUID value.""" + r"""The absolute URL of the thumbnail image for the actor.""" class RatingsTypedDict(TypedDict): @@ -1190,6 +1226,7 @@ class GetMediaMetaDataMetadataTypedDict(TypedDict): r"""The rating provided by a user for the item. This value is expressed as a decimal number.""" image: NotRequired[List[GetMediaMetaDataImageTypedDict]] ultra_blur_colors: NotRequired[GetMediaMetaDataUltraBlurColorsTypedDict] + guids: NotRequired[List[GetMediaMetaDataGuidsTypedDict]] media: NotRequired[List[GetMediaMetaDataMediaTypedDict]] genre: NotRequired[List[GetMediaMetaDataGenreTypedDict]] country: NotRequired[List[GetMediaMetaDataCountryTypedDict]] @@ -1197,7 +1234,6 @@ class GetMediaMetaDataMetadataTypedDict(TypedDict): writer: NotRequired[List[GetMediaMetaDataWriterTypedDict]] producer: NotRequired[List[GetMediaMetaDataProducerTypedDict]] role: NotRequired[List[GetMediaMetaDataRoleTypedDict]] - guids: NotRequired[List[GetMediaMetaDataGuidsTypedDict]] ratings: NotRequired[List[RatingsTypedDict]] similar: NotRequired[List[GetMediaMetaDataSimilarTypedDict]] location: NotRequired[List[GetMediaMetaDataLocationTypedDict]] @@ -1425,6 +1461,10 @@ class GetMediaMetaDataMetadata(BaseModel): pydantic.Field(alias="UltraBlurColors"), ] = None + guids: Annotated[ + Optional[List[GetMediaMetaDataGuids]], pydantic.Field(alias="Guid") + ] = None + media: Annotated[ Optional[List[GetMediaMetaDataMedia]], pydantic.Field(alias="Media") ] = None @@ -1453,10 +1493,6 @@ class GetMediaMetaDataMetadata(BaseModel): Optional[List[GetMediaMetaDataRole]], pydantic.Field(alias="Role") ] = None - guids: Annotated[ - Optional[List[GetMediaMetaDataGuids]], pydantic.Field(alias="Guid") - ] = None - ratings: Annotated[Optional[List[Ratings]], pydantic.Field(alias="Rating")] = None similar: Annotated[ diff --git a/src/plex_api_client/models/operations/get_recently_added.py b/src/plex_api_client/models/operations/get_recently_added.py index 5a27df6..802305d 100644 --- a/src/plex_api_client/models/operations/get_recently_added.py +++ b/src/plex_api_client/models/operations/get_recently_added.py @@ -27,9 +27,11 @@ class Type(int, Enum, metaclass=utils.OpenEnumMeta): TV_SHOW = 2 SEASON = 3 EPISODE = 4 - AUDIO = 8 - ALBUM = 9 - TRACK = 10 + ARTIST = 5 + ALBUM = 6 + TRACK = 7 + PHOTO_ALBUM = 8 + PHOTO = 9 class IncludeMeta(int, Enum): @@ -322,7 +324,7 @@ class Meta(BaseModel): class GetRecentlyAddedHubsType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The type of media content""" + r"""The type of media content in the Plex library. This can represent videos, music, or photos.""" MOVIE = "movie" TV_SHOW = "show" @@ -330,6 +332,10 @@ class GetRecentlyAddedHubsType(str, Enum, metaclass=utils.OpenEnumMeta): EPISODE = "episode" ARTIST = "artist" ALBUM = "album" + TRACK = "track" + PHOTO_ALBUM = "photoalbum" + PHOTO = "photo" + COLLECTION = "collection" class GetRecentlyAddedHubsResponseType(str, Enum, metaclass=utils.OpenEnumMeta): @@ -372,6 +378,20 @@ class UltraBlurColors(BaseModel): bottom_left: Annotated[str, pydantic.Field(alias="bottomLeft")] +class GuidsTypedDict(TypedDict): + id: str + r"""The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb:// + + """ + + +class Guids(BaseModel): + id: str + r"""The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb:// + + """ + + class One(int, Enum): ZERO = 0 ONE = 1 @@ -917,6 +937,10 @@ class GenreTypedDict(TypedDict): r"""The filter query string for similar items.""" id: int + r"""The unique identifier for the genre. + NOTE: This is different for each Plex server and is not globally unique. + + """ filter_: str tag: str r"""The genre name of this media-item @@ -928,6 +952,10 @@ class Genre(BaseModel): r"""The filter query string for similar items.""" id: int + r"""The unique identifier for the genre. + NOTE: This is different for each Plex server and is not globally unique. + + """ filter_: Annotated[str, pydantic.Field(alias="filter")] @@ -941,31 +969,59 @@ class CountryTypedDict(TypedDict): r"""The filter query string for country media items.""" id: int + r"""The unique identifier for the country. + NOTE: This is different for each Plex server and is not globally unique. + + """ tag: str r"""The country of origin of this media item""" - filter_: NotRequired[str] + filter_: str class Country(BaseModel): r"""The filter query string for country media items.""" id: int + r"""The unique identifier for the country. + NOTE: This is different for each Plex server and is not globally unique. + + """ tag: str r"""The country of origin of this media item""" - filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None + filter_: Annotated[str, pydantic.Field(alias="filter")] class DirectorTypedDict(TypedDict): + id: int + r"""Unique identifier for the director.""" + filter_: str + r"""The filter string used to query this director.""" tag: str r"""The role of Director""" + tag_key: str + r"""A unique 24-character hexadecimal key associated with the director's tag, used for internal identification.""" + thumb: NotRequired[str] + r"""The absolute URL of the thumbnail image for the director.""" class Director(BaseModel): + id: int + r"""Unique identifier for the director.""" + + filter_: Annotated[str, pydantic.Field(alias="filter")] + r"""The filter string used to query this director.""" + tag: str r"""The role of Director""" + tag_key: Annotated[str, pydantic.Field(alias="tagKey")] + r"""A unique 24-character hexadecimal key associated with the director's tag, used for internal identification.""" + + thumb: Optional[str] = None + r"""The absolute URL of the thumbnail image for the director.""" + class WriterTypedDict(TypedDict): id: int @@ -975,7 +1031,9 @@ class WriterTypedDict(TypedDict): tag: str r"""The role of Writer""" tag_key: NotRequired[str] - r"""A unique key associated with the writers tag, used for internal identification.""" + r"""A 24-character hexadecimal unique key associated with the writer’s tag, used for internal identification.""" + thumb: NotRequired[str] + r"""The absolute URL of the thumbnail image for the writer.""" class Writer(BaseModel): @@ -989,27 +1047,39 @@ class Writer(BaseModel): r"""The role of Writer""" tag_key: Annotated[Optional[str], pydantic.Field(alias="tagKey")] = None - r"""A unique key associated with the writers tag, used for internal identification.""" + r"""A 24-character hexadecimal unique key associated with the writer’s tag, used for internal identification.""" + + thumb: Optional[str] = None + r"""The absolute URL of the thumbnail image for the writer.""" class RoleTypedDict(TypedDict): id: int - r"""Unique identifier for the actor or role.""" + r"""The unique identifier for the role. + NOTE: This is different for each Plex server and is not globally unique. + + """ filter_: str r"""The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.""" tag: str r"""The display tag for the actor (typically the actor's name).""" - tag_key: NotRequired[str] - r"""A unique key associated with the actor's tag, used for internal identification.""" + tag_key: str + r"""A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification. + NOTE: This is globally unique across all Plex Servers. + + """ role: NotRequired[str] r"""The role played by the actor in the media item.""" thumb: NotRequired[str] - r"""The URL of the thumbnail image for the actor.""" + r"""The absolute URL of the thumbnail image for the actor.""" class Role(BaseModel): id: int - r"""Unique identifier for the actor or role.""" + r"""The unique identifier for the role. + NOTE: This is different for each Plex server and is not globally unique. + + """ filter_: Annotated[str, pydantic.Field(alias="filter")] r"""The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.""" @@ -1017,14 +1087,17 @@ class Role(BaseModel): tag: str r"""The display tag for the actor (typically the actor's name).""" - tag_key: Annotated[Optional[str], pydantic.Field(alias="tagKey")] = None - r"""A unique key associated with the actor's tag, used for internal identification.""" + tag_key: Annotated[str, pydantic.Field(alias="tagKey")] + r"""A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification. + NOTE: This is globally unique across all Plex Servers. + + """ role: Optional[str] = None r"""The role played by the actor in the media item.""" thumb: Optional[str] = None - r"""The URL of the thumbnail image for the actor.""" + r"""The absolute URL of the thumbnail image for the actor.""" class ProducerTypedDict(TypedDict): @@ -1034,10 +1107,12 @@ class ProducerTypedDict(TypedDict): r"""The filter string used to query this producer.""" tag: str r"""The name of the producer""" - tag_key: NotRequired[str] - r"""A unique key associated with the producer's tag, used for internal identification.""" + tag_key: str + r"""A 24-character hexadecimal unique key associated with the producer's tag, used for internal identification. + + """ thumb: NotRequired[str] - r"""The URL of the thumbnail image for the actor.""" + r"""The absolute URL of the thumbnail image for the producer.""" class Producer(BaseModel): @@ -1050,17 +1125,20 @@ class Producer(BaseModel): tag: str r"""The name of the producer""" - tag_key: Annotated[Optional[str], pydantic.Field(alias="tagKey")] = None - r"""A unique key associated with the producer's tag, used for internal identification.""" + tag_key: Annotated[str, pydantic.Field(alias="tagKey")] + r"""A 24-character hexadecimal unique key associated with the producer's tag, used for internal identification. + + """ thumb: Optional[str] = None - r"""The URL of the thumbnail image for the actor.""" + r"""The absolute URL of the thumbnail image for the producer.""" class RatingTypedDict(TypedDict): r"""The type of rating, for example 'audience' or 'critic'.""" image: str + r"""The URL for the rating image, for example from IMDb.""" value: float type: str @@ -1069,6 +1147,7 @@ class Rating(BaseModel): r"""The type of rating, for example 'audience' or 'critic'.""" image: str + r"""The URL for the rating image, for example from IMDb.""" value: float @@ -1105,20 +1184,6 @@ class Location(BaseModel): path: str -class GuidsTypedDict(TypedDict): - id: NotRequired[str] - r"""The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337 - - """ - - -class Guids(BaseModel): - id: Optional[str] = None - r"""The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337 - - """ - - class CollectionTypedDict(TypedDict): tag: str r"""The user-made collection this media item belongs to""" @@ -1254,6 +1319,7 @@ class GetRecentlyAddedMetadataTypedDict(TypedDict): r"""The release year of the media item.""" image: NotRequired[List[GetRecentlyAddedImageTypedDict]] ultra_blur_colors: NotRequired[UltraBlurColorsTypedDict] + guids: NotRequired[List[GuidsTypedDict]] media: NotRequired[List[MediaTypedDict]] genre: NotRequired[List[GenreTypedDict]] country: NotRequired[List[CountryTypedDict]] @@ -1264,7 +1330,6 @@ class GetRecentlyAddedMetadataTypedDict(TypedDict): rating1: NotRequired[List[RatingTypedDict]] similar: NotRequired[List[SimilarTypedDict]] location: NotRequired[List[LocationTypedDict]] - guids: NotRequired[List[GuidsTypedDict]] collection: NotRequired[List[CollectionTypedDict]] @@ -1498,6 +1563,8 @@ class GetRecentlyAddedMetadata(BaseModel): Optional[UltraBlurColors], pydantic.Field(alias="UltraBlurColors") ] = None + guids: Annotated[Optional[List[Guids]], pydantic.Field(alias="Guid")] = None + media: Annotated[Optional[List[Media]], pydantic.Field(alias="Media")] = None genre: Annotated[Optional[List[Genre]], pydantic.Field(alias="Genre")] = None @@ -1524,8 +1591,6 @@ class GetRecentlyAddedMetadata(BaseModel): None ) - guids: Annotated[Optional[List[Guids]], pydantic.Field(alias="Guid")] = None - collection: Annotated[ Optional[List[Collection]], pydantic.Field(alias="Collection") ] = None diff --git a/src/plex_api_client/models/operations/get_recently_added_library.py b/src/plex_api_client/models/operations/get_recently_added_library.py index e79de0e..d7cae25 100644 --- a/src/plex_api_client/models/operations/get_recently_added_library.py +++ b/src/plex_api_client/models/operations/get_recently_added_library.py @@ -27,9 +27,11 @@ class QueryParamType(int, Enum, metaclass=utils.OpenEnumMeta): TV_SHOW = 2 SEASON = 3 EPISODE = 4 - AUDIO = 8 - ALBUM = 9 - TRACK = 10 + ARTIST = 5 + ALBUM = 6 + TRACK = 7 + PHOTO_ALBUM = 8 + PHOTO = 9 class QueryParamIncludeMeta(int, Enum): diff --git a/src/plex_api_client/models/operations/get_search_all_libraries.py b/src/plex_api_client/models/operations/get_search_all_libraries.py index f62fc45..9948214 100644 --- a/src/plex_api_client/models/operations/get_search_all_libraries.py +++ b/src/plex_api_client/models/operations/get_search_all_libraries.py @@ -105,7 +105,7 @@ class GetSearchAllLibrariesRequest(BaseModel): class GetSearchAllLibrariesType(str, Enum, metaclass=utils.OpenEnumMeta): - r"""The type of media content""" + r"""The type of media content in the Plex library. This can represent videos, music, or photos.""" MOVIE = "movie" TV_SHOW = "show" @@ -113,6 +113,10 @@ class GetSearchAllLibrariesType(str, Enum, metaclass=utils.OpenEnumMeta): EPISODE = "episode" ARTIST = "artist" ALBUM = "album" + TRACK = "track" + PHOTO_ALBUM = "photoalbum" + PHOTO = "photo" + COLLECTION = "collection" class GetSearchAllLibrariesFlattenSeasons(str, Enum, metaclass=utils.OpenEnumMeta): @@ -673,7 +677,7 @@ class GetSearchAllLibrariesMetadataTypedDict(TypedDict): key: str guid: str type: GetSearchAllLibrariesType - r"""The type of media content + r"""The type of media content in the Plex library. This can represent videos, music, or photos. """ title: str @@ -788,7 +792,7 @@ class GetSearchAllLibrariesMetadata(BaseModel): type: Annotated[ GetSearchAllLibrariesType, PlainValidator(validate_open_enum(False)) ] - r"""The type of media content + r"""The type of media content in the Plex library. This can represent videos, music, or photos. """ diff --git a/src/plex_api_client/models/operations/get_search_library.py b/src/plex_api_client/models/operations/get_search_library.py index 301829c..e0b069a 100644 --- a/src/plex_api_client/models/operations/get_search_library.py +++ b/src/plex_api_client/models/operations/get_search_library.py @@ -31,9 +31,11 @@ class GetSearchLibraryQueryParamType(int, Enum, metaclass=utils.OpenEnumMeta): TV_SHOW = 2 SEASON = 3 EPISODE = 4 - AUDIO = 8 - ALBUM = 9 - TRACK = 10 + ARTIST = 5 + ALBUM = 6 + TRACK = 7 + PHOTO_ALBUM = 8 + PHOTO = 9 class GetSearchLibraryRequestTypedDict(TypedDict): diff --git a/src/plex_api_client/models/operations/getplaylistcontents.py b/src/plex_api_client/models/operations/getplaylistcontents.py index 1e9a2b2..9f3b010 100644 --- a/src/plex_api_client/models/operations/getplaylistcontents.py +++ b/src/plex_api_client/models/operations/getplaylistcontents.py @@ -32,9 +32,11 @@ class GetPlaylistContentsQueryParamType(int, Enum, metaclass=utils.OpenEnumMeta) TV_SHOW = 2 SEASON = 3 EPISODE = 4 - AUDIO = 8 - ALBUM = 9 - TRACK = 10 + ARTIST = 5 + ALBUM = 6 + TRACK = 7 + PHOTO_ALBUM = 8 + PHOTO = 9 class GetPlaylistContentsRequestTypedDict(TypedDict): diff --git a/src/plex_api_client/models/operations/gettopwatchedcontent.py b/src/plex_api_client/models/operations/gettopwatchedcontent.py index 713fa25..bcf7f87 100644 --- a/src/plex_api_client/models/operations/gettopwatchedcontent.py +++ b/src/plex_api_client/models/operations/gettopwatchedcontent.py @@ -27,9 +27,18 @@ class GetTopWatchedContentQueryParamType(int, Enum, metaclass=utils.OpenEnumMeta TV_SHOW = 2 SEASON = 3 EPISODE = 4 - AUDIO = 8 - ALBUM = 9 - TRACK = 10 + ARTIST = 5 + ALBUM = 6 + TRACK = 7 + PHOTO_ALBUM = 8 + PHOTO = 9 + + +class GetTopWatchedContentQueryParamIncludeGuids(int, Enum): + r"""Adds the Guid object to the response""" + + DISABLE = 0 + ENABLE = 1 class GetTopWatchedContentRequestTypedDict(TypedDict): @@ -42,8 +51,8 @@ class GetTopWatchedContentRequestTypedDict(TypedDict): E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries """ - include_guids: NotRequired[int] - r"""Adds the Guids object to the response + include_guids: NotRequired[GetTopWatchedContentQueryParamIncludeGuids] + r"""Adds the Guid object to the response """ @@ -65,11 +74,11 @@ class GetTopWatchedContentRequest(BaseModel): """ include_guids: Annotated[ - Optional[int], + Optional[GetTopWatchedContentQueryParamIncludeGuids], pydantic.Field(alias="includeGuids"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), - ] = None - r"""Adds the Guids object to the response + ] = GetTopWatchedContentQueryParamIncludeGuids.DISABLE + r"""Adds the Guid object to the response """ @@ -271,28 +280,34 @@ class GetTopWatchedContentMetadata(BaseModel): class GetTopWatchedContentMediaContainerTypedDict(TypedDict): - size: NotRequired[int] - allow_sync: NotRequired[bool] - identifier: NotRequired[str] - media_tag_prefix: NotRequired[str] - media_tag_version: NotRequired[int] + size: int + r"""Number of media items returned in this response.""" + allow_sync: bool + r"""Indicates whether syncing is allowed.""" + identifier: str + r"""An plugin identifier for the media container.""" + media_tag_prefix: str + r"""The prefix used for media tag resource paths.""" + media_tag_version: int + r"""The version number for media tags.""" metadata: NotRequired[List[GetTopWatchedContentMetadataTypedDict]] class GetTopWatchedContentMediaContainer(BaseModel): - size: Optional[int] = None + size: int + r"""Number of media items returned in this response.""" - allow_sync: Annotated[Optional[bool], pydantic.Field(alias="allowSync")] = None + allow_sync: Annotated[bool, pydantic.Field(alias="allowSync")] + r"""Indicates whether syncing is allowed.""" - identifier: Optional[str] = None + identifier: str + r"""An plugin identifier for the media container.""" - media_tag_prefix: Annotated[ - Optional[str], pydantic.Field(alias="mediaTagPrefix") - ] = None + media_tag_prefix: Annotated[str, pydantic.Field(alias="mediaTagPrefix")] + r"""The prefix used for media tag resource paths.""" - media_tag_version: Annotated[ - Optional[int], pydantic.Field(alias="mediaTagVersion") - ] = None + media_tag_version: Annotated[int, pydantic.Field(alias="mediaTagVersion")] + r"""The version number for media tags.""" metadata: Annotated[ Optional[List[GetTopWatchedContentMetadata]], pydantic.Field(alias="Metadata")