From 92be5b3a91704cabd3c7297259bd2a6ed2d19855 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Wed, 2 Oct 2024 11:11:07 +0000 Subject: [PATCH] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.405.8 --- .speakeasy/gen.lock | 105 ++++++- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 10 +- LukeHagar/PlexAPI/SDK/Activities.cs | 4 +- LukeHagar/PlexAPI/SDK/Authentication.cs | 4 +- LukeHagar/PlexAPI/SDK/Butler.cs | 4 +- LukeHagar/PlexAPI/SDK/Hubs.cs | 4 +- LukeHagar/PlexAPI/SDK/Library.cs | 150 ++++++++- LukeHagar/PlexAPI/SDK/Log.cs | 4 +- .../PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj | 4 +- LukeHagar/PlexAPI/SDK/Media.cs | 4 +- .../Errors/GetSearchAllLibrariesBadRequest.cs | 34 ++ .../Errors/GetSearchAllLibrariesErrors.cs | 27 ++ .../GetSearchAllLibrariesLibraryErrors.cs | 27 ++ .../GetSearchAllLibrariesUnauthorized.cs | 34 ++ .../PlexAPI/SDK/Models/Requests/Features.cs | 243 -------------- .../Requests/GetAllLibrariesDirectory.cs | 2 +- .../Requests/GetAllLibrariesLocation.cs | 24 ++ .../Requests/GetLibraryItemsLocation.cs | 21 ++ .../Models/Requests/GetLibraryItemsMedia.cs | 22 +- .../Requests/GetLibraryItemsMetadata.cs | 3 + .../Models/Requests/GetLibraryItemsPart.cs | 4 +- .../Requests/GetRecentlyAddedMetadata.cs | 3 + .../GetSearchAllLibrariesCollection.cs | 21 ++ .../Requests/GetSearchAllLibrariesCountry.cs | 21 ++ .../Requests/GetSearchAllLibrariesDirector.cs | 21 ++ .../GetSearchAllLibrariesFlattenSeasons.cs | 57 ++++ .../Requests/GetSearchAllLibrariesGenre.cs | 21 ++ .../GetSearchAllLibrariesHasThumbnail.cs | 57 ++++ .../Requests/GetSearchAllLibrariesImage.cs | 28 ++ .../GetSearchAllLibrariesLibraryType.cs | 61 ++++ .../Requests/GetSearchAllLibrariesLocation.cs | 21 ++ .../Requests/GetSearchAllLibrariesMedia.cs | 74 +++++ .../GetSearchAllLibrariesMediaContainer.cs | 26 ++ .../GetSearchAllLibrariesMediaGuid.cs | 29 ++ .../GetSearchAllLibrariesMetaDataRating.cs | 36 +++ .../Requests/GetSearchAllLibrariesMetadata.cs | 297 ++++++++++++++++++ ...SearchAllLibrariesOptimizedForStreaming.cs | 20 ++ .../Requests/GetSearchAllLibrariesPart.cs | 66 ++++ .../Requests/GetSearchAllLibrariesRequest.cs | 59 ++++ .../Requests/GetSearchAllLibrariesResponse.cs | 40 +++ .../GetSearchAllLibrariesResponseBody.cs | 25 ++ .../Requests/GetSearchAllLibrariesRole.cs | 54 ++++ .../GetSearchAllLibrariesShowOrdering.cs | 75 +++++ .../Requests/GetSearchAllLibrariesStream.cs | 234 ++++++++++++++ .../Requests/GetSearchAllLibrariesType.cs | 68 ++++ .../GetSearchAllLibrariesUltraBlurColors.cs | 30 ++ .../Requests/GetSearchAllLibrariesWriter.cs | 21 ++ .../Requests/GetTokenDetailsFeatures.cs | 243 -------------- .../Requests/GetTokenDetailsSubscription.cs | 2 +- .../PlexAPI/SDK/Models/Requests/Location.cs | 5 +- .../PlexAPI/SDK/Models/Requests/Media.cs | 22 +- LukeHagar/PlexAPI/SDK/Models/Requests/Part.cs | 4 +- ...stUsersSignInDataAuthenticationFeatures.cs | 243 -------------- ...ersSignInDataAuthenticationSubscription.cs | 2 +- .../Requests/PostUsersSignInDataFeatures.cs | 243 -------------- .../PostUsersSignInDataSubscription.cs | 2 +- .../Requests/QueryParamIncludeCollections.cs | 23 ++ .../QueryParamIncludeExternalMedia.cs | 23 ++ .../SDK/Models/Requests/SearchResult.cs | 25 ++ .../SDK/Models/Requests/SearchTypes.cs | 63 ++++ .../SDK/Models/Requests/Subscription.cs | 2 +- LukeHagar/PlexAPI/SDK/Playlists.cs | 4 +- LukeHagar/PlexAPI/SDK/Plex.cs | 4 +- LukeHagar/PlexAPI/SDK/PlexAPI.cs | 8 +- LukeHagar/PlexAPI/SDK/Search.cs | 4 +- LukeHagar/PlexAPI/SDK/Server.cs | 4 +- LukeHagar/PlexAPI/SDK/Sessions.cs | 4 +- LukeHagar/PlexAPI/SDK/Statistics.cs | 4 +- LukeHagar/PlexAPI/SDK/Updater.cs | 4 +- LukeHagar/PlexAPI/SDK/Video.cs | 4 +- LukeHagar/PlexAPI/SDK/Watchlist.cs | 4 +- README.md | 1 + RELEASES.md | 12 +- codeSamples.yaml | 32 ++ .../Errors/GetSearchAllLibrariesBadRequest.md | 11 + .../Errors/GetSearchAllLibrariesErrors.md | 10 + .../GetSearchAllLibrariesLibraryErrors.md | 10 + .../GetSearchAllLibrariesUnauthorized.md | 11 + docs/Models/Requests/Features.md | 102 ------ .../Requests/GetAllLibrariesDirectory.md | 46 +-- .../Requests/GetAllLibrariesLocation.md | 9 + .../Requests/GetLibraryItemsLocation.md | 8 + docs/Models/Requests/GetLibraryItemsMedia.md | 22 +- .../Requests/GetLibraryItemsMetadata.md | 1 + docs/Models/Requests/GetLibraryItemsPart.md | 4 +- .../Requests/GetRecentlyAddedMetadata.md | 1 + .../GetSearchAllLibrariesCollection.md | 8 + .../Requests/GetSearchAllLibrariesCountry.md | 8 + .../Requests/GetSearchAllLibrariesDirector.md | 8 + .../GetSearchAllLibrariesFlattenSeasons.md | 9 + .../Requests/GetSearchAllLibrariesGenre.md | 8 + .../GetSearchAllLibrariesHasThumbnail.md | 9 + .../Requests/GetSearchAllLibrariesImage.md | 10 + .../GetSearchAllLibrariesLibraryType.md | 11 + .../Requests/GetSearchAllLibrariesLocation.md | 8 + .../Requests/GetSearchAllLibrariesMedia.md | 25 ++ .../GetSearchAllLibrariesMediaContainer.md | 9 + .../GetSearchAllLibrariesMediaGuid.md | 8 + .../GetSearchAllLibrariesMetaDataRating.md | 10 + .../Requests/GetSearchAllLibrariesMetadata.md | 81 +++++ ...SearchAllLibrariesOptimizedForStreaming.md | 9 + .../Requests/GetSearchAllLibrariesPart.md | 20 ++ .../Requests/GetSearchAllLibrariesRequest.md | 13 + .../Requests/GetSearchAllLibrariesResponse.md | 11 + .../GetSearchAllLibrariesResponseBody.md | 10 + .../Requests/GetSearchAllLibrariesRole.md | 13 + .../GetSearchAllLibrariesShowOrdering.md | 20 ++ .../Requests/GetSearchAllLibrariesStream.md | 45 +++ .../Requests/GetSearchAllLibrariesType.md | 14 + .../GetSearchAllLibrariesUltraBlurColors.md | 11 + .../Requests/GetSearchAllLibrariesWriter.md | 8 + .../Requests/GetTokenDetailsFeatures.md | 102 ------ .../Requests/GetTokenDetailsSubscription.md | 2 +- docs/Models/Requests/Location.md | 3 +- docs/Models/Requests/Media.md | 22 +- docs/Models/Requests/Part.md | 4 +- ...stUsersSignInDataAuthenticationFeatures.md | 102 ------ ...ersSignInDataAuthenticationSubscription.md | 2 +- .../Requests/PostUsersSignInDataFeatures.md | 102 ------ .../PostUsersSignInDataSubscription.md | 2 +- .../Requests/QueryParamIncludeCollections.md | 11 + .../QueryParamIncludeExternalMedia.md | 11 + docs/Models/Requests/SearchResult.md | 9 + docs/Models/Requests/SearchTypes.md | 12 + docs/Models/Requests/Subscription.md | 2 +- docs/sdks/library/README.md | 55 ++++ docs/sdks/plexapi/README.md | 2 +- 128 files changed, 2727 insertions(+), 1529 deletions(-) create mode 100644 LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesBadRequest.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesErrors.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesLibraryErrors.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesUnauthorized.cs delete mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/Features.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesLocation.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLocation.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesCollection.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesCountry.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesDirector.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesFlattenSeasons.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesGenre.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesHasThumbnail.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesImage.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesLibraryType.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesLocation.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMedia.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMediaContainer.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMediaGuid.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMetaDataRating.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMetadata.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesOptimizedForStreaming.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesPart.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesRequest.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesResponse.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesResponseBody.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesRole.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesShowOrdering.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesStream.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesType.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesUltraBlurColors.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesWriter.cs delete mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsFeatures.cs delete mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationFeatures.cs delete mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataFeatures.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeCollections.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeExternalMedia.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/SearchResult.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/SearchTypes.cs create mode 100644 docs/Models/Errors/GetSearchAllLibrariesBadRequest.md create mode 100644 docs/Models/Errors/GetSearchAllLibrariesErrors.md create mode 100644 docs/Models/Errors/GetSearchAllLibrariesLibraryErrors.md create mode 100644 docs/Models/Errors/GetSearchAllLibrariesUnauthorized.md delete mode 100644 docs/Models/Requests/Features.md create mode 100644 docs/Models/Requests/GetAllLibrariesLocation.md create mode 100644 docs/Models/Requests/GetLibraryItemsLocation.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesCollection.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesCountry.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesDirector.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesFlattenSeasons.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesGenre.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesHasThumbnail.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesImage.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesLibraryType.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesLocation.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesMedia.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesMediaContainer.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesMediaGuid.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesMetaDataRating.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesMetadata.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesOptimizedForStreaming.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesPart.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesRequest.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesResponse.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesResponseBody.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesRole.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesShowOrdering.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesStream.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesType.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesUltraBlurColors.md create mode 100644 docs/Models/Requests/GetSearchAllLibrariesWriter.md delete mode 100644 docs/Models/Requests/GetTokenDetailsFeatures.md delete mode 100644 docs/Models/Requests/PostUsersSignInDataAuthenticationFeatures.md delete mode 100644 docs/Models/Requests/PostUsersSignInDataFeatures.md create mode 100644 docs/Models/Requests/QueryParamIncludeCollections.md create mode 100644 docs/Models/Requests/QueryParamIncludeExternalMedia.md create mode 100644 docs/Models/Requests/SearchResult.md create mode 100644 docs/Models/Requests/SearchTypes.md diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index f2e9808..86e6f8a 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9 management: - docChecksum: 649b155561aeea4d804f8713e7b2dcac + docChecksum: 1ee2e5413af07e886e33659b9b269dd5 docVersion: 0.0.3 speakeasyVersion: 1.405.8 generationVersion: 2.429.0 - releaseVersion: 0.9.1 - configChecksum: 38ad5ccb4192ab52c8c4eb6945073cbf + releaseVersion: 0.9.2 + configChecksum: 81c2971806adecbcf35170ac11c4c585 repoURL: https://github.com/LukeHagar/plexcsharp.git repoSubDirectory: . published: true @@ -189,6 +189,10 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Errors/GetResourcesStatisticsErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetResourcesStatisticsStatisticsErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetResourcesStatisticsUnauthorized.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesBadRequest.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesLibraryErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesUnauthorized.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchLibraryBadRequest.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchLibraryErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchLibraryLibraryErrors.cs @@ -382,7 +386,6 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/Download.cs - LukeHagar/PlexAPI/SDK/Models/Requests/EnablePaperTrailResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Feature.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/Features.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Field.cs - LukeHagar/PlexAPI/SDK/Models/Requests/FieldType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Filter.cs @@ -392,6 +395,7 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/Genre.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GeoData.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesDirectory.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesLocation.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesMediaContainer.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesResponseBody.cs @@ -469,6 +473,7 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryResponseType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibrarySort.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryType.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLocation.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMedia.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaContainer.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaGuid.cs @@ -588,6 +593,31 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetResourcesStatisticsRequest.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetResourcesStatisticsResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetResourcesStatisticsResponseBody.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesCollection.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesCountry.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesDirector.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesFlattenSeasons.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesGenre.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesHasThumbnail.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesImage.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesLibraryType.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesLocation.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMedia.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMediaContainer.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMediaGuid.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMetaDataRating.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMetadata.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesOptimizedForStreaming.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesPart.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesRequest.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesResponse.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesResponseBody.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesRole.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesShowOrdering.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesStream.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesType.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesUltraBlurColors.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesWriter.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryMediaContainer.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryMetadata.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryQueryParamType.cs @@ -653,7 +683,6 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenByPinIdResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsAuthenticationResponseStatus.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsAuthenticationStatus.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsFeatures.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsStatus.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsSubscription.cs @@ -729,14 +758,12 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/Player.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PlaylistType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PlexDevice.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationFeatures.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationResponseStatus.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationStatus.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationSubscription.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAutoSelectSubtitle.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataDefaultSubtitleAccessibility.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataDefaultSubtitleForced.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataFeatures.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataMailingListStatus.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataMediaReviewsVisibility.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataRequest.cs @@ -754,6 +781,8 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/Provider.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamFilter.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamForce.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeCollections.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeExternalMedia.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeMeta.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamOnlyTransient.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamSmart.cs @@ -763,6 +792,8 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/ResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Role.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Scope.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/SearchResult.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/SearchTypes.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Server.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Services.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Session.cs @@ -981,6 +1012,10 @@ generatedFiles: - docs/Models/Errors/GetResourcesStatisticsErrors.md - docs/Models/Errors/GetResourcesStatisticsStatisticsErrors.md - docs/Models/Errors/GetResourcesStatisticsUnauthorized.md + - docs/Models/Errors/GetSearchAllLibrariesBadRequest.md + - docs/Models/Errors/GetSearchAllLibrariesErrors.md + - docs/Models/Errors/GetSearchAllLibrariesLibraryErrors.md + - docs/Models/Errors/GetSearchAllLibrariesUnauthorized.md - docs/Models/Errors/GetSearchLibraryBadRequest.md - docs/Models/Errors/GetSearchLibraryErrors.md - docs/Models/Errors/GetSearchLibraryLibraryErrors.md @@ -1173,7 +1208,6 @@ generatedFiles: - docs/Models/Requests/Download.md - docs/Models/Requests/EnablePaperTrailResponse.md - docs/Models/Requests/Feature.md - - docs/Models/Requests/Features.md - docs/Models/Requests/Field.md - docs/Models/Requests/FieldType.md - docs/Models/Requests/Filter.md @@ -1183,6 +1217,7 @@ generatedFiles: - docs/Models/Requests/Genre.md - docs/Models/Requests/GeoData.md - docs/Models/Requests/GetAllLibrariesDirectory.md + - docs/Models/Requests/GetAllLibrariesLocation.md - docs/Models/Requests/GetAllLibrariesMediaContainer.md - docs/Models/Requests/GetAllLibrariesResponse.md - docs/Models/Requests/GetAllLibrariesResponseBody.md @@ -1260,6 +1295,7 @@ generatedFiles: - docs/Models/Requests/GetLibraryItemsLibraryResponseType.md - docs/Models/Requests/GetLibraryItemsLibrarySort.md - docs/Models/Requests/GetLibraryItemsLibraryType.md + - docs/Models/Requests/GetLibraryItemsLocation.md - docs/Models/Requests/GetLibraryItemsMedia.md - docs/Models/Requests/GetLibraryItemsMediaContainer.md - docs/Models/Requests/GetLibraryItemsMediaGuid.md @@ -1379,6 +1415,31 @@ generatedFiles: - docs/Models/Requests/GetResourcesStatisticsRequest.md - docs/Models/Requests/GetResourcesStatisticsResponse.md - docs/Models/Requests/GetResourcesStatisticsResponseBody.md + - docs/Models/Requests/GetSearchAllLibrariesCollection.md + - docs/Models/Requests/GetSearchAllLibrariesCountry.md + - docs/Models/Requests/GetSearchAllLibrariesDirector.md + - docs/Models/Requests/GetSearchAllLibrariesFlattenSeasons.md + - docs/Models/Requests/GetSearchAllLibrariesGenre.md + - docs/Models/Requests/GetSearchAllLibrariesHasThumbnail.md + - docs/Models/Requests/GetSearchAllLibrariesImage.md + - docs/Models/Requests/GetSearchAllLibrariesLibraryType.md + - docs/Models/Requests/GetSearchAllLibrariesLocation.md + - docs/Models/Requests/GetSearchAllLibrariesMedia.md + - docs/Models/Requests/GetSearchAllLibrariesMediaContainer.md + - docs/Models/Requests/GetSearchAllLibrariesMediaGuid.md + - docs/Models/Requests/GetSearchAllLibrariesMetaDataRating.md + - docs/Models/Requests/GetSearchAllLibrariesMetadata.md + - docs/Models/Requests/GetSearchAllLibrariesOptimizedForStreaming.md + - docs/Models/Requests/GetSearchAllLibrariesPart.md + - docs/Models/Requests/GetSearchAllLibrariesRequest.md + - docs/Models/Requests/GetSearchAllLibrariesResponse.md + - docs/Models/Requests/GetSearchAllLibrariesResponseBody.md + - docs/Models/Requests/GetSearchAllLibrariesRole.md + - docs/Models/Requests/GetSearchAllLibrariesShowOrdering.md + - docs/Models/Requests/GetSearchAllLibrariesStream.md + - docs/Models/Requests/GetSearchAllLibrariesType.md + - docs/Models/Requests/GetSearchAllLibrariesUltraBlurColors.md + - docs/Models/Requests/GetSearchAllLibrariesWriter.md - docs/Models/Requests/GetSearchLibraryMediaContainer.md - docs/Models/Requests/GetSearchLibraryMetadata.md - docs/Models/Requests/GetSearchLibraryQueryParamType.md @@ -1444,7 +1505,6 @@ generatedFiles: - docs/Models/Requests/GetTokenByPinIdResponse.md - docs/Models/Requests/GetTokenDetailsAuthenticationResponseStatus.md - docs/Models/Requests/GetTokenDetailsAuthenticationStatus.md - - docs/Models/Requests/GetTokenDetailsFeatures.md - docs/Models/Requests/GetTokenDetailsResponse.md - docs/Models/Requests/GetTokenDetailsStatus.md - docs/Models/Requests/GetTokenDetailsSubscription.md @@ -1520,14 +1580,12 @@ generatedFiles: - docs/Models/Requests/Player.md - docs/Models/Requests/PlaylistType.md - docs/Models/Requests/PlexDevice.md - - docs/Models/Requests/PostUsersSignInDataAuthenticationFeatures.md - docs/Models/Requests/PostUsersSignInDataAuthenticationResponseStatus.md - docs/Models/Requests/PostUsersSignInDataAuthenticationStatus.md - docs/Models/Requests/PostUsersSignInDataAuthenticationSubscription.md - docs/Models/Requests/PostUsersSignInDataAutoSelectSubtitle.md - docs/Models/Requests/PostUsersSignInDataDefaultSubtitleAccessibility.md - docs/Models/Requests/PostUsersSignInDataDefaultSubtitleForced.md - - docs/Models/Requests/PostUsersSignInDataFeatures.md - docs/Models/Requests/PostUsersSignInDataMailingListStatus.md - docs/Models/Requests/PostUsersSignInDataMediaReviewsVisibility.md - docs/Models/Requests/PostUsersSignInDataRequest.md @@ -1545,6 +1603,8 @@ generatedFiles: - docs/Models/Requests/Provider.md - docs/Models/Requests/QueryParamFilter.md - docs/Models/Requests/QueryParamForce.md + - docs/Models/Requests/QueryParamIncludeCollections.md + - docs/Models/Requests/QueryParamIncludeExternalMedia.md - docs/Models/Requests/QueryParamIncludeMeta.md - docs/Models/Requests/QueryParamOnlyTransient.md - docs/Models/Requests/QueryParamSmart.md @@ -1554,6 +1614,8 @@ generatedFiles: - docs/Models/Requests/ResponseBody.md - docs/Models/Requests/Role.md - docs/Models/Requests/Scope.md + - docs/Models/Requests/SearchResult.md + - docs/Models/Requests/SearchTypes.md - docs/Models/Requests/Server.md - docs/Models/Requests/Services.md - docs/Models/Requests/Session.md @@ -2141,7 +2203,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"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"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}], "size": 70, "totalSize": 170, "offset": 0, "content": "secondary", "allowSync": true, "nocache": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1701731894, "thumb": "/:/resources/movie.png", "title1": "Movies", "title2": "Recently Released", "viewGroup": "movie", "viewMode": 65592, "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}}} + application/json: {"MediaContainer": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"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"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}], "size": 70, "totalSize": 170, "offset": 0, "content": "secondary", "allowSync": true, "nocache": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1701731894, "thumb": "/:/resources/movie.png", "title1": "Movies", "title2": "Recently Released", "viewGroup": "movie", "viewMode": 65592, "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": @@ -2659,7 +2721,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": []}, {"type": "tag", "Operator": []}]}, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": []}]}], "Genre": [{"tag": "Adventure"}], "Country": [], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [], "Collection": [], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}]}} + application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": []}, {"type": "tag", "Operator": []}]}, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": []}]}], "Genre": [{"tag": "Adventure"}], "Country": [], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [], "Collection": [], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}]}} get-recently-added-library: speakeasy-default-get-recently-added-library: parameters: @@ -2678,3 +2740,20 @@ examples: application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-search-all-libraries: + "": + parameters: + query: + query: "" + searchTypes: ["people"] + includeCollections: 1 + includeExternalMedia: 1 + header: + X-Plex-Client-Identifier: "3381b62b-9ab7-4e37-827b-203e9809eb58" + responses: + "200": + application/json: {"MediaContainer": {"size": "9266.90", "SearchResult": [{"score": "2698.71", "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}], "Writer": [], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}, {"score": "9681.40", "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [], "Genre": [], "Country": [], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}], "Guid": [], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}, {"score": "1665.12", "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}, {"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}}]}} + "400": + application/json: {"errors": []} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 3c6d394..2e31ea4 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: true csharp: - version: 0.9.1 + version: 0.9.2 additionalDependencies: [] author: LukeHagar clientServerStatusCodesAsErrors: true diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index e175f04..6f9041f 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -16,8 +16,8 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:b1e231bd781f352738612b0158382ba51cfac32e97c23d9e4913aab5501e9529 - sourceBlobDigest: sha256:8ce05d5965182eb3fe9376715c269b9e1c7f3e2d90273c175a4181735f41daa0 + sourceRevisionDigest: sha256:c6ab8f13847c7cdc4ab3752f517164d7da08266726255aa0d614b1eaea66fb0e + sourceBlobDigest: sha256:64c7694915a0828aeb256d10d2fa0ea477681785b818916b6681be8cc5ffb93b tags: - latest - main @@ -25,10 +25,10 @@ targets: plexcsharp: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:b1e231bd781f352738612b0158382ba51cfac32e97c23d9e4913aab5501e9529 - sourceBlobDigest: sha256:8ce05d5965182eb3fe9376715c269b9e1c7f3e2d90273c175a4181735f41daa0 + sourceRevisionDigest: sha256:c6ab8f13847c7cdc4ab3752f517164d7da08266726255aa0d614b1eaea66fb0e + sourceBlobDigest: sha256:64c7694915a0828aeb256d10d2fa0ea477681785b818916b6681be8cc5ffb93b codeSamplesNamespace: code-samples-csharp-plexcsharp - codeSamplesRevisionDigest: sha256:ef462cf1d9335608fd53502cd183401b095536041eac8d1b26d2e1c3366e6a0e + codeSamplesRevisionDigest: sha256:92500227f7e52cdceac29cb2915dfe637ad1432c312c69dd3acb197b357a3577 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/LukeHagar/PlexAPI/SDK/Activities.cs b/LukeHagar/PlexAPI/SDK/Activities.cs index 41455da..ff58d15 100644 --- a/LukeHagar/PlexAPI/SDK/Activities.cs +++ b/LukeHagar/PlexAPI/SDK/Activities.cs @@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Authentication.cs b/LukeHagar/PlexAPI/SDK/Authentication.cs index 2e3139f..f31f1fc 100644 --- a/LukeHagar/PlexAPI/SDK/Authentication.cs +++ b/LukeHagar/PlexAPI/SDK/Authentication.cs @@ -95,10 +95,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Butler.cs b/LukeHagar/PlexAPI/SDK/Butler.cs index 32e1d2e..d49b401 100644 --- a/LukeHagar/PlexAPI/SDK/Butler.cs +++ b/LukeHagar/PlexAPI/SDK/Butler.cs @@ -101,10 +101,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Hubs.cs b/LukeHagar/PlexAPI/SDK/Hubs.cs index ed71bf7..3a06bd2 100644 --- a/LukeHagar/PlexAPI/SDK/Hubs.cs +++ b/LukeHagar/PlexAPI/SDK/Hubs.cs @@ -73,10 +73,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Library.cs b/LukeHagar/PlexAPI/SDK/Library.cs index dc89707..1def081 100644 --- a/LukeHagar/PlexAPI/SDK/Library.cs +++ b/LukeHagar/PlexAPI/SDK/Library.cs @@ -189,6 +189,16 @@ namespace LukeHagar.PlexAPI.SDK /// Task GetSearchLibraryAsync(int sectionKey, GetSearchLibraryQueryParamType type, RetryConfig? retryConfig = null); + /// + /// Search All Libraries + /// + /// + /// Search the provided query across all library sections, or a single section, and return matches as hubs, split up by type.
+ /// + ///
+ ///
+ Task GetSearchAllLibrariesAsync(GetSearchAllLibrariesRequest request, RetryConfig? retryConfig = null); + /// /// Get Metadata by RatingKey /// @@ -241,10 +251,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -1290,6 +1300,142 @@ namespace LukeHagar.PlexAPI.SDK throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } + public async Task GetSearchAllLibrariesAsync(GetSearchAllLibrariesRequest request, RetryConfig? retryConfig = null) + { + if (request == null) + { + request = new GetSearchAllLibrariesRequest(); + } + request.ClientID ??= SDKConfiguration.ClientID; + + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/library/search", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("get-search-all-libraries", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + if (retryConfig == null) + { + if (this.SDKConfiguration.RetryConfig != null) + { + retryConfig = this.SDKConfiguration.RetryConfig; + } + else + { + var backoff = new BackoffStrategy( + initialIntervalMs: 500L, + maxIntervalMs: 60000L, + maxElapsedTimeMs: 3600000L, + exponent: 1.5 + ); + retryConfig = new RetryConfig( + strategy: RetryConfig.RetryStrategy.BACKOFF, + backoff: backoff, + retryConnectionErrors: true + ); + } + } + + List statusCodes = new List + { + "5XX", + }; + + Func> retrySend = async () => + { + var _httpRequest = await _client.CloneAsync(httpRequest); + return await _client.SendAsync(_httpRequest); + }; + var retries = new LukeHagar.PlexAPI.SDK.Utils.Retries.Retries(retrySend, retryConfig, statusCodes); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await retries.Run(); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new GetSearchAllLibrariesResponse() + { + StatusCode = responseStatusCode, + ContentType = contentType, + RawResponse = httpResponse + }; + response.Object = obj; + return response; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + obj!.RawResponse = httpResponse; + throw obj!; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + obj!.RawResponse = httpResponse; + throw obj!; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + + throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + public async Task GetMetaDataByRatingKeyAsync(long ratingKey, RetryConfig? retryConfig = null) { var request = new GetMetaDataByRatingKeyRequest() diff --git a/LukeHagar/PlexAPI/SDK/Log.cs b/LukeHagar/PlexAPI/SDK/Log.cs index cb7d5f5..60519d2 100644 --- a/LukeHagar/PlexAPI/SDK/Log.cs +++ b/LukeHagar/PlexAPI/SDK/Log.cs @@ -94,10 +94,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj b/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj index b46c6d2..7695ce6 100644 --- a/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj +++ b/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj @@ -3,7 +3,7 @@ true LukeHagar.PlexAPI.SDK - 0.9.1 + 0.9.2 net8.0 LukeHagar Copyright (c) LukeHagar 2024 @@ -33,7 +33,7 @@ The following SDKs are generated from the OpenAPI Specification. They are automa | Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - | | PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - | | Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - | -| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | - +| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | - diff --git a/LukeHagar/PlexAPI/SDK/Media.cs b/LukeHagar/PlexAPI/SDK/Media.cs index 61a1809..b1351a3 100644 --- a/LukeHagar/PlexAPI/SDK/Media.cs +++ b/LukeHagar/PlexAPI/SDK/Media.cs @@ -90,10 +90,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesBadRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesBadRequest.cs new file mode 100644 index 0000000..f690bd0 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesBadRequest.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Models.Errors; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http; + using System; + + /// + /// Bad Request - A parameter was not specified, or was specified incorrectly. + /// + public class GetSearchAllLibrariesBadRequest : Exception + { + + [JsonProperty("errors")] + public List? Errors { get; set; } + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + [JsonProperty("-")] + public HttpResponseMessage? RawResponse { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesErrors.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesErrors.cs new file mode 100644 index 0000000..1774d69 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesErrors.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesErrors + { + + [JsonProperty("code")] + public int? Code { get; set; } + + [JsonProperty("message")] + public string? Message { get; set; } + + [JsonProperty("status")] + public int? Status { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesLibraryErrors.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesLibraryErrors.cs new file mode 100644 index 0000000..cf28485 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesLibraryErrors.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesLibraryErrors + { + + [JsonProperty("code")] + public int? Code { get; set; } + + [JsonProperty("message")] + public string? Message { get; set; } + + [JsonProperty("status")] + public int? Status { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesUnauthorized.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesUnauthorized.cs new file mode 100644 index 0000000..d2b5225 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetSearchAllLibrariesUnauthorized.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Models.Errors; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System.Net.Http; + using System; + + /// + /// Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + /// + public class GetSearchAllLibrariesUnauthorized : Exception + { + + [JsonProperty("errors")] + public List? Errors { get; set; } + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + [JsonProperty("-")] + public HttpResponseMessage? RawResponse { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Features.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Features.cs deleted file mode 100644 index 74440b6..0000000 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Features.cs +++ /dev/null @@ -1,243 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. -// -// Changes to this file may cause incorrect behavior and will be lost when -// the code is regenerated. -// -//------------------------------------------------------------------------------ -#nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests -{ - using LukeHagar.PlexAPI.SDK.Utils; - using Newtonsoft.Json; - using System; - - public enum Features - { - [JsonProperty("Android - Dolby Vision")] - AndroidDolbyVision, - [JsonProperty("Android - PiP")] - AndroidPiP, - [JsonProperty("CU Sunset")] - CUSunset, - [JsonProperty("HRK_enable_EUR")] - HRKEnableEUR, - [JsonProperty("TREBLE-show-features")] - TREBLEShowFeatures, - [JsonProperty("ad-countdown-timer")] - AdCountdownTimer, - [JsonProperty("adaptive_bitrate")] - AdaptiveBitrate, - [JsonProperty("album-types")] - AlbumTypes, - [JsonProperty("allow_dvr")] - AllowDvr, - [JsonProperty("amazon-loop-debug")] - AmazonLoopDebug, - [JsonProperty("avod-ad-analysis")] - AvodAdAnalysis, - [JsonProperty("avod-new-media")] - AvodNewMedia, - [JsonProperty("blacklist_get_signin")] - BlacklistGetSignin, - [JsonProperty("boost-voices")] - BoostVoices, - [JsonProperty("camera_upload")] - CameraUpload, - [JsonProperty("client-radio-stations")] - ClientRadioStations, - [JsonProperty("cloudflare-turnstile-required")] - CloudflareTurnstileRequired, - [JsonProperty("cloudsync")] - Cloudsync, - [JsonProperty("collections")] - Collections, - [JsonProperty("comments_and_replies_push_notifications")] - CommentsAndRepliesPushNotifications, - [JsonProperty("community_access_plex_tv")] - CommunityAccessPlexTv, - [JsonProperty("companions_sonos")] - CompanionsSonos, - [JsonProperty("content_filter")] - ContentFilter, - [JsonProperty("custom-home-removal")] - CustomHomeRemoval, - [JsonProperty("disable_home_user_friendships")] - DisableHomeUserFriendships, - [JsonProperty("disable_sharing_friendships")] - DisableSharingFriendships, - [JsonProperty("downloads-gating")] - DownloadsGating, - [JsonProperty("drm_support")] - DrmSupport, - [JsonProperty("dvr")] - Dvr, - [JsonProperty("dvr-block-unsupported-countries")] - DvrBlockUnsupportedCountries, - [JsonProperty("epg-recent-channels")] - EpgRecentChannels, - [JsonProperty("exclude restrictions")] - ExcludeRestrictions, - [JsonProperty("federated-auth")] - FederatedAuth, - [JsonProperty("friend_request_push_notifications")] - FriendRequestPushNotifications, - [JsonProperty("grandfather-sync")] - GrandfatherSync, - [JsonProperty("guided-upgrade")] - GuidedUpgrade, - [JsonProperty("hardware_transcoding")] - HardwareTranscoding, - [JsonProperty("home")] - Home, - [JsonProperty("hwtranscode")] - Hwtranscode, - [JsonProperty("imagga-v2")] - ImaggaV2, - [JsonProperty("increase-password-complexity")] - IncreasePasswordComplexity, - [JsonProperty("ios14-privacy-banner")] - Ios14PrivacyBanner, - [JsonProperty("iterable-notification-tokens")] - IterableNotificationTokens, - [JsonProperty("item_clusters")] - ItemClusters, - [JsonProperty("keep-payment-method")] - KeepPaymentMethod, - [JsonProperty("kevin-bacon")] - KevinBacon, - [JsonProperty("korea-consent")] - KoreaConsent, - [JsonProperty("le_isrg_root_x1")] - LeIsrgRootX1, - [JsonProperty("lets_encrypt")] - LetsEncrypt, - [JsonProperty("lightning-dvr-pivot")] - LightningDvrPivot, - [JsonProperty("live-tv-support-incomplete-segments")] - LiveTvSupportIncompleteSegments, - [JsonProperty("livetv")] - Livetv, - [JsonProperty("lyrics")] - Lyrics, - [JsonProperty("metadata_search")] - MetadataSearch, - [JsonProperty("music-analysis")] - MusicAnalysis, - [JsonProperty("music_videos")] - MusicVideos, - [JsonProperty("new_plex_pass_prices")] - NewPlexPassPrices, - [JsonProperty("news-provider-sunset-modal")] - NewsProviderSunsetModal, - [JsonProperty("nominatim")] - Nominatim, - [JsonProperty("pass")] - Pass, - [JsonProperty("photos-favorites")] - PhotosFavorites, - [JsonProperty("photos-metadata-edition")] - PhotosMetadataEdition, - [JsonProperty("photosV6-edit")] - PhotosV6Edit, - [JsonProperty("photosV6-tv-albums")] - PhotosV6TvAlbums, - [JsonProperty("pms_health")] - PmsHealth, - [JsonProperty("premium-dashboard")] - PremiumDashboard, - [JsonProperty("premium_music_metadata")] - PremiumMusicMetadata, - [JsonProperty("radio")] - Radio, - [JsonProperty("rate-limit-client-token")] - RateLimitClientToken, - [JsonProperty("scrobbling-service-plex-tv")] - ScrobblingServicePlexTv, - [JsonProperty("session_bandwidth_restrictions")] - SessionBandwidthRestrictions, - [JsonProperty("session_kick")] - SessionKick, - [JsonProperty("shared_server_notification")] - SharedServerNotification, - [JsonProperty("shared_source_notification")] - SharedSourceNotification, - [JsonProperty("signin_notification")] - SigninNotification, - [JsonProperty("signin_with_apple")] - SigninWithApple, - [JsonProperty("silence-removal")] - SilenceRemoval, - [JsonProperty("sleep-timer")] - SleepTimer, - [JsonProperty("spring_serve_ad_provider")] - SpringServeAdProvider, - [JsonProperty("sync")] - Sync, - [JsonProperty("sweet-fades")] - SweetFades, - [JsonProperty("transcoder_cache")] - TranscoderCache, - [JsonProperty("trailers")] - Trailers, - [JsonProperty("tuner-sharing")] - TunerSharing, - [JsonProperty("two-factor-authentication")] - TwoFactorAuthentication, - [JsonProperty("unsupportedtuners")] - Unsupportedtuners, - [JsonProperty("upgrade-3ds2")] - Upgrade3ds2, - [JsonProperty("visualizers")] - Visualizers, - [JsonProperty("vod-schema")] - VodSchema, - [JsonProperty("vod_cloudflare")] - VodCloudflare, - [JsonProperty("volume-leveling")] - VolumeLeveling, - [JsonProperty("watch-together-invite")] - WatchTogetherInvite, - [JsonProperty("watchlist-rss")] - WatchlistRss, - [JsonProperty("web_server_dashboard")] - WebServerDashboard, - [JsonProperty("webhooks")] - Webhooks, - } - - public static class FeaturesExtension - { - public static string Value(this Features value) - { - return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); - } - - public static Features ToEnum(this string value) - { - foreach(var field in typeof(Features).GetFields()) - { - var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); - if (attributes.Length == 0) - { - continue; - } - - var attribute = attributes[0] as JsonPropertyAttribute; - if (attribute != null && attribute.PropertyName == value) - { - var enumVal = field.GetValue(null); - - if (enumVal is Features) - { - return (Features)enumVal; - } - } - } - - throw new Exception($"Unknown value {value} for enum Features"); - } - } - -} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesDirectory.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesDirectory.cs index 429deae..e05a269 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesDirectory.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesDirectory.cs @@ -90,6 +90,6 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public int Hidden { get; set; } = default!; [JsonProperty("Location")] - public List Location { get; set; } = default!; + public List Location { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesLocation.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesLocation.cs new file mode 100644 index 0000000..647fdf1 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesLocation.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetAllLibrariesLocation + { + + [JsonProperty("id")] + public int Id { get; set; } = default!; + + [JsonProperty("path")] + public string Path { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLocation.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLocation.cs new file mode 100644 index 0000000..b343f17 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLocation.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryItemsLocation + { + + [JsonProperty("path")] + public string? Path { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMedia.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMedia.cs index 35d2634..2c110e9 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMedia.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMedia.cs @@ -21,43 +21,43 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public int Id { get; set; } = default!; [JsonProperty("duration")] - public int Duration { get; set; } = default!; + public int? Duration { get; set; } [JsonProperty("bitrate")] - public int Bitrate { get; set; } = default!; + public int? Bitrate { get; set; } [JsonProperty("width")] - public int Width { get; set; } = default!; + public int? Width { get; set; } [JsonProperty("height")] - public int Height { get; set; } = default!; + public int? Height { get; set; } [JsonProperty("aspectRatio")] - public double AspectRatio { get; set; } = default!; + public double? AspectRatio { get; set; } [JsonProperty("audioProfile")] public string? AudioProfile { get; set; } [JsonProperty("audioChannels")] - public int AudioChannels { get; set; } = default!; + public int? AudioChannels { get; set; } [JsonProperty("audioCodec")] - public string AudioCodec { get; set; } = default!; + public string? AudioCodec { get; set; } [JsonProperty("videoCodec")] - public string VideoCodec { get; set; } = default!; + public string? VideoCodec { get; set; } [JsonProperty("videoResolution")] - public string VideoResolution { get; set; } = default!; + public string? VideoResolution { get; set; } [JsonProperty("container")] public string Container { get; set; } = default!; [JsonProperty("videoFrameRate")] - public string VideoFrameRate { get; set; } = default!; + public string? VideoFrameRate { get; set; } [JsonProperty("videoProfile")] - public string VideoProfile { get; set; } = default!; + public string? VideoProfile { get; set; } [JsonProperty("hasVoiceActivity")] public bool? HasVoiceActivity { get; set; } diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetadata.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetadata.cs index 8c93337..72234d5 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetadata.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetadata.cs @@ -199,6 +199,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests [JsonProperty("Role")] public List? Role { get; set; } + [JsonProperty("Location")] + public List? Location { get; set; } + /// /// The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
/// diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsPart.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsPart.cs index 66689d9..e3659de 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsPart.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsPart.cs @@ -24,7 +24,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public string Key { get; set; } = default!; [JsonProperty("duration")] - public int Duration { get; set; } = default!; + public int? Duration { get; set; } [JsonProperty("file")] public string File { get; set; } = default!; @@ -52,7 +52,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public bool? OptimizedForStreaming { get; set; } [JsonProperty("videoProfile")] - public string VideoProfile { get; set; } = default!; + public string? VideoProfile { get; set; } [JsonProperty("indexes")] public string? Indexes { get; set; } diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMetadata.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMetadata.cs index 8a33468..184017f 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMetadata.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMetadata.cs @@ -199,6 +199,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests [JsonProperty("Role")] public List? Role { get; set; } + [JsonProperty("Location")] + public List? Location { get; set; } + /// /// The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
/// diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesCollection.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesCollection.cs new file mode 100644 index 0000000..81ad536 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesCollection.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesCollection + { + + [JsonProperty("tag")] + public string? Tag { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesCountry.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesCountry.cs new file mode 100644 index 0000000..9f3bb98 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesCountry.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesCountry + { + + [JsonProperty("tag")] + public string? Tag { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesDirector.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesDirector.cs new file mode 100644 index 0000000..7dd08ff --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesDirector.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesDirector + { + + [JsonProperty("tag")] + public string? Tag { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesFlattenSeasons.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesFlattenSeasons.cs new file mode 100644 index 0000000..09a4b8a --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesFlattenSeasons.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum GetSearchAllLibrariesFlattenSeasons + { + [JsonProperty("0")] + False, + [JsonProperty("1")] + True, + } + + public static class GetSearchAllLibrariesFlattenSeasonsExtension + { + public static string Value(this GetSearchAllLibrariesFlattenSeasons value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetSearchAllLibrariesFlattenSeasons ToEnum(this string value) + { + foreach(var field in typeof(GetSearchAllLibrariesFlattenSeasons).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetSearchAllLibrariesFlattenSeasons) + { + return (GetSearchAllLibrariesFlattenSeasons)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetSearchAllLibrariesFlattenSeasons"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesGenre.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesGenre.cs new file mode 100644 index 0000000..1d87ddd --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesGenre.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesGenre + { + + [JsonProperty("tag")] + public string? Tag { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesHasThumbnail.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesHasThumbnail.cs new file mode 100644 index 0000000..bd471f3 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesHasThumbnail.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum GetSearchAllLibrariesHasThumbnail + { + [JsonProperty("0")] + False, + [JsonProperty("1")] + True, + } + + public static class GetSearchAllLibrariesHasThumbnailExtension + { + public static string Value(this GetSearchAllLibrariesHasThumbnail value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetSearchAllLibrariesHasThumbnail ToEnum(this string value) + { + foreach(var field in typeof(GetSearchAllLibrariesHasThumbnail).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetSearchAllLibrariesHasThumbnail) + { + return (GetSearchAllLibrariesHasThumbnail)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetSearchAllLibrariesHasThumbnail"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesImage.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesImage.cs new file mode 100644 index 0000000..8b66334 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesImage.cs @@ -0,0 +1,28 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesImage + { + + [JsonProperty("alt")] + public string Alt { get; set; } = default!; + + [JsonProperty("type")] + public GetSearchAllLibrariesLibraryType Type { get; set; } = default!; + + [JsonProperty("url")] + public string Url { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesLibraryType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesLibraryType.cs new file mode 100644 index 0000000..e582745 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesLibraryType.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum GetSearchAllLibrariesLibraryType + { + [JsonProperty("coverPoster")] + CoverPoster, + [JsonProperty("background")] + Background, + [JsonProperty("snapshot")] + Snapshot, + [JsonProperty("clearLogo")] + ClearLogo, + } + + public static class GetSearchAllLibrariesLibraryTypeExtension + { + public static string Value(this GetSearchAllLibrariesLibraryType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetSearchAllLibrariesLibraryType ToEnum(this string value) + { + foreach(var field in typeof(GetSearchAllLibrariesLibraryType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetSearchAllLibrariesLibraryType) + { + return (GetSearchAllLibrariesLibraryType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetSearchAllLibrariesLibraryType"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesLocation.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesLocation.cs new file mode 100644 index 0000000..0ab8415 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesLocation.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesLocation + { + + [JsonProperty("path")] + public string? Path { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMedia.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMedia.cs new file mode 100644 index 0000000..5790749 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMedia.cs @@ -0,0 +1,74 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetSearchAllLibrariesMedia + { + + [JsonProperty("id")] + public int Id { get; set; } = default!; + + [JsonProperty("duration")] + public int? Duration { get; set; } + + [JsonProperty("bitrate")] + public int? Bitrate { get; set; } + + [JsonProperty("width")] + public int? Width { get; set; } + + [JsonProperty("height")] + public int? Height { get; set; } + + [JsonProperty("aspectRatio")] + public double? AspectRatio { get; set; } + + [JsonProperty("audioProfile")] + public string? AudioProfile { get; set; } + + [JsonProperty("audioChannels")] + public int? AudioChannels { get; set; } + + [JsonProperty("audioCodec")] + public string? AudioCodec { get; set; } + + [JsonProperty("videoCodec")] + public string? VideoCodec { get; set; } + + [JsonProperty("videoResolution")] + public string? VideoResolution { get; set; } + + [JsonProperty("container")] + public string Container { get; set; } = default!; + + [JsonProperty("videoFrameRate")] + public string? VideoFrameRate { get; set; } + + [JsonProperty("videoProfile")] + public string? VideoProfile { get; set; } + + [JsonProperty("hasVoiceActivity")] + public bool? HasVoiceActivity { get; set; } + + [JsonProperty("optimizedForStreaming")] + public GetSearchAllLibrariesOptimizedForStreaming? OptimizedForStreaming { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetSearchAllLibrariesOptimizedForStreaming.Disable; + + [JsonProperty("has64bitOffsets")] + public bool? Has64bitOffsets { get; set; } + + [JsonProperty("Part")] + public List Part { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMediaContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMediaContainer.cs new file mode 100644 index 0000000..18cb557 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMediaContainer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetSearchAllLibrariesMediaContainer + { + + [JsonProperty("size")] + public double Size { get; set; } = default!; + + [JsonProperty("SearchResult")] + public List SearchResult { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMediaGuid.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMediaGuid.cs new file mode 100644 index 0000000..9b1b208 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMediaGuid.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesMediaGuid + { + + /// + /// Can be one of the following formats:
+ /// + /// + /// imdb://tt13015952, tmdb://2434012, tvdb://7945991
+ /// + ///
+ ///
+ [JsonProperty("id")] + public string Id { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMetaDataRating.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMetaDataRating.cs new file mode 100644 index 0000000..ce52f34 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMetaDataRating.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesMetaDataRating + { + + /// + /// A URI or path to the rating image. + /// + [JsonProperty("image")] + public string Image { get; set; } = default!; + + /// + /// The value of the rating. + /// + [JsonProperty("value")] + public float Value { get; set; } = default!; + + /// + /// The type of rating (e.g., audience, critic). + /// + [JsonProperty("type")] + public string Type { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMetadata.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMetadata.cs new file mode 100644 index 0000000..5e4fde2 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesMetadata.cs @@ -0,0 +1,297 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using NodaTime; + using System.Collections.Generic; + + public class GetSearchAllLibrariesMetadata + { + + /// + /// The rating key (Media ID) of this media item.
+ /// + /// + /// Note: This is always an integer, but is represented as a string in the API.
+ /// + ///
+ ///
+ [JsonProperty("ratingKey")] + public string RatingKey { get; set; } = default!; + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("guid")] + public string Guid { get; set; } = default!; + + [JsonProperty("studio")] + public string? Studio { get; set; } + + [JsonProperty("skipChildren")] + public bool? SkipChildren { get; set; } + + [JsonProperty("librarySectionID")] + public long? LibrarySectionID { get; set; } + + [JsonProperty("librarySectionTitle")] + public string? LibrarySectionTitle { get; set; } + + [JsonProperty("librarySectionKey")] + public string? LibrarySectionKey { get; set; } + + /// + /// The type of media content
+ /// + /// + /// + /// + ///
+ [JsonProperty("type")] + public GetSearchAllLibrariesType Type { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + + [JsonProperty("slug")] + public string? Slug { get; set; } + + [JsonProperty("contentRating")] + public string? ContentRating { get; set; } + + [JsonProperty("summary")] + public string Summary { get; set; } = default!; + + [JsonProperty("rating")] + public double? Rating { get; set; } + + [JsonProperty("audienceRating")] + public double? AudienceRating { get; set; } + + [JsonProperty("year")] + public int? Year { get; set; } + + [JsonProperty("seasonCount")] + public int? SeasonCount { get; set; } + + [JsonProperty("tagline")] + public string? Tagline { get; set; } + + [JsonProperty("flattenSeasons")] + public GetSearchAllLibrariesFlattenSeasons? FlattenSeasons { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetSearchAllLibrariesFlattenSeasons.False; + + /// + /// Setting that indicates the episode ordering for the show
+ /// + /// + /// None = Library default,
+ /// tmdbAiring = The Movie Database (Aired),
+ /// aired = TheTVDB (Aired),
+ /// dvd = TheTVDB (DVD),
+ /// absolute = TheTVDB (Absolute)).
+ /// + ///
+ ///
+ [JsonProperty("showOrdering")] + public GetSearchAllLibrariesShowOrdering? ShowOrdering { get; set; } + + [JsonProperty("thumb")] + public string? Thumb { get; set; } + + [JsonProperty("art")] + public string? Art { get; set; } + + [JsonProperty("banner")] + public string? Banner { get; set; } + + [JsonProperty("duration")] + public int? Duration { get; set; } + + [JsonProperty("originallyAvailableAt")] + public LocalDate? OriginallyAvailableAt { get; set; } + + /// + /// Unix epoch datetime in seconds + /// + [JsonProperty("addedAt")] + public long AddedAt { get; set; } = default!; + + /// + /// Unix epoch datetime in seconds + /// + [JsonProperty("updatedAt")] + public long? UpdatedAt { get; set; } + + [JsonProperty("audienceRatingImage")] + public string? AudienceRatingImage { get; set; } + + [JsonProperty("chapterSource")] + public string? ChapterSource { get; set; } + + [JsonProperty("primaryExtraKey")] + public string? PrimaryExtraKey { get; set; } + + [JsonProperty("ratingImage")] + public string? RatingImage { get; set; } + + [JsonProperty("grandparentRatingKey")] + public string? GrandparentRatingKey { get; set; } + + [JsonProperty("grandparentGuid")] + public string? GrandparentGuid { get; set; } + + [JsonProperty("grandparentKey")] + public string? GrandparentKey { get; set; } + + [JsonProperty("grandparentTitle")] + public string? GrandparentTitle { get; set; } + + [JsonProperty("grandparentThumb")] + public string? GrandparentThumb { get; set; } + + [JsonProperty("parentSlug")] + public string? ParentSlug { get; set; } + + [JsonProperty("grandparentSlug")] + public string? GrandparentSlug { get; set; } + + [JsonProperty("grandparentArt")] + public string? GrandparentArt { get; set; } + + [JsonProperty("grandparentTheme")] + public string? GrandparentTheme { get; set; } + + /// + /// The Media object is only included when type query is `4` or higher.
+ /// + /// + /// + /// + ///
+ [JsonProperty("Media")] + public List? Media { get; set; } + + [JsonProperty("Genre")] + public List? Genre { get; set; } + + [JsonProperty("Country")] + public List? Country { get; set; } + + [JsonProperty("Director")] + public List? Director { get; set; } + + [JsonProperty("Writer")] + public List? Writer { get; set; } + + [JsonProperty("Collection")] + public List? Collection { get; set; } + + [JsonProperty("Role")] + public List? Role { get; set; } + + [JsonProperty("Location")] + public List? Location { get; set; } + + /// + /// The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
+ /// + /// + /// + /// + ///
+ [JsonProperty("Guid")] + public List? MediaGuid { get; set; } + + [JsonProperty("UltraBlurColors")] + public GetSearchAllLibrariesUltraBlurColors? UltraBlurColors { get; set; } + + [JsonProperty("Rating")] + public List? MetaDataRating { get; set; } + + [JsonProperty("Image")] + public List? Image { get; set; } + + [JsonProperty("titleSort")] + public string? TitleSort { get; set; } + + [JsonProperty("viewCount")] + public int? ViewCount { get; set; } + + [JsonProperty("lastViewedAt")] + public int? LastViewedAt { get; set; } + + [JsonProperty("originalTitle")] + public string? OriginalTitle { get; set; } + + [JsonProperty("viewOffset")] + public int? ViewOffset { get; set; } + + [JsonProperty("skipCount")] + public int? SkipCount { get; set; } + + [JsonProperty("index")] + public int? Index { get; set; } + + [JsonProperty("theme")] + public string? Theme { get; set; } + + [JsonProperty("leafCount")] + public int? LeafCount { get; set; } + + [JsonProperty("viewedLeafCount")] + public int? ViewedLeafCount { get; set; } + + [JsonProperty("childCount")] + public int? ChildCount { get; set; } + + [JsonProperty("hasPremiumExtras")] + public string? HasPremiumExtras { get; set; } + + [JsonProperty("hasPremiumPrimaryExtra")] + public string? HasPremiumPrimaryExtra { get; set; } + + /// + /// The rating key of the parent item.
+ /// + /// + /// + /// + ///
+ [JsonProperty("parentRatingKey")] + public string? ParentRatingKey { get; set; } + + [JsonProperty("parentGuid")] + public string? ParentGuid { get; set; } + + [JsonProperty("parentStudio")] + public string? ParentStudio { get; set; } + + [JsonProperty("parentKey")] + public string? ParentKey { get; set; } + + [JsonProperty("parentTitle")] + public string? ParentTitle { get; set; } + + [JsonProperty("parentIndex")] + public int? ParentIndex { get; set; } + + [JsonProperty("parentYear")] + public int? ParentYear { get; set; } + + [JsonProperty("parentThumb")] + public string? ParentThumb { get; set; } + + [JsonProperty("parentTheme")] + public string? ParentTheme { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesOptimizedForStreaming.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesOptimizedForStreaming.cs new file mode 100644 index 0000000..2f66b34 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesOptimizedForStreaming.cs @@ -0,0 +1,20 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + public enum GetSearchAllLibrariesOptimizedForStreaming + { + Disable = 0, + Enable = 1, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesPart.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesPart.cs new file mode 100644 index 0000000..9f7b51c --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesPart.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetSearchAllLibrariesPart + { + + [JsonProperty("id")] + public int Id { get; set; } = default!; + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("duration")] + public int? Duration { get; set; } + + [JsonProperty("file")] + public string File { get; set; } = default!; + + [JsonProperty("size")] + public long Size { get; set; } = default!; + + /// + /// The container format of the media file.
+ /// + /// + /// + /// + ///
+ [JsonProperty("container")] + public string Container { get; set; } = default!; + + [JsonProperty("audioProfile")] + public string? AudioProfile { get; set; } + + [JsonProperty("has64bitOffsets")] + public bool? Has64bitOffsets { get; set; } + + [JsonProperty("optimizedForStreaming")] + public bool? OptimizedForStreaming { get; set; } + + [JsonProperty("videoProfile")] + public string? VideoProfile { get; set; } + + [JsonProperty("indexes")] + public string? Indexes { get; set; } + + [JsonProperty("hasThumbnail")] + public GetSearchAllLibrariesHasThumbnail? HasThumbnail { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetSearchAllLibrariesHasThumbnail.False; + + [JsonProperty("Stream")] + public List? Stream { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesRequest.cs new file mode 100644 index 0000000..c1f31e9 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesRequest.cs @@ -0,0 +1,59 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using System.Collections.Generic; + + public class GetSearchAllLibrariesRequest + { + + /// + /// The search query term. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=query")] + public string Query { get; set; } = default!; + + /// + /// An opaque identifier unique to the client (UUID, serial number, or other unique device ID) + /// + [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")] + public string? ClientID { get; set; } + + /// + /// Limit the number of results returned. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=limit")] + public long? Limit { get; set; } + + /// + /// A comma-separated list of search types to include. Valid values are: movies, music, otherVideos, people, tv.
+ /// + /// + /// + /// + ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=false,name=searchTypes")] + public List? SearchTypes { get; set; } + + /// + /// Whether to include collections in the search results. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeCollections")] + public QueryParamIncludeCollections? IncludeCollections { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamIncludeCollections.Disable; + + /// + /// Whether to include external media in the search results. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeExternalMedia")] + public QueryParamIncludeExternalMedia? IncludeExternalMedia { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamIncludeExternalMedia.Disable; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesResponse.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesResponse.cs new file mode 100644 index 0000000..04a5a1e --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesResponse.cs @@ -0,0 +1,40 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using System.Net.Http; + using System; + + public class GetSearchAllLibrariesResponse + { + + /// + /// HTTP response content type for this operation + /// + public string? ContentType { get; set; } = default!; + + /// + /// HTTP response status code for this operation + /// + public int StatusCode { get; set; } = default!; + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + public HttpResponseMessage RawResponse { get; set; } = default!; + + /// + /// The libraries available on the Server + /// + public GetSearchAllLibrariesResponseBody? Object { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesResponseBody.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesResponseBody.cs new file mode 100644 index 0000000..677b811 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesResponseBody.cs @@ -0,0 +1,25 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The libraries available on the Server + /// + public class GetSearchAllLibrariesResponseBody + { + + [JsonProperty("MediaContainer")] + public GetSearchAllLibrariesMediaContainer MediaContainer { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesRole.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesRole.cs new file mode 100644 index 0000000..f4d17b6 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesRole.cs @@ -0,0 +1,54 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesRole + { + + /// + /// The ID of the tag or actor. + /// + [JsonProperty("id")] + public long? Id { get; set; } + + /// + /// The filter used to find the actor or tag. + /// + [JsonProperty("filter")] + public string? Filter { get; set; } + + /// + /// The thumbnail of the actor + /// + [JsonProperty("thumb")] + public string? Thumb { get; set; } + + /// + /// The name of the tag or actor. + /// + [JsonProperty("tag")] + public string? Tag { get; set; } + + /// + /// Unique identifier for the tag. + /// + [JsonProperty("tagKey")] + public string? TagKey { get; set; } + + /// + /// The role of the actor or tag in the media. + /// + [JsonProperty("role")] + public string? Role { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesShowOrdering.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesShowOrdering.cs new file mode 100644 index 0000000..c65a6fc --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesShowOrdering.cs @@ -0,0 +1,75 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Setting that indicates the episode ordering for the show
+ /// + /// + /// None = Library default,
+ /// tmdbAiring = The Movie Database (Aired),
+ /// aired = TheTVDB (Aired),
+ /// dvd = TheTVDB (DVD),
+ /// absolute = TheTVDB (Absolute)).
+ /// + ///
+ ///
+ public enum GetSearchAllLibrariesShowOrdering + { + [JsonProperty("None")] + None, + [JsonProperty("tmdbAiring")] + TmdbAiring, + [JsonProperty("aired")] + Aired, + [JsonProperty("dvd")] + Dvd, + [JsonProperty("absolute")] + Absolute, + } + + public static class GetSearchAllLibrariesShowOrderingExtension + { + public static string Value(this GetSearchAllLibrariesShowOrdering value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetSearchAllLibrariesShowOrdering ToEnum(this string value) + { + foreach(var field in typeof(GetSearchAllLibrariesShowOrdering).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetSearchAllLibrariesShowOrdering) + { + return (GetSearchAllLibrariesShowOrdering)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetSearchAllLibrariesShowOrdering"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesStream.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesStream.cs new file mode 100644 index 0000000..0952f38 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesStream.cs @@ -0,0 +1,234 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesStream + { + + [JsonProperty("id")] + public long Id { get; set; } = default!; + + /// + /// Type of stream (1 = video, 2 = audio, 3 = subtitle) + /// + [JsonProperty("streamType")] + public long StreamType { get; set; } = default!; + + /// + /// Indicates if this is the default stream + /// + [JsonProperty("default")] + public bool? Default { get; set; } + + /// + /// Indicates if the stream is selected + /// + [JsonProperty("selected")] + public bool? Selected { get; set; } + + /// + /// Codec used by the stream + /// + [JsonProperty("codec")] + public string Codec { get; set; } = default!; + + /// + /// The index of the stream + /// + [JsonProperty("index")] + public long Index { get; set; } = default!; + + /// + /// The bitrate of the stream in kbps + /// + [JsonProperty("bitrate")] + public long? Bitrate { get; set; } + + /// + /// The color primaries of the video stream + /// + [JsonProperty("colorPrimaries")] + public string? ColorPrimaries { get; set; } + + /// + /// The color range of the video stream + /// + [JsonProperty("colorRange")] + public string? ColorRange { get; set; } + + /// + /// The color space of the video stream + /// + [JsonProperty("colorSpace")] + public string? ColorSpace { get; set; } + + /// + /// The transfer characteristics (TRC) of the video stream + /// + [JsonProperty("colorTrc")] + public string? ColorTrc { get; set; } + + /// + /// The bit depth of the video stream + /// + [JsonProperty("bitDepth")] + public long? BitDepth { get; set; } + + /// + /// The chroma location of the video stream + /// + [JsonProperty("chromaLocation")] + public string? ChromaLocation { get; set; } + + /// + /// The identifier of the video stream + /// + [JsonProperty("streamIdentifier")] + public string? StreamIdentifier { get; set; } + + /// + /// The chroma subsampling format + /// + [JsonProperty("chromaSubsampling")] + public string? ChromaSubsampling { get; set; } + + /// + /// The coded height of the video stream + /// + [JsonProperty("codedHeight")] + public long? CodedHeight { get; set; } + + /// + /// The coded width of the video stream + /// + [JsonProperty("codedWidth")] + public long? CodedWidth { get; set; } + + /// + /// The frame rate of the video stream + /// + [JsonProperty("frameRate")] + public double? FrameRate { get; set; } + + /// + /// Indicates if the stream has a scaling matrix + /// + [JsonProperty("hasScalingMatrix")] + public bool? HasScalingMatrix { get; set; } + + [JsonProperty("hearingImpaired")] + public bool? HearingImpaired { get; set; } + + [JsonProperty("closedCaptions")] + public bool? ClosedCaptions { get; set; } + + [JsonProperty("embeddedInVideo")] + public string? EmbeddedInVideo { get; set; } + + /// + /// The height of the video stream + /// + [JsonProperty("height")] + public long? Height { get; set; } + + /// + /// The level of the video codec + /// + [JsonProperty("level")] + public long? Level { get; set; } + + /// + /// The profile of the video codec + /// + [JsonProperty("profile")] + public string? Profile { get; set; } + + /// + /// Number of reference frames + /// + [JsonProperty("refFrames")] + public long? RefFrames { get; set; } + + /// + /// The scan type (progressive or interlaced) + /// + [JsonProperty("scanType")] + public string? ScanType { get; set; } + + /// + /// The width of the video stream + /// + [JsonProperty("width")] + public long? Width { get; set; } + + /// + /// Display title of the stream + /// + [JsonProperty("displayTitle")] + public string? DisplayTitle { get; set; } + + /// + /// Extended display title of the stream + /// + [JsonProperty("extendedDisplayTitle")] + public string? ExtendedDisplayTitle { get; set; } + + /// + /// Number of audio channels (for audio streams) + /// + [JsonProperty("channels")] + public long? Channels { get; set; } + + /// + /// The language of the stream (for audio/subtitle streams) + /// + [JsonProperty("language")] + public string? Language { get; set; } + + /// + /// Language tag of the stream + /// + [JsonProperty("languageTag")] + public string? LanguageTag { get; set; } + + /// + /// Language code of the stream + /// + [JsonProperty("languageCode")] + public string? LanguageCode { get; set; } + + /// + /// The audio channel layout + /// + [JsonProperty("audioChannelLayout")] + public string? AudioChannelLayout { get; set; } + + /// + /// Sampling rate of the audio stream in Hz + /// + [JsonProperty("samplingRate")] + public long? SamplingRate { get; set; } + + /// + /// Title of the subtitle track (for subtitle streams) + /// + [JsonProperty("title")] + public string? Title { get; set; } + + /// + /// Indicates if the subtitle stream can auto-sync + /// + [JsonProperty("canAutoSync")] + public bool? CanAutoSync { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesType.cs new file mode 100644 index 0000000..41f750f --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesType.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of media content
+ /// + /// + /// + /// + ///
+ public enum GetSearchAllLibrariesType + { + [JsonProperty("movie")] + Movie, + [JsonProperty("show")] + TvShow, + [JsonProperty("season")] + Season, + [JsonProperty("episode")] + Episode, + } + + public static class GetSearchAllLibrariesTypeExtension + { + public static string Value(this GetSearchAllLibrariesType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetSearchAllLibrariesType ToEnum(this string value) + { + foreach(var field in typeof(GetSearchAllLibrariesType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetSearchAllLibrariesType) + { + return (GetSearchAllLibrariesType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetSearchAllLibrariesType"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesUltraBlurColors.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesUltraBlurColors.cs new file mode 100644 index 0000000..03cc311 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesUltraBlurColors.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesUltraBlurColors + { + + [JsonProperty("topLeft")] + public string TopLeft { get; set; } = default!; + + [JsonProperty("topRight")] + public string TopRight { get; set; } = default!; + + [JsonProperty("bottomRight")] + public string BottomRight { get; set; } = default!; + + [JsonProperty("bottomLeft")] + public string BottomLeft { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesWriter.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesWriter.cs new file mode 100644 index 0000000..0f0bafd --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchAllLibrariesWriter.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetSearchAllLibrariesWriter + { + + [JsonProperty("tag")] + public string? Tag { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsFeatures.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsFeatures.cs deleted file mode 100644 index 039eadb..0000000 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsFeatures.cs +++ /dev/null @@ -1,243 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. -// -// Changes to this file may cause incorrect behavior and will be lost when -// the code is regenerated. -// -//------------------------------------------------------------------------------ -#nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests -{ - using LukeHagar.PlexAPI.SDK.Utils; - using Newtonsoft.Json; - using System; - - public enum GetTokenDetailsFeatures - { - [JsonProperty("Android - Dolby Vision")] - AndroidDolbyVision, - [JsonProperty("Android - PiP")] - AndroidPiP, - [JsonProperty("CU Sunset")] - CUSunset, - [JsonProperty("HRK_enable_EUR")] - HRKEnableEUR, - [JsonProperty("TREBLE-show-features")] - TREBLEShowFeatures, - [JsonProperty("ad-countdown-timer")] - AdCountdownTimer, - [JsonProperty("adaptive_bitrate")] - AdaptiveBitrate, - [JsonProperty("album-types")] - AlbumTypes, - [JsonProperty("allow_dvr")] - AllowDvr, - [JsonProperty("amazon-loop-debug")] - AmazonLoopDebug, - [JsonProperty("avod-ad-analysis")] - AvodAdAnalysis, - [JsonProperty("avod-new-media")] - AvodNewMedia, - [JsonProperty("blacklist_get_signin")] - BlacklistGetSignin, - [JsonProperty("boost-voices")] - BoostVoices, - [JsonProperty("camera_upload")] - CameraUpload, - [JsonProperty("client-radio-stations")] - ClientRadioStations, - [JsonProperty("cloudflare-turnstile-required")] - CloudflareTurnstileRequired, - [JsonProperty("cloudsync")] - Cloudsync, - [JsonProperty("collections")] - Collections, - [JsonProperty("comments_and_replies_push_notifications")] - CommentsAndRepliesPushNotifications, - [JsonProperty("community_access_plex_tv")] - CommunityAccessPlexTv, - [JsonProperty("companions_sonos")] - CompanionsSonos, - [JsonProperty("content_filter")] - ContentFilter, - [JsonProperty("custom-home-removal")] - CustomHomeRemoval, - [JsonProperty("disable_home_user_friendships")] - DisableHomeUserFriendships, - [JsonProperty("disable_sharing_friendships")] - DisableSharingFriendships, - [JsonProperty("downloads-gating")] - DownloadsGating, - [JsonProperty("drm_support")] - DrmSupport, - [JsonProperty("dvr")] - Dvr, - [JsonProperty("dvr-block-unsupported-countries")] - DvrBlockUnsupportedCountries, - [JsonProperty("epg-recent-channels")] - EpgRecentChannels, - [JsonProperty("exclude restrictions")] - ExcludeRestrictions, - [JsonProperty("federated-auth")] - FederatedAuth, - [JsonProperty("friend_request_push_notifications")] - FriendRequestPushNotifications, - [JsonProperty("grandfather-sync")] - GrandfatherSync, - [JsonProperty("guided-upgrade")] - GuidedUpgrade, - [JsonProperty("hardware_transcoding")] - HardwareTranscoding, - [JsonProperty("home")] - Home, - [JsonProperty("hwtranscode")] - Hwtranscode, - [JsonProperty("imagga-v2")] - ImaggaV2, - [JsonProperty("increase-password-complexity")] - IncreasePasswordComplexity, - [JsonProperty("ios14-privacy-banner")] - Ios14PrivacyBanner, - [JsonProperty("iterable-notification-tokens")] - IterableNotificationTokens, - [JsonProperty("item_clusters")] - ItemClusters, - [JsonProperty("keep-payment-method")] - KeepPaymentMethod, - [JsonProperty("kevin-bacon")] - KevinBacon, - [JsonProperty("korea-consent")] - KoreaConsent, - [JsonProperty("le_isrg_root_x1")] - LeIsrgRootX1, - [JsonProperty("lets_encrypt")] - LetsEncrypt, - [JsonProperty("lightning-dvr-pivot")] - LightningDvrPivot, - [JsonProperty("live-tv-support-incomplete-segments")] - LiveTvSupportIncompleteSegments, - [JsonProperty("livetv")] - Livetv, - [JsonProperty("lyrics")] - Lyrics, - [JsonProperty("metadata_search")] - MetadataSearch, - [JsonProperty("music-analysis")] - MusicAnalysis, - [JsonProperty("music_videos")] - MusicVideos, - [JsonProperty("new_plex_pass_prices")] - NewPlexPassPrices, - [JsonProperty("news-provider-sunset-modal")] - NewsProviderSunsetModal, - [JsonProperty("nominatim")] - Nominatim, - [JsonProperty("pass")] - Pass, - [JsonProperty("photos-favorites")] - PhotosFavorites, - [JsonProperty("photos-metadata-edition")] - PhotosMetadataEdition, - [JsonProperty("photosV6-edit")] - PhotosV6Edit, - [JsonProperty("photosV6-tv-albums")] - PhotosV6TvAlbums, - [JsonProperty("pms_health")] - PmsHealth, - [JsonProperty("premium-dashboard")] - PremiumDashboard, - [JsonProperty("premium_music_metadata")] - PremiumMusicMetadata, - [JsonProperty("radio")] - Radio, - [JsonProperty("rate-limit-client-token")] - RateLimitClientToken, - [JsonProperty("scrobbling-service-plex-tv")] - ScrobblingServicePlexTv, - [JsonProperty("session_bandwidth_restrictions")] - SessionBandwidthRestrictions, - [JsonProperty("session_kick")] - SessionKick, - [JsonProperty("shared_server_notification")] - SharedServerNotification, - [JsonProperty("shared_source_notification")] - SharedSourceNotification, - [JsonProperty("signin_notification")] - SigninNotification, - [JsonProperty("signin_with_apple")] - SigninWithApple, - [JsonProperty("silence-removal")] - SilenceRemoval, - [JsonProperty("sleep-timer")] - SleepTimer, - [JsonProperty("spring_serve_ad_provider")] - SpringServeAdProvider, - [JsonProperty("sync")] - Sync, - [JsonProperty("sweet-fades")] - SweetFades, - [JsonProperty("transcoder_cache")] - TranscoderCache, - [JsonProperty("trailers")] - Trailers, - [JsonProperty("tuner-sharing")] - TunerSharing, - [JsonProperty("two-factor-authentication")] - TwoFactorAuthentication, - [JsonProperty("unsupportedtuners")] - Unsupportedtuners, - [JsonProperty("upgrade-3ds2")] - Upgrade3ds2, - [JsonProperty("visualizers")] - Visualizers, - [JsonProperty("vod-schema")] - VodSchema, - [JsonProperty("vod_cloudflare")] - VodCloudflare, - [JsonProperty("volume-leveling")] - VolumeLeveling, - [JsonProperty("watch-together-invite")] - WatchTogetherInvite, - [JsonProperty("watchlist-rss")] - WatchlistRss, - [JsonProperty("web_server_dashboard")] - WebServerDashboard, - [JsonProperty("webhooks")] - Webhooks, - } - - public static class GetTokenDetailsFeaturesExtension - { - public static string Value(this GetTokenDetailsFeatures value) - { - return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); - } - - public static GetTokenDetailsFeatures ToEnum(this string value) - { - foreach(var field in typeof(GetTokenDetailsFeatures).GetFields()) - { - var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); - if (attributes.Length == 0) - { - continue; - } - - var attribute = attributes[0] as JsonPropertyAttribute; - if (attribute != null && attribute.PropertyName == value) - { - var enumVal = field.GetValue(null); - - if (enumVal is GetTokenDetailsFeatures) - { - return (GetTokenDetailsFeatures)enumVal; - } - } - } - - throw new Exception($"Unknown value {value} for enum GetTokenDetailsFeatures"); - } - } - -} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsSubscription.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsSubscription.cs index d597097..9ccff92 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsSubscription.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetTokenDetailsSubscription.cs @@ -21,7 +21,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// List of features allowed on your Plex Pass subscription ///
[JsonProperty("features")] - public List? Features { get; set; } + public List? Features { get; set; } /// /// If the account's Plex Pass subscription is active diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Location.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Location.cs index 5710e3b..60eb48d 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Location.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Location.cs @@ -15,10 +15,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public class Location { - [JsonProperty("id")] - public int Id { get; set; } = default!; - [JsonProperty("path")] - public string Path { get; set; } = default!; + public string? Path { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Media.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Media.cs index cdd81c3..5ed921a 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Media.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Media.cs @@ -21,43 +21,43 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public int Id { get; set; } = default!; [JsonProperty("duration")] - public int Duration { get; set; } = default!; + public int? Duration { get; set; } [JsonProperty("bitrate")] - public int Bitrate { get; set; } = default!; + public int? Bitrate { get; set; } [JsonProperty("width")] - public int Width { get; set; } = default!; + public int? Width { get; set; } [JsonProperty("height")] - public int Height { get; set; } = default!; + public int? Height { get; set; } [JsonProperty("aspectRatio")] - public double AspectRatio { get; set; } = default!; + public double? AspectRatio { get; set; } [JsonProperty("audioProfile")] public string? AudioProfile { get; set; } [JsonProperty("audioChannels")] - public int AudioChannels { get; set; } = default!; + public int? AudioChannels { get; set; } [JsonProperty("audioCodec")] - public string AudioCodec { get; set; } = default!; + public string? AudioCodec { get; set; } [JsonProperty("videoCodec")] - public string VideoCodec { get; set; } = default!; + public string? VideoCodec { get; set; } [JsonProperty("videoResolution")] - public string VideoResolution { get; set; } = default!; + public string? VideoResolution { get; set; } [JsonProperty("container")] public string Container { get; set; } = default!; [JsonProperty("videoFrameRate")] - public string VideoFrameRate { get; set; } = default!; + public string? VideoFrameRate { get; set; } [JsonProperty("videoProfile")] - public string VideoProfile { get; set; } = default!; + public string? VideoProfile { get; set; } [JsonProperty("hasVoiceActivity")] public bool? HasVoiceActivity { get; set; } diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Part.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Part.cs index 6cb9c12..2e5e9a0 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Part.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Part.cs @@ -24,7 +24,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public string Key { get; set; } = default!; [JsonProperty("duration")] - public int Duration { get; set; } = default!; + public int? Duration { get; set; } [JsonProperty("file")] public string File { get; set; } = default!; @@ -52,7 +52,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public bool? OptimizedForStreaming { get; set; } [JsonProperty("videoProfile")] - public string VideoProfile { get; set; } = default!; + public string? VideoProfile { get; set; } [JsonProperty("indexes")] public string? Indexes { get; set; } diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationFeatures.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationFeatures.cs deleted file mode 100644 index 3bed396..0000000 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationFeatures.cs +++ /dev/null @@ -1,243 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. -// -// Changes to this file may cause incorrect behavior and will be lost when -// the code is regenerated. -// -//------------------------------------------------------------------------------ -#nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests -{ - using LukeHagar.PlexAPI.SDK.Utils; - using Newtonsoft.Json; - using System; - - public enum PostUsersSignInDataAuthenticationFeatures - { - [JsonProperty("Android - Dolby Vision")] - AndroidDolbyVision, - [JsonProperty("Android - PiP")] - AndroidPiP, - [JsonProperty("CU Sunset")] - CUSunset, - [JsonProperty("HRK_enable_EUR")] - HRKEnableEUR, - [JsonProperty("TREBLE-show-features")] - TREBLEShowFeatures, - [JsonProperty("ad-countdown-timer")] - AdCountdownTimer, - [JsonProperty("adaptive_bitrate")] - AdaptiveBitrate, - [JsonProperty("album-types")] - AlbumTypes, - [JsonProperty("allow_dvr")] - AllowDvr, - [JsonProperty("amazon-loop-debug")] - AmazonLoopDebug, - [JsonProperty("avod-ad-analysis")] - AvodAdAnalysis, - [JsonProperty("avod-new-media")] - AvodNewMedia, - [JsonProperty("blacklist_get_signin")] - BlacklistGetSignin, - [JsonProperty("boost-voices")] - BoostVoices, - [JsonProperty("camera_upload")] - CameraUpload, - [JsonProperty("client-radio-stations")] - ClientRadioStations, - [JsonProperty("cloudflare-turnstile-required")] - CloudflareTurnstileRequired, - [JsonProperty("cloudsync")] - Cloudsync, - [JsonProperty("collections")] - Collections, - [JsonProperty("comments_and_replies_push_notifications")] - CommentsAndRepliesPushNotifications, - [JsonProperty("community_access_plex_tv")] - CommunityAccessPlexTv, - [JsonProperty("companions_sonos")] - CompanionsSonos, - [JsonProperty("content_filter")] - ContentFilter, - [JsonProperty("custom-home-removal")] - CustomHomeRemoval, - [JsonProperty("disable_home_user_friendships")] - DisableHomeUserFriendships, - [JsonProperty("disable_sharing_friendships")] - DisableSharingFriendships, - [JsonProperty("downloads-gating")] - DownloadsGating, - [JsonProperty("drm_support")] - DrmSupport, - [JsonProperty("dvr")] - Dvr, - [JsonProperty("dvr-block-unsupported-countries")] - DvrBlockUnsupportedCountries, - [JsonProperty("epg-recent-channels")] - EpgRecentChannels, - [JsonProperty("exclude restrictions")] - ExcludeRestrictions, - [JsonProperty("federated-auth")] - FederatedAuth, - [JsonProperty("friend_request_push_notifications")] - FriendRequestPushNotifications, - [JsonProperty("grandfather-sync")] - GrandfatherSync, - [JsonProperty("guided-upgrade")] - GuidedUpgrade, - [JsonProperty("hardware_transcoding")] - HardwareTranscoding, - [JsonProperty("home")] - Home, - [JsonProperty("hwtranscode")] - Hwtranscode, - [JsonProperty("imagga-v2")] - ImaggaV2, - [JsonProperty("increase-password-complexity")] - IncreasePasswordComplexity, - [JsonProperty("ios14-privacy-banner")] - Ios14PrivacyBanner, - [JsonProperty("iterable-notification-tokens")] - IterableNotificationTokens, - [JsonProperty("item_clusters")] - ItemClusters, - [JsonProperty("keep-payment-method")] - KeepPaymentMethod, - [JsonProperty("kevin-bacon")] - KevinBacon, - [JsonProperty("korea-consent")] - KoreaConsent, - [JsonProperty("le_isrg_root_x1")] - LeIsrgRootX1, - [JsonProperty("lets_encrypt")] - LetsEncrypt, - [JsonProperty("lightning-dvr-pivot")] - LightningDvrPivot, - [JsonProperty("live-tv-support-incomplete-segments")] - LiveTvSupportIncompleteSegments, - [JsonProperty("livetv")] - Livetv, - [JsonProperty("lyrics")] - Lyrics, - [JsonProperty("metadata_search")] - MetadataSearch, - [JsonProperty("music-analysis")] - MusicAnalysis, - [JsonProperty("music_videos")] - MusicVideos, - [JsonProperty("new_plex_pass_prices")] - NewPlexPassPrices, - [JsonProperty("news-provider-sunset-modal")] - NewsProviderSunsetModal, - [JsonProperty("nominatim")] - Nominatim, - [JsonProperty("pass")] - Pass, - [JsonProperty("photos-favorites")] - PhotosFavorites, - [JsonProperty("photos-metadata-edition")] - PhotosMetadataEdition, - [JsonProperty("photosV6-edit")] - PhotosV6Edit, - [JsonProperty("photosV6-tv-albums")] - PhotosV6TvAlbums, - [JsonProperty("pms_health")] - PmsHealth, - [JsonProperty("premium-dashboard")] - PremiumDashboard, - [JsonProperty("premium_music_metadata")] - PremiumMusicMetadata, - [JsonProperty("radio")] - Radio, - [JsonProperty("rate-limit-client-token")] - RateLimitClientToken, - [JsonProperty("scrobbling-service-plex-tv")] - ScrobblingServicePlexTv, - [JsonProperty("session_bandwidth_restrictions")] - SessionBandwidthRestrictions, - [JsonProperty("session_kick")] - SessionKick, - [JsonProperty("shared_server_notification")] - SharedServerNotification, - [JsonProperty("shared_source_notification")] - SharedSourceNotification, - [JsonProperty("signin_notification")] - SigninNotification, - [JsonProperty("signin_with_apple")] - SigninWithApple, - [JsonProperty("silence-removal")] - SilenceRemoval, - [JsonProperty("sleep-timer")] - SleepTimer, - [JsonProperty("spring_serve_ad_provider")] - SpringServeAdProvider, - [JsonProperty("sync")] - Sync, - [JsonProperty("sweet-fades")] - SweetFades, - [JsonProperty("transcoder_cache")] - TranscoderCache, - [JsonProperty("trailers")] - Trailers, - [JsonProperty("tuner-sharing")] - TunerSharing, - [JsonProperty("two-factor-authentication")] - TwoFactorAuthentication, - [JsonProperty("unsupportedtuners")] - Unsupportedtuners, - [JsonProperty("upgrade-3ds2")] - Upgrade3ds2, - [JsonProperty("visualizers")] - Visualizers, - [JsonProperty("vod-schema")] - VodSchema, - [JsonProperty("vod_cloudflare")] - VodCloudflare, - [JsonProperty("volume-leveling")] - VolumeLeveling, - [JsonProperty("watch-together-invite")] - WatchTogetherInvite, - [JsonProperty("watchlist-rss")] - WatchlistRss, - [JsonProperty("web_server_dashboard")] - WebServerDashboard, - [JsonProperty("webhooks")] - Webhooks, - } - - public static class PostUsersSignInDataAuthenticationFeaturesExtension - { - public static string Value(this PostUsersSignInDataAuthenticationFeatures value) - { - return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); - } - - public static PostUsersSignInDataAuthenticationFeatures ToEnum(this string value) - { - foreach(var field in typeof(PostUsersSignInDataAuthenticationFeatures).GetFields()) - { - var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); - if (attributes.Length == 0) - { - continue; - } - - var attribute = attributes[0] as JsonPropertyAttribute; - if (attribute != null && attribute.PropertyName == value) - { - var enumVal = field.GetValue(null); - - if (enumVal is PostUsersSignInDataAuthenticationFeatures) - { - return (PostUsersSignInDataAuthenticationFeatures)enumVal; - } - } - } - - throw new Exception($"Unknown value {value} for enum PostUsersSignInDataAuthenticationFeatures"); - } - } - -} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationSubscription.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationSubscription.cs index 2e61ae2..763ffa3 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationSubscription.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataAuthenticationSubscription.cs @@ -21,7 +21,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// List of features allowed on your Plex Pass subscription /// [JsonProperty("features")] - public List? Features { get; set; } + public List? Features { get; set; } /// /// If the account's Plex Pass subscription is active diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataFeatures.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataFeatures.cs deleted file mode 100644 index a10aa35..0000000 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataFeatures.cs +++ /dev/null @@ -1,243 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. -// -// Changes to this file may cause incorrect behavior and will be lost when -// the code is regenerated. -// -//------------------------------------------------------------------------------ -#nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests -{ - using LukeHagar.PlexAPI.SDK.Utils; - using Newtonsoft.Json; - using System; - - public enum PostUsersSignInDataFeatures - { - [JsonProperty("Android - Dolby Vision")] - AndroidDolbyVision, - [JsonProperty("Android - PiP")] - AndroidPiP, - [JsonProperty("CU Sunset")] - CUSunset, - [JsonProperty("HRK_enable_EUR")] - HRKEnableEUR, - [JsonProperty("TREBLE-show-features")] - TREBLEShowFeatures, - [JsonProperty("ad-countdown-timer")] - AdCountdownTimer, - [JsonProperty("adaptive_bitrate")] - AdaptiveBitrate, - [JsonProperty("album-types")] - AlbumTypes, - [JsonProperty("allow_dvr")] - AllowDvr, - [JsonProperty("amazon-loop-debug")] - AmazonLoopDebug, - [JsonProperty("avod-ad-analysis")] - AvodAdAnalysis, - [JsonProperty("avod-new-media")] - AvodNewMedia, - [JsonProperty("blacklist_get_signin")] - BlacklistGetSignin, - [JsonProperty("boost-voices")] - BoostVoices, - [JsonProperty("camera_upload")] - CameraUpload, - [JsonProperty("client-radio-stations")] - ClientRadioStations, - [JsonProperty("cloudflare-turnstile-required")] - CloudflareTurnstileRequired, - [JsonProperty("cloudsync")] - Cloudsync, - [JsonProperty("collections")] - Collections, - [JsonProperty("comments_and_replies_push_notifications")] - CommentsAndRepliesPushNotifications, - [JsonProperty("community_access_plex_tv")] - CommunityAccessPlexTv, - [JsonProperty("companions_sonos")] - CompanionsSonos, - [JsonProperty("content_filter")] - ContentFilter, - [JsonProperty("custom-home-removal")] - CustomHomeRemoval, - [JsonProperty("disable_home_user_friendships")] - DisableHomeUserFriendships, - [JsonProperty("disable_sharing_friendships")] - DisableSharingFriendships, - [JsonProperty("downloads-gating")] - DownloadsGating, - [JsonProperty("drm_support")] - DrmSupport, - [JsonProperty("dvr")] - Dvr, - [JsonProperty("dvr-block-unsupported-countries")] - DvrBlockUnsupportedCountries, - [JsonProperty("epg-recent-channels")] - EpgRecentChannels, - [JsonProperty("exclude restrictions")] - ExcludeRestrictions, - [JsonProperty("federated-auth")] - FederatedAuth, - [JsonProperty("friend_request_push_notifications")] - FriendRequestPushNotifications, - [JsonProperty("grandfather-sync")] - GrandfatherSync, - [JsonProperty("guided-upgrade")] - GuidedUpgrade, - [JsonProperty("hardware_transcoding")] - HardwareTranscoding, - [JsonProperty("home")] - Home, - [JsonProperty("hwtranscode")] - Hwtranscode, - [JsonProperty("imagga-v2")] - ImaggaV2, - [JsonProperty("increase-password-complexity")] - IncreasePasswordComplexity, - [JsonProperty("ios14-privacy-banner")] - Ios14PrivacyBanner, - [JsonProperty("iterable-notification-tokens")] - IterableNotificationTokens, - [JsonProperty("item_clusters")] - ItemClusters, - [JsonProperty("keep-payment-method")] - KeepPaymentMethod, - [JsonProperty("kevin-bacon")] - KevinBacon, - [JsonProperty("korea-consent")] - KoreaConsent, - [JsonProperty("le_isrg_root_x1")] - LeIsrgRootX1, - [JsonProperty("lets_encrypt")] - LetsEncrypt, - [JsonProperty("lightning-dvr-pivot")] - LightningDvrPivot, - [JsonProperty("live-tv-support-incomplete-segments")] - LiveTvSupportIncompleteSegments, - [JsonProperty("livetv")] - Livetv, - [JsonProperty("lyrics")] - Lyrics, - [JsonProperty("metadata_search")] - MetadataSearch, - [JsonProperty("music-analysis")] - MusicAnalysis, - [JsonProperty("music_videos")] - MusicVideos, - [JsonProperty("new_plex_pass_prices")] - NewPlexPassPrices, - [JsonProperty("news-provider-sunset-modal")] - NewsProviderSunsetModal, - [JsonProperty("nominatim")] - Nominatim, - [JsonProperty("pass")] - Pass, - [JsonProperty("photos-favorites")] - PhotosFavorites, - [JsonProperty("photos-metadata-edition")] - PhotosMetadataEdition, - [JsonProperty("photosV6-edit")] - PhotosV6Edit, - [JsonProperty("photosV6-tv-albums")] - PhotosV6TvAlbums, - [JsonProperty("pms_health")] - PmsHealth, - [JsonProperty("premium-dashboard")] - PremiumDashboard, - [JsonProperty("premium_music_metadata")] - PremiumMusicMetadata, - [JsonProperty("radio")] - Radio, - [JsonProperty("rate-limit-client-token")] - RateLimitClientToken, - [JsonProperty("scrobbling-service-plex-tv")] - ScrobblingServicePlexTv, - [JsonProperty("session_bandwidth_restrictions")] - SessionBandwidthRestrictions, - [JsonProperty("session_kick")] - SessionKick, - [JsonProperty("shared_server_notification")] - SharedServerNotification, - [JsonProperty("shared_source_notification")] - SharedSourceNotification, - [JsonProperty("signin_notification")] - SigninNotification, - [JsonProperty("signin_with_apple")] - SigninWithApple, - [JsonProperty("silence-removal")] - SilenceRemoval, - [JsonProperty("sleep-timer")] - SleepTimer, - [JsonProperty("spring_serve_ad_provider")] - SpringServeAdProvider, - [JsonProperty("sync")] - Sync, - [JsonProperty("sweet-fades")] - SweetFades, - [JsonProperty("transcoder_cache")] - TranscoderCache, - [JsonProperty("trailers")] - Trailers, - [JsonProperty("tuner-sharing")] - TunerSharing, - [JsonProperty("two-factor-authentication")] - TwoFactorAuthentication, - [JsonProperty("unsupportedtuners")] - Unsupportedtuners, - [JsonProperty("upgrade-3ds2")] - Upgrade3ds2, - [JsonProperty("visualizers")] - Visualizers, - [JsonProperty("vod-schema")] - VodSchema, - [JsonProperty("vod_cloudflare")] - VodCloudflare, - [JsonProperty("volume-leveling")] - VolumeLeveling, - [JsonProperty("watch-together-invite")] - WatchTogetherInvite, - [JsonProperty("watchlist-rss")] - WatchlistRss, - [JsonProperty("web_server_dashboard")] - WebServerDashboard, - [JsonProperty("webhooks")] - Webhooks, - } - - public static class PostUsersSignInDataFeaturesExtension - { - public static string Value(this PostUsersSignInDataFeatures value) - { - return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); - } - - public static PostUsersSignInDataFeatures ToEnum(this string value) - { - foreach(var field in typeof(PostUsersSignInDataFeatures).GetFields()) - { - var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); - if (attributes.Length == 0) - { - continue; - } - - var attribute = attributes[0] as JsonPropertyAttribute; - if (attribute != null && attribute.PropertyName == value) - { - var enumVal = field.GetValue(null); - - if (enumVal is PostUsersSignInDataFeatures) - { - return (PostUsersSignInDataFeatures)enumVal; - } - } - } - - throw new Exception($"Unknown value {value} for enum PostUsersSignInDataFeatures"); - } - } - -} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataSubscription.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataSubscription.cs index 3e24af5..26b8419 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataSubscription.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/PostUsersSignInDataSubscription.cs @@ -24,7 +24,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// List of features allowed on your Plex Pass subscription /// [JsonProperty("features")] - public List? Features { get; set; } + public List? Features { get; set; } /// /// If the account's Plex Pass subscription is active diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeCollections.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeCollections.cs new file mode 100644 index 0000000..e9e32d8 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeCollections.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + /// + /// Whether to include collections in the search results. + /// + public enum QueryParamIncludeCollections + { + Disable = 0, + Enable = 1, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeExternalMedia.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeExternalMedia.cs new file mode 100644 index 0000000..fe5ee5c --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeExternalMedia.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + /// + /// Whether to include external media in the search results. + /// + public enum QueryParamIncludeExternalMedia + { + Disable = 0, + Enable = 1, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/SearchResult.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/SearchResult.cs new file mode 100644 index 0000000..d954478 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/SearchResult.cs @@ -0,0 +1,25 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class SearchResult + { + + [JsonProperty("score")] + public float Score { get; set; } = default!; + + [JsonProperty("Metadata")] + public GetSearchAllLibrariesMetadata Metadata { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/SearchTypes.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/SearchTypes.cs new file mode 100644 index 0000000..5a3ba4d --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/SearchTypes.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum SearchTypes + { + [JsonProperty("movies")] + Movies, + [JsonProperty("music")] + Music, + [JsonProperty("otherVideos")] + OtherVideos, + [JsonProperty("people")] + People, + [JsonProperty("tv")] + Tv, + } + + public static class SearchTypesExtension + { + public static string Value(this SearchTypes value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static SearchTypes ToEnum(this string value) + { + foreach(var field in typeof(SearchTypes).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is SearchTypes) + { + return (SearchTypes)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum SearchTypes"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Subscription.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Subscription.cs index 95e870a..43f6215 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Subscription.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Subscription.cs @@ -24,7 +24,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// List of features allowed on your Plex Pass subscription /// [JsonProperty("features")] - public List? Features { get; set; } + public List? Features { get; set; } /// /// If the account's Plex Pass subscription is active diff --git a/LukeHagar/PlexAPI/SDK/Playlists.cs b/LukeHagar/PlexAPI/SDK/Playlists.cs index 9f1797c..7e6afd6 100644 --- a/LukeHagar/PlexAPI/SDK/Playlists.cs +++ b/LukeHagar/PlexAPI/SDK/Playlists.cs @@ -146,10 +146,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Plex.cs b/LukeHagar/PlexAPI/SDK/Plex.cs index 5d293b5..7e43dfb 100644 --- a/LukeHagar/PlexAPI/SDK/Plex.cs +++ b/LukeHagar/PlexAPI/SDK/Plex.cs @@ -143,10 +143,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/PlexAPI.cs b/LukeHagar/PlexAPI/SDK/PlexAPI.cs index dafb4e5..ca59dd1 100644 --- a/LukeHagar/PlexAPI/SDK/PlexAPI.cs +++ b/LukeHagar/PlexAPI/SDK/PlexAPI.cs @@ -92,7 +92,7 @@ namespace LukeHagar.PlexAPI.SDK /// | Swift | GitHub | Releases | - |
/// | PHP | GitHub | Releases | - |
/// | Java | GitHub | Releases | - |
- /// | C# | GitHub | Releases | -
+ /// | C# | GitHub | Releases | -
/// /// ///
@@ -322,7 +322,7 @@ namespace LukeHagar.PlexAPI.SDK /// | Swift | GitHub | Releases | - |
/// | PHP | GitHub | Releases | - |
/// | Java | GitHub | Releases | - |
- /// | C# | GitHub | Releases | -
+ /// | C# | GitHub | Releases | -
/// /// ///
@@ -331,10 +331,10 @@ namespace LukeHagar.PlexAPI.SDK public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private int _serverIndex = 0; private ISpeakeasyHttpClient _client; diff --git a/LukeHagar/PlexAPI/SDK/Search.cs b/LukeHagar/PlexAPI/SDK/Search.cs index 61a7d19..4b363aa 100644 --- a/LukeHagar/PlexAPI/SDK/Search.cs +++ b/LukeHagar/PlexAPI/SDK/Search.cs @@ -87,10 +87,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Server.cs b/LukeHagar/PlexAPI/SDK/Server.cs index 72486c5..fff440e 100644 --- a/LukeHagar/PlexAPI/SDK/Server.cs +++ b/LukeHagar/PlexAPI/SDK/Server.cs @@ -126,10 +126,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Sessions.cs b/LukeHagar/PlexAPI/SDK/Sessions.cs index 52ea295..47f61fd 100644 --- a/LukeHagar/PlexAPI/SDK/Sessions.cs +++ b/LukeHagar/PlexAPI/SDK/Sessions.cs @@ -80,10 +80,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Statistics.cs b/LukeHagar/PlexAPI/SDK/Statistics.cs index 8ecbf70..4a3381d 100644 --- a/LukeHagar/PlexAPI/SDK/Statistics.cs +++ b/LukeHagar/PlexAPI/SDK/Statistics.cs @@ -71,10 +71,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Updater.cs b/LukeHagar/PlexAPI/SDK/Updater.cs index 44c727a..5608661 100644 --- a/LukeHagar/PlexAPI/SDK/Updater.cs +++ b/LukeHagar/PlexAPI/SDK/Updater.cs @@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Video.cs b/LukeHagar/PlexAPI/SDK/Video.cs index f6d12be..d4004ea 100644 --- a/LukeHagar/PlexAPI/SDK/Video.cs +++ b/LukeHagar/PlexAPI/SDK/Video.cs @@ -62,10 +62,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Watchlist.cs b/LukeHagar/PlexAPI/SDK/Watchlist.cs index 57e6f61..5455010 100644 --- a/LukeHagar/PlexAPI/SDK/Watchlist.cs +++ b/LukeHagar/PlexAPI/SDK/Watchlist.cs @@ -59,10 +59,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.9.1"; + private const string _sdkVersion = "0.9.2"; private const string _sdkGenVersion = "2.429.0"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.9.1 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.9.2 2.429.0 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/README.md b/README.md index aa0d24f..94fe681 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,7 @@ var res = await sdk.Server.GetServerCapabilitiesAsync(); * [GetLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items * [GetRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library * [GetSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library +* [GetSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries * [GetMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey * [GetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children * [GetTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content diff --git a/RELEASES.md b/RELEASES.md index 9d19a44..7873587 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -354,4 +354,14 @@ Based on: ### Generated - [csharp v0.9.1] . ### Releases -- [NuGet v0.9.1] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.9.1 - . \ No newline at end of file +- [NuGet v0.9.1] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.9.1 - . + +## 2024-10-02 11:09:36 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.405.8 (2.429.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [csharp v0.9.2] . +### Releases +- [NuGet v0.9.2] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.9.2 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index b4e66c9..576b7e5 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -804,6 +804,38 @@ actions: var res = await sdk.Library.GetRecentlyAddedLibraryAsync(req); + // handle response + - target: $["paths"]["/library/search"]["get"] + update: + x-codeSamples: + - lang: csharp + label: libraries + source: |- + using LukeHagar.PlexAPI.SDK; + using LukeHagar.PlexAPI.SDK.Models.Requests; + using System.Collections.Generic; + using LukeHagar.PlexAPI.SDK.Models.Components; + + var sdk = new PlexAPI( + accessToken: "", + clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58", + clientName: "Plex for Roku", + clientVersion: "2.4.1", + platform: "Roku", + deviceNickname: "Roku 3" + ); + + GetSearchAllLibrariesRequest req = new GetSearchAllLibrariesRequest() { + Query = "", + SearchTypes = new List() { + LukeHagar.PlexAPI.SDK.Models.Requests.SearchTypes.People, + }, + IncludeCollections = LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamIncludeCollections.Enable, + IncludeExternalMedia = LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamIncludeExternalMedia.Enable, + }; + + var res = await sdk.Library.GetSearchAllLibrariesAsync(req); + // handle response - target: $["paths"]["/library/sections"]["get"] update: diff --git a/docs/Models/Errors/GetSearchAllLibrariesBadRequest.md b/docs/Models/Errors/GetSearchAllLibrariesBadRequest.md new file mode 100644 index 0000000..bbefd66 --- /dev/null +++ b/docs/Models/Errors/GetSearchAllLibrariesBadRequest.md @@ -0,0 +1,11 @@ +# GetSearchAllLibrariesBadRequest + +Bad Request - A parameter was not specified, or was specified incorrectly. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `Errors` | List<[GetSearchAllLibrariesErrors](../../Models/Errors/GetSearchAllLibrariesErrors.md)> | :heavy_minus_sign: | N/A | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Errors/GetSearchAllLibrariesErrors.md b/docs/Models/Errors/GetSearchAllLibrariesErrors.md new file mode 100644 index 0000000..cccca0b --- /dev/null +++ b/docs/Models/Errors/GetSearchAllLibrariesErrors.md @@ -0,0 +1,10 @@ +# GetSearchAllLibrariesErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `Code` | *int* | :heavy_minus_sign: | N/A | 1000 | +| `Message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing | +| `Status` | *int* | :heavy_minus_sign: | N/A | 400 | \ No newline at end of file diff --git a/docs/Models/Errors/GetSearchAllLibrariesLibraryErrors.md b/docs/Models/Errors/GetSearchAllLibrariesLibraryErrors.md new file mode 100644 index 0000000..89ccd2e --- /dev/null +++ b/docs/Models/Errors/GetSearchAllLibrariesLibraryErrors.md @@ -0,0 +1,10 @@ +# GetSearchAllLibrariesLibraryErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `Code` | *int* | :heavy_minus_sign: | N/A | 1001 | +| `Message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated | +| `Status` | *int* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/Models/Errors/GetSearchAllLibrariesUnauthorized.md b/docs/Models/Errors/GetSearchAllLibrariesUnauthorized.md new file mode 100644 index 0000000..b332a3b --- /dev/null +++ b/docs/Models/Errors/GetSearchAllLibrariesUnauthorized.md @@ -0,0 +1,11 @@ +# GetSearchAllLibrariesUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `Errors` | List<[GetSearchAllLibrariesLibraryErrors](../../Models/Errors/GetSearchAllLibrariesLibraryErrors.md)> | :heavy_minus_sign: | N/A | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Requests/Features.md b/docs/Models/Requests/Features.md deleted file mode 100644 index db78ba4..0000000 --- a/docs/Models/Requests/Features.md +++ /dev/null @@ -1,102 +0,0 @@ -# Features - - -## Values - -| Name | Value | -| --------------------------------------- | --------------------------------------- | -| `AndroidDolbyVision` | Android - Dolby Vision | -| `AndroidPiP` | Android - PiP | -| `CUSunset` | CU Sunset | -| `HRKEnableEUR` | HRK_enable_EUR | -| `TREBLEShowFeatures` | TREBLE-show-features | -| `AdCountdownTimer` | ad-countdown-timer | -| `AdaptiveBitrate` | adaptive_bitrate | -| `AlbumTypes` | album-types | -| `AllowDvr` | allow_dvr | -| `AmazonLoopDebug` | amazon-loop-debug | -| `AvodAdAnalysis` | avod-ad-analysis | -| `AvodNewMedia` | avod-new-media | -| `BlacklistGetSignin` | blacklist_get_signin | -| `BoostVoices` | boost-voices | -| `CameraUpload` | camera_upload | -| `ClientRadioStations` | client-radio-stations | -| `CloudflareTurnstileRequired` | cloudflare-turnstile-required | -| `Cloudsync` | cloudsync | -| `Collections` | collections | -| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications | -| `CommunityAccessPlexTv` | community_access_plex_tv | -| `CompanionsSonos` | companions_sonos | -| `ContentFilter` | content_filter | -| `CustomHomeRemoval` | custom-home-removal | -| `DisableHomeUserFriendships` | disable_home_user_friendships | -| `DisableSharingFriendships` | disable_sharing_friendships | -| `DownloadsGating` | downloads-gating | -| `DrmSupport` | drm_support | -| `Dvr` | dvr | -| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries | -| `EpgRecentChannels` | epg-recent-channels | -| `ExcludeRestrictions` | exclude restrictions | -| `FederatedAuth` | federated-auth | -| `FriendRequestPushNotifications` | friend_request_push_notifications | -| `GrandfatherSync` | grandfather-sync | -| `GuidedUpgrade` | guided-upgrade | -| `HardwareTranscoding` | hardware_transcoding | -| `Home` | home | -| `Hwtranscode` | hwtranscode | -| `ImaggaV2` | imagga-v2 | -| `IncreasePasswordComplexity` | increase-password-complexity | -| `Ios14PrivacyBanner` | ios14-privacy-banner | -| `IterableNotificationTokens` | iterable-notification-tokens | -| `ItemClusters` | item_clusters | -| `KeepPaymentMethod` | keep-payment-method | -| `KevinBacon` | kevin-bacon | -| `KoreaConsent` | korea-consent | -| `LeIsrgRootX1` | le_isrg_root_x1 | -| `LetsEncrypt` | lets_encrypt | -| `LightningDvrPivot` | lightning-dvr-pivot | -| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments | -| `Livetv` | livetv | -| `Lyrics` | lyrics | -| `MetadataSearch` | metadata_search | -| `MusicAnalysis` | music-analysis | -| `MusicVideos` | music_videos | -| `NewPlexPassPrices` | new_plex_pass_prices | -| `NewsProviderSunsetModal` | news-provider-sunset-modal | -| `Nominatim` | nominatim | -| `Pass` | pass | -| `PhotosFavorites` | photos-favorites | -| `PhotosMetadataEdition` | photos-metadata-edition | -| `PhotosV6Edit` | photosV6-edit | -| `PhotosV6TvAlbums` | photosV6-tv-albums | -| `PmsHealth` | pms_health | -| `PremiumDashboard` | premium-dashboard | -| `PremiumMusicMetadata` | premium_music_metadata | -| `Radio` | radio | -| `RateLimitClientToken` | rate-limit-client-token | -| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv | -| `SessionBandwidthRestrictions` | session_bandwidth_restrictions | -| `SessionKick` | session_kick | -| `SharedServerNotification` | shared_server_notification | -| `SharedSourceNotification` | shared_source_notification | -| `SigninNotification` | signin_notification | -| `SigninWithApple` | signin_with_apple | -| `SilenceRemoval` | silence-removal | -| `SleepTimer` | sleep-timer | -| `SpringServeAdProvider` | spring_serve_ad_provider | -| `Sync` | sync | -| `SweetFades` | sweet-fades | -| `TranscoderCache` | transcoder_cache | -| `Trailers` | trailers | -| `TunerSharing` | tuner-sharing | -| `TwoFactorAuthentication` | two-factor-authentication | -| `Unsupportedtuners` | unsupportedtuners | -| `Upgrade3ds2` | upgrade-3ds2 | -| `Visualizers` | visualizers | -| `VodSchema` | vod-schema | -| `VodCloudflare` | vod_cloudflare | -| `VolumeLeveling` | volume-leveling | -| `WatchTogetherInvite` | watch-together-invite | -| `WatchlistRss` | watchlist-rss | -| `WebServerDashboard` | web_server_dashboard | -| `Webhooks` | webhooks | \ No newline at end of file diff --git a/docs/Models/Requests/GetAllLibrariesDirectory.md b/docs/Models/Requests/GetAllLibrariesDirectory.md index b7dd3ed..8404597 100644 --- a/docs/Models/Requests/GetAllLibrariesDirectory.md +++ b/docs/Models/Requests/GetAllLibrariesDirectory.md @@ -3,26 +3,26 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | -| `AllowSync` | *bool* | :heavy_check_mark: | N/A | true | -| `Art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | -| `Composite` | *string* | :heavy_check_mark: | N/A | /library/sections/1/composite/1705615584 | -| `Filters` | *bool* | :heavy_check_mark: | N/A | true | -| `Refreshing` | *bool* | :heavy_check_mark: | N/A | false | -| `Thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/movie.png | -| `Key` | *string* | :heavy_check_mark: | N/A | 1 | -| `Type` | *string* | :heavy_check_mark: | N/A | movie | -| `Title` | *string* | :heavy_check_mark: | N/A | Movies | -| `Agent` | *string* | :heavy_check_mark: | N/A | tv.plex.agents.movie | -| `Scanner` | *string* | :heavy_check_mark: | N/A | Plex Movie | -| `Language` | *string* | :heavy_check_mark: | N/A | en-US | -| `Uuid` | *string* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | -| `UpdatedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `CreatedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `ScannedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `Content` | *bool* | :heavy_check_mark: | N/A | true | -| `Directory` | *bool* | :heavy_check_mark: | N/A | true | -| `ContentChangedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `Hidden` | *int* | :heavy_check_mark: | N/A | 0 | -| `Location` | List<[Location](../../Models/Requests/Location.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `AllowSync` | *bool* | :heavy_check_mark: | N/A | true | +| `Art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | +| `Composite` | *string* | :heavy_check_mark: | N/A | /library/sections/1/composite/1705615584 | +| `Filters` | *bool* | :heavy_check_mark: | N/A | true | +| `Refreshing` | *bool* | :heavy_check_mark: | N/A | false | +| `Thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/movie.png | +| `Key` | *string* | :heavy_check_mark: | N/A | 1 | +| `Type` | *string* | :heavy_check_mark: | N/A | movie | +| `Title` | *string* | :heavy_check_mark: | N/A | Movies | +| `Agent` | *string* | :heavy_check_mark: | N/A | tv.plex.agents.movie | +| `Scanner` | *string* | :heavy_check_mark: | N/A | Plex Movie | +| `Language` | *string* | :heavy_check_mark: | N/A | en-US | +| `Uuid` | *string* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | +| `UpdatedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | +| `CreatedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | +| `ScannedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | +| `Content` | *bool* | :heavy_check_mark: | N/A | true | +| `Directory` | *bool* | :heavy_check_mark: | N/A | true | +| `ContentChangedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | +| `Hidden` | *int* | :heavy_check_mark: | N/A | 0 | +| `Location` | List<[GetAllLibrariesLocation](../../Models/Requests/GetAllLibrariesLocation.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetAllLibrariesLocation.md b/docs/Models/Requests/GetAllLibrariesLocation.md new file mode 100644 index 0000000..2d8c3a9 --- /dev/null +++ b/docs/Models/Requests/GetAllLibrariesLocation.md @@ -0,0 +1,9 @@ +# GetAllLibrariesLocation + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Id` | *int* | :heavy_check_mark: | N/A | 1 | +| `Path` | *string* | :heavy_check_mark: | N/A | /movies | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsLocation.md b/docs/Models/Requests/GetLibraryItemsLocation.md new file mode 100644 index 0000000..f270643 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsLocation.md @@ -0,0 +1,8 @@ +# GetLibraryItemsLocation + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Path` | *string* | :heavy_minus_sign: | N/A | /TV Shows/House | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsMedia.md b/docs/Models/Requests/GetLibraryItemsMedia.md index 47d4eea..612bc10 100644 --- a/docs/Models/Requests/GetLibraryItemsMedia.md +++ b/docs/Models/Requests/GetLibraryItemsMedia.md @@ -6,19 +6,19 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | `Id` | *int* | :heavy_check_mark: | N/A | 119534 | -| `Duration` | *int* | :heavy_check_mark: | N/A | 11558112 | -| `Bitrate` | *int* | :heavy_check_mark: | N/A | 25025 | -| `Width` | *int* | :heavy_check_mark: | N/A | 3840 | -| `Height` | *int* | :heavy_check_mark: | N/A | 2072 | -| `AspectRatio` | *double* | :heavy_check_mark: | N/A | 1.85 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | +| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 25025 | +| `Width` | *int* | :heavy_minus_sign: | N/A | 3840 | +| `Height` | *int* | :heavy_minus_sign: | N/A | 2072 | +| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 1.85 | | `AudioProfile` | *string* | :heavy_minus_sign: | N/A | dts | -| `AudioChannels` | *int* | :heavy_check_mark: | N/A | 6 | -| `AudioCodec` | *string* | :heavy_check_mark: | N/A | eac3 | -| `VideoCodec` | *string* | :heavy_check_mark: | N/A | hevc | -| `VideoResolution` | *string* | :heavy_check_mark: | N/A | 4k | +| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 6 | +| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | eac3 | +| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | hevc | +| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 4k | | `Container` | *string* | :heavy_check_mark: | N/A | mkv | -| `VideoFrameRate` | *string* | :heavy_check_mark: | N/A | 24p | -| `VideoProfile` | *string* | :heavy_check_mark: | N/A | main 10 | +| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 | | `HasVoiceActivity` | *bool* | :heavy_minus_sign: | N/A | false | | `OptimizedForStreaming` | [GetLibraryItemsOptimizedForStreaming](../../Models/Requests/GetLibraryItemsOptimizedForStreaming.md) | :heavy_minus_sign: | N/A | 1 | | `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | diff --git a/docs/Models/Requests/GetLibraryItemsMetadata.md b/docs/Models/Requests/GetLibraryItemsMetadata.md index ac83487..67935c8 100644 --- a/docs/Models/Requests/GetLibraryItemsMetadata.md +++ b/docs/Models/Requests/GetLibraryItemsMetadata.md @@ -52,6 +52,7 @@ | `Writer` | List<[GetLibraryItemsWriter](../../Models/Requests/GetLibraryItemsWriter.md)> | :heavy_minus_sign: | N/A | | | `Collection` | List<[GetLibraryItemsCollection](../../Models/Requests/GetLibraryItemsCollection.md)> | :heavy_minus_sign: | N/A | | | `Role` | List<[GetLibraryItemsRole](../../Models/Requests/GetLibraryItemsRole.md)> | :heavy_minus_sign: | N/A | | +| `Location` | List<[GetLibraryItemsLocation](../../Models/Requests/GetLibraryItemsLocation.md)> | :heavy_minus_sign: | N/A | | | `MediaGuid` | List<[GetLibraryItemsMediaGuid](../../Models/Requests/GetLibraryItemsMediaGuid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | | `UltraBlurColors` | [GetLibraryItemsUltraBlurColors](../../Models/Requests/GetLibraryItemsUltraBlurColors.md) | :heavy_minus_sign: | N/A | | | `MetaDataRating` | List<[GetLibraryItemsMetaDataRating](../../Models/Requests/GetLibraryItemsMetaDataRating.md)> | :heavy_minus_sign: | N/A | | diff --git a/docs/Models/Requests/GetLibraryItemsPart.md b/docs/Models/Requests/GetLibraryItemsPart.md index d355ce3..94eee00 100644 --- a/docs/Models/Requests/GetLibraryItemsPart.md +++ b/docs/Models/Requests/GetLibraryItemsPart.md @@ -7,14 +7,14 @@ | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | | `Id` | *int* | :heavy_check_mark: | N/A | 119542 | | `Key` | *string* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | -| `Duration` | *int* | :heavy_check_mark: | N/A | 11558112 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | | `File` | *string* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | | `Size` | *long* | :heavy_check_mark: | N/A | 36158371307 | | `Container` | *string* | :heavy_check_mark: | The container format of the media file.
| mkv | | `AudioProfile` | *string* | :heavy_minus_sign: | N/A | dts | | `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | | `OptimizedForStreaming` | *bool* | :heavy_minus_sign: | N/A | false | -| `VideoProfile` | *string* | :heavy_check_mark: | N/A | main 10 | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 | | `Indexes` | *string* | :heavy_minus_sign: | N/A | sd | | `HasThumbnail` | [GetLibraryItemsHasThumbnail](../../Models/Requests/GetLibraryItemsHasThumbnail.md) | :heavy_minus_sign: | N/A | 1 | | `Stream` | List<[GetLibraryItemsStream](../../Models/Requests/GetLibraryItemsStream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedMetadata.md b/docs/Models/Requests/GetRecentlyAddedMetadata.md index 080230a..3ab5c40 100644 --- a/docs/Models/Requests/GetRecentlyAddedMetadata.md +++ b/docs/Models/Requests/GetRecentlyAddedMetadata.md @@ -52,6 +52,7 @@ | `Writer` | List<[Writer](../../Models/Requests/Writer.md)> | :heavy_minus_sign: | N/A | | | `Collection` | List<[Collection](../../Models/Requests/Collection.md)> | :heavy_minus_sign: | N/A | | | `Role` | List<[Role](../../Models/Requests/Role.md)> | :heavy_minus_sign: | N/A | | +| `Location` | List<[Location](../../Models/Requests/Location.md)> | :heavy_minus_sign: | N/A | | | `MediaGuid` | List<[MediaGuid](../../Models/Requests/MediaGuid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | | `UltraBlurColors` | [UltraBlurColors](../../Models/Requests/UltraBlurColors.md) | :heavy_minus_sign: | N/A | | | `MetaDataRating` | List<[MetaDataRating](../../Models/Requests/MetaDataRating.md)> | :heavy_minus_sign: | N/A | | diff --git a/docs/Models/Requests/GetSearchAllLibrariesCollection.md b/docs/Models/Requests/GetSearchAllLibrariesCollection.md new file mode 100644 index 0000000..c6274d0 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesCollection.md @@ -0,0 +1,8 @@ +# GetSearchAllLibrariesCollection + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | *string* | :heavy_minus_sign: | N/A | Working NL Subs | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesCountry.md b/docs/Models/Requests/GetSearchAllLibrariesCountry.md new file mode 100644 index 0000000..82fb2fe --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesCountry.md @@ -0,0 +1,8 @@ +# GetSearchAllLibrariesCountry + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `Tag` | *string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesDirector.md b/docs/Models/Requests/GetSearchAllLibrariesDirector.md new file mode 100644 index 0000000..61373f0 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesDirector.md @@ -0,0 +1,8 @@ +# GetSearchAllLibrariesDirector + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | *string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesFlattenSeasons.md b/docs/Models/Requests/GetSearchAllLibrariesFlattenSeasons.md new file mode 100644 index 0000000..c9b70bb --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesFlattenSeasons.md @@ -0,0 +1,9 @@ +# GetSearchAllLibrariesFlattenSeasons + + +## Values + +| Name | Value | +| ------- | ------- | +| `False` | 0 | +| `True` | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesGenre.md b/docs/Models/Requests/GetSearchAllLibrariesGenre.md new file mode 100644 index 0000000..3bb520f --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesGenre.md @@ -0,0 +1,8 @@ +# GetSearchAllLibrariesGenre + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | *string* | :heavy_minus_sign: | N/A | Adventure | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesHasThumbnail.md b/docs/Models/Requests/GetSearchAllLibrariesHasThumbnail.md new file mode 100644 index 0000000..bfdb151 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesHasThumbnail.md @@ -0,0 +1,9 @@ +# GetSearchAllLibrariesHasThumbnail + + +## Values + +| Name | Value | +| ------- | ------- | +| `False` | 0 | +| `True` | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesImage.md b/docs/Models/Requests/GetSearchAllLibrariesImage.md new file mode 100644 index 0000000..1ad4733 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesImage.md @@ -0,0 +1,10 @@ +# GetSearchAllLibrariesImage + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `Alt` | *string* | :heavy_check_mark: | N/A | Episode 1 | +| `Type` | [GetSearchAllLibrariesLibraryType](../../Models/Requests/GetSearchAllLibrariesLibraryType.md) | :heavy_check_mark: | N/A | background | +| `Url` | *string* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesLibraryType.md b/docs/Models/Requests/GetSearchAllLibrariesLibraryType.md new file mode 100644 index 0000000..1d439cd --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesLibraryType.md @@ -0,0 +1,11 @@ +# GetSearchAllLibrariesLibraryType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `CoverPoster` | coverPoster | +| `Background` | background | +| `Snapshot` | snapshot | +| `ClearLogo` | clearLogo | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesLocation.md b/docs/Models/Requests/GetSearchAllLibrariesLocation.md new file mode 100644 index 0000000..6956983 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesLocation.md @@ -0,0 +1,8 @@ +# GetSearchAllLibrariesLocation + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Path` | *string* | :heavy_minus_sign: | N/A | /TV Shows/House | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesMedia.md b/docs/Models/Requests/GetSearchAllLibrariesMedia.md new file mode 100644 index 0000000..5141b9c --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesMedia.md @@ -0,0 +1,25 @@ +# GetSearchAllLibrariesMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `Id` | *int* | :heavy_check_mark: | N/A | 119534 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | +| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 25025 | +| `Width` | *int* | :heavy_minus_sign: | N/A | 3840 | +| `Height` | *int* | :heavy_minus_sign: | N/A | 2072 | +| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 1.85 | +| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | dts | +| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 6 | +| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | eac3 | +| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | hevc | +| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 4k | +| `Container` | *string* | :heavy_check_mark: | N/A | mkv | +| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 | +| `HasVoiceActivity` | *bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | [GetSearchAllLibrariesOptimizedForStreaming](../../Models/Requests/GetSearchAllLibrariesOptimizedForStreaming.md) | :heavy_minus_sign: | N/A | 1 | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | +| `Part` | List<[GetSearchAllLibrariesPart](../../Models/Requests/GetSearchAllLibrariesPart.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesMediaContainer.md b/docs/Models/Requests/GetSearchAllLibrariesMediaContainer.md new file mode 100644 index 0000000..487a67a --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesMediaContainer.md @@ -0,0 +1,9 @@ +# GetSearchAllLibrariesMediaContainer + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `Size` | *double* | :heavy_check_mark: | N/A | +| `SearchResult` | List<[SearchResult](../../Models/Requests/SearchResult.md)> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesMediaGuid.md b/docs/Models/Requests/GetSearchAllLibrariesMediaGuid.md new file mode 100644 index 0000000..284be1b --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesMediaGuid.md @@ -0,0 +1,8 @@ +# GetSearchAllLibrariesMediaGuid + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | Can be one of the following formats:
imdb://tt13015952, tmdb://2434012, tvdb://7945991
| imdb://tt13015952 | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesMetaDataRating.md b/docs/Models/Requests/GetSearchAllLibrariesMetaDataRating.md new file mode 100644 index 0000000..d10c72f --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesMetaDataRating.md @@ -0,0 +1,10 @@ +# GetSearchAllLibrariesMetaDataRating + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `Image` | *string* | :heavy_check_mark: | A URI or path to the rating image. | themoviedb://image.rating | +| `Value` | *float* | :heavy_check_mark: | The value of the rating. | 3 | +| `Type` | *string* | :heavy_check_mark: | The type of rating (e.g., audience, critic). | audience | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesMetadata.md b/docs/Models/Requests/GetSearchAllLibrariesMetadata.md new file mode 100644 index 0000000..018b5f4 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesMetadata.md @@ -0,0 +1,81 @@ +# GetSearchAllLibrariesMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `RatingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item.
Note: This is always an integer, but is represented as a string in the API.
| 58683 | +| `Key` | *string* | :heavy_check_mark: | N/A | /library/metadata/58683 | +| `Guid` | *string* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | +| `Studio` | *string* | :heavy_minus_sign: | N/A | 20th Century Studios | +| `SkipChildren` | *bool* | :heavy_minus_sign: | N/A | false | +| `LibrarySectionID` | *long* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `Type` | [GetSearchAllLibrariesType](../../Models/Requests/GetSearchAllLibrariesType.md) | :heavy_check_mark: | The type of media content
| movie | +| `Title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | +| `Slug` | *string* | :heavy_minus_sign: | N/A | 4-for-texas | +| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | +| `Summary` | *string* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | +| `Rating` | *double* | :heavy_minus_sign: | N/A | 7.6 | +| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 9.2 | +| `Year` | *int* | :heavy_minus_sign: | N/A | 2022 | +| `SeasonCount` | *int* | :heavy_minus_sign: | N/A | 2022 | +| `Tagline` | *string* | :heavy_minus_sign: | N/A | Return to Pandora. | +| `FlattenSeasons` | [GetSearchAllLibrariesFlattenSeasons](../../Models/Requests/GetSearchAllLibrariesFlattenSeasons.md) | :heavy_minus_sign: | N/A | 1 | +| `ShowOrdering` | [GetSearchAllLibrariesShowOrdering](../../Models/Requests/GetSearchAllLibrariesShowOrdering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
| dvd | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | +| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | +| `Banner` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | +| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | +| `AddedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | +| `UpdatedAt` | *long* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | +| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media | +| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58684 | +| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | +| `GrandparentRatingKey` | *string* | :heavy_minus_sign: | N/A | 66 | +| `GrandparentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | +| `GrandparentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 | +| `GrandparentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica | +| `GrandparentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `ParentSlug` | *string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | +| `GrandparentSlug` | *string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | +| `GrandparentArt` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | +| `GrandparentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | +| `Media` | List<[GetSearchAllLibrariesMedia](../../Models/Requests/GetSearchAllLibrariesMedia.md)> | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.
| | +| `Genre` | List<[GetSearchAllLibrariesGenre](../../Models/Requests/GetSearchAllLibrariesGenre.md)> | :heavy_minus_sign: | N/A | | +| `Country` | List<[GetSearchAllLibrariesCountry](../../Models/Requests/GetSearchAllLibrariesCountry.md)> | :heavy_minus_sign: | N/A | | +| `Director` | List<[GetSearchAllLibrariesDirector](../../Models/Requests/GetSearchAllLibrariesDirector.md)> | :heavy_minus_sign: | N/A | | +| `Writer` | List<[GetSearchAllLibrariesWriter](../../Models/Requests/GetSearchAllLibrariesWriter.md)> | :heavy_minus_sign: | N/A | | +| `Collection` | List<[GetSearchAllLibrariesCollection](../../Models/Requests/GetSearchAllLibrariesCollection.md)> | :heavy_minus_sign: | N/A | | +| `Role` | List<[GetSearchAllLibrariesRole](../../Models/Requests/GetSearchAllLibrariesRole.md)> | :heavy_minus_sign: | N/A | | +| `Location` | List<[GetSearchAllLibrariesLocation](../../Models/Requests/GetSearchAllLibrariesLocation.md)> | :heavy_minus_sign: | N/A | | +| `MediaGuid` | List<[GetSearchAllLibrariesMediaGuid](../../Models/Requests/GetSearchAllLibrariesMediaGuid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | +| `UltraBlurColors` | [GetSearchAllLibrariesUltraBlurColors](../../Models/Requests/GetSearchAllLibrariesUltraBlurColors.md) | :heavy_minus_sign: | N/A | | +| `MetaDataRating` | List<[GetSearchAllLibrariesMetaDataRating](../../Models/Requests/GetSearchAllLibrariesMetaDataRating.md)> | :heavy_minus_sign: | N/A | | +| `Image` | List<[GetSearchAllLibrariesImage](../../Models/Requests/GetSearchAllLibrariesImage.md)> | :heavy_minus_sign: | N/A | | +| `TitleSort` | *string* | :heavy_minus_sign: | N/A | Whale | +| `ViewCount` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LastViewedAt` | *int* | :heavy_minus_sign: | N/A | 1682752242 | +| `OriginalTitle` | *string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | +| `ViewOffset` | *int* | :heavy_minus_sign: | N/A | 5222500 | +| `SkipCount` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Index` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Theme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 | +| `LeafCount` | *int* | :heavy_minus_sign: | N/A | 14 | +| `ViewedLeafCount` | *int* | :heavy_minus_sign: | N/A | 0 | +| `ChildCount` | *int* | :heavy_minus_sign: | N/A | 1 | +| `HasPremiumExtras` | *string* | :heavy_minus_sign: | N/A | 1 | +| `HasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 | +| `ParentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent item.
| 66 | +| `ParentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | +| `ParentStudio` | *string* | :heavy_minus_sign: | N/A | UCP | +| `ParentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 | +| `ParentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica | +| `ParentIndex` | *int* | :heavy_minus_sign: | N/A | 1 | +| `ParentYear` | *int* | :heavy_minus_sign: | N/A | 2010 | +| `ParentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `ParentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesOptimizedForStreaming.md b/docs/Models/Requests/GetSearchAllLibrariesOptimizedForStreaming.md new file mode 100644 index 0000000..0011a0e --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesOptimizedForStreaming.md @@ -0,0 +1,9 @@ +# GetSearchAllLibrariesOptimizedForStreaming + + +## Values + +| Name | Value | +| --------- | --------- | +| `Disable` | 0 | +| `Enable` | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesPart.md b/docs/Models/Requests/GetSearchAllLibrariesPart.md new file mode 100644 index 0000000..9ff80b6 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesPart.md @@ -0,0 +1,20 @@ +# GetSearchAllLibrariesPart + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `Id` | *int* | :heavy_check_mark: | N/A | 119542 | +| `Key` | *string* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | +| `File` | *string* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | +| `Size` | *long* | :heavy_check_mark: | N/A | 36158371307 | +| `Container` | *string* | :heavy_check_mark: | The container format of the media file.
| mkv | +| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | dts | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | *bool* | :heavy_minus_sign: | N/A | false | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 | +| `Indexes` | *string* | :heavy_minus_sign: | N/A | sd | +| `HasThumbnail` | [GetSearchAllLibrariesHasThumbnail](../../Models/Requests/GetSearchAllLibrariesHasThumbnail.md) | :heavy_minus_sign: | N/A | 1 | +| `Stream` | List<[GetSearchAllLibrariesStream](../../Models/Requests/GetSearchAllLibrariesStream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesRequest.md b/docs/Models/Requests/GetSearchAllLibrariesRequest.md new file mode 100644 index 0000000..c6390d0 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesRequest.md @@ -0,0 +1,13 @@ +# GetSearchAllLibrariesRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `Query` | *string* | :heavy_check_mark: | The search query term. | | +| `ClientID` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 | +| `Limit` | *long* | :heavy_minus_sign: | Limit the number of results returned. | | +| `SearchTypes` | List<[SearchTypes](../../Models/Requests/SearchTypes.md)> | :heavy_minus_sign: | A comma-separated list of search types to include. Valid values are: movies, music, otherVideos, people, tv.
| movies,music,otherVideos,people,tv | +| `IncludeCollections` | [QueryParamIncludeCollections](../../Models/Requests/QueryParamIncludeCollections.md) | :heavy_minus_sign: | Whether to include collections in the search results. | 1 | +| `IncludeExternalMedia` | [QueryParamIncludeExternalMedia](../../Models/Requests/QueryParamIncludeExternalMedia.md) | :heavy_minus_sign: | Whether to include external media in the search results. | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesResponse.md b/docs/Models/Requests/GetSearchAllLibrariesResponse.md new file mode 100644 index 0000000..4cbb53b --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesResponse.md @@ -0,0 +1,11 @@ +# GetSearchAllLibrariesResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [GetSearchAllLibrariesResponseBody](../../Models/Requests/GetSearchAllLibrariesResponseBody.md) | :heavy_minus_sign: | The libraries available on the Server | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesResponseBody.md b/docs/Models/Requests/GetSearchAllLibrariesResponseBody.md new file mode 100644 index 0000000..bc0c3bb --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesResponseBody.md @@ -0,0 +1,10 @@ +# GetSearchAllLibrariesResponseBody + +The libraries available on the Server + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `MediaContainer` | [GetSearchAllLibrariesMediaContainer](../../Models/Requests/GetSearchAllLibrariesMediaContainer.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesRole.md b/docs/Models/Requests/GetSearchAllLibrariesRole.md new file mode 100644 index 0000000..2413aa4 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesRole.md @@ -0,0 +1,13 @@ +# GetSearchAllLibrariesRole + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `Id` | *long* | :heavy_minus_sign: | The ID of the tag or actor. | 294129 | +| `Filter` | *string* | :heavy_minus_sign: | The filter used to find the actor or tag. | actor=294129 | +| `Thumb` | *string* | :heavy_minus_sign: | The thumbnail of the actor | https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg | +| `Tag` | *string* | :heavy_minus_sign: | The name of the tag or actor. | Mike Smith | +| `TagKey` | *string* | :heavy_minus_sign: | Unique identifier for the tag. | 668e7e7b22bcad9064350c91 | +| `Role` | *string* | :heavy_minus_sign: | The role of the actor or tag in the media. | Self | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesShowOrdering.md b/docs/Models/Requests/GetSearchAllLibrariesShowOrdering.md new file mode 100644 index 0000000..5876c45 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesShowOrdering.md @@ -0,0 +1,20 @@ +# GetSearchAllLibrariesShowOrdering + +Setting that indicates the episode ordering for the show +None = Library default, +tmdbAiring = The Movie Database (Aired), +aired = TheTVDB (Aired), +dvd = TheTVDB (DVD), +absolute = TheTVDB (Absolute)). + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `None` | None | +| `TmdbAiring` | tmdbAiring | +| `Aired` | aired | +| `Dvd` | dvd | +| `Absolute` | absolute | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesStream.md b/docs/Models/Requests/GetSearchAllLibrariesStream.md new file mode 100644 index 0000000..5d5335d --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesStream.md @@ -0,0 +1,45 @@ +# GetSearchAllLibrariesStream + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `Id` | *long* | :heavy_check_mark: | N/A | 272796 | +| `StreamType` | *long* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | +| `Default` | *bool* | :heavy_minus_sign: | Indicates if this is the default stream | true | +| `Selected` | *bool* | :heavy_minus_sign: | Indicates if the stream is selected | true | +| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream | h264 | +| `Index` | *long* | :heavy_check_mark: | The index of the stream | 0 | +| `Bitrate` | *long* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | +| `ColorPrimaries` | *string* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | +| `ColorRange` | *string* | :heavy_minus_sign: | The color range of the video stream | tv | +| `ColorSpace` | *string* | :heavy_minus_sign: | The color space of the video stream | bt709 | +| `ColorTrc` | *string* | :heavy_minus_sign: | The transfer characteristics (TRC) of the video stream | bt709 | +| `BitDepth` | *long* | :heavy_minus_sign: | The bit depth of the video stream | 8 | +| `ChromaLocation` | *string* | :heavy_minus_sign: | The chroma location of the video stream | left | +| `StreamIdentifier` | *string* | :heavy_minus_sign: | The identifier of the video stream | 2 | +| `ChromaSubsampling` | *string* | :heavy_minus_sign: | The chroma subsampling format | 4:2:0 | +| `CodedHeight` | *long* | :heavy_minus_sign: | The coded height of the video stream | 1088 | +| `CodedWidth` | *long* | :heavy_minus_sign: | The coded width of the video stream | 1920 | +| `FrameRate` | *double* | :heavy_minus_sign: | The frame rate of the video stream | 29.97 | +| `HasScalingMatrix` | *bool* | :heavy_minus_sign: | Indicates if the stream has a scaling matrix | false | +| `HearingImpaired` | *bool* | :heavy_minus_sign: | N/A | false | +| `ClosedCaptions` | *bool* | :heavy_minus_sign: | N/A | false | +| `EmbeddedInVideo` | *string* | :heavy_minus_sign: | N/A | 1 | +| `Height` | *long* | :heavy_minus_sign: | The height of the video stream | 1080 | +| `Level` | *long* | :heavy_minus_sign: | The level of the video codec | 40 | +| `Profile` | *string* | :heavy_minus_sign: | The profile of the video codec | main | +| `RefFrames` | *long* | :heavy_minus_sign: | Number of reference frames | 4 | +| `ScanType` | *string* | :heavy_minus_sign: | The scan type (progressive or interlaced) | progressive | +| `Width` | *long* | :heavy_minus_sign: | The width of the video stream | 1920 | +| `DisplayTitle` | *string* | :heavy_minus_sign: | Display title of the stream | 1080p (H.264) | +| `ExtendedDisplayTitle` | *string* | :heavy_minus_sign: | Extended display title of the stream | 1080p (H.264) | +| `Channels` | *long* | :heavy_minus_sign: | Number of audio channels (for audio streams) | 2 | +| `Language` | *string* | :heavy_minus_sign: | The language of the stream (for audio/subtitle streams) | English | +| `LanguageTag` | *string* | :heavy_minus_sign: | Language tag of the stream | en | +| `LanguageCode` | *string* | :heavy_minus_sign: | Language code of the stream | eng | +| `AudioChannelLayout` | *string* | :heavy_minus_sign: | The audio channel layout | stereo | +| `SamplingRate` | *long* | :heavy_minus_sign: | Sampling rate of the audio stream in Hz | 48000 | +| `Title` | *string* | :heavy_minus_sign: | Title of the subtitle track (for subtitle streams) | English | +| `CanAutoSync` | *bool* | :heavy_minus_sign: | Indicates if the subtitle stream can auto-sync | false | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesType.md b/docs/Models/Requests/GetSearchAllLibrariesType.md new file mode 100644 index 0000000..6d5e31e --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesType.md @@ -0,0 +1,14 @@ +# GetSearchAllLibrariesType + +The type of media content + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | movie | +| `TvShow` | show | +| `Season` | season | +| `Episode` | episode | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesUltraBlurColors.md b/docs/Models/Requests/GetSearchAllLibrariesUltraBlurColors.md new file mode 100644 index 0000000..7b4e5d1 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesUltraBlurColors.md @@ -0,0 +1,11 @@ +# GetSearchAllLibrariesUltraBlurColors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `TopLeft` | *string* | :heavy_check_mark: | N/A | 11333b | +| `TopRight` | *string* | :heavy_check_mark: | N/A | 0a232d | +| `BottomRight` | *string* | :heavy_check_mark: | N/A | 73958 | +| `BottomLeft` | *string* | :heavy_check_mark: | N/A | 1f5066 | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchAllLibrariesWriter.md b/docs/Models/Requests/GetSearchAllLibrariesWriter.md new file mode 100644 index 0000000..e655303 --- /dev/null +++ b/docs/Models/Requests/GetSearchAllLibrariesWriter.md @@ -0,0 +1,8 @@ +# GetSearchAllLibrariesWriter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | *string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file diff --git a/docs/Models/Requests/GetTokenDetailsFeatures.md b/docs/Models/Requests/GetTokenDetailsFeatures.md deleted file mode 100644 index 0e1b0fb..0000000 --- a/docs/Models/Requests/GetTokenDetailsFeatures.md +++ /dev/null @@ -1,102 +0,0 @@ -# GetTokenDetailsFeatures - - -## Values - -| Name | Value | -| --------------------------------------- | --------------------------------------- | -| `AndroidDolbyVision` | Android - Dolby Vision | -| `AndroidPiP` | Android - PiP | -| `CUSunset` | CU Sunset | -| `HRKEnableEUR` | HRK_enable_EUR | -| `TREBLEShowFeatures` | TREBLE-show-features | -| `AdCountdownTimer` | ad-countdown-timer | -| `AdaptiveBitrate` | adaptive_bitrate | -| `AlbumTypes` | album-types | -| `AllowDvr` | allow_dvr | -| `AmazonLoopDebug` | amazon-loop-debug | -| `AvodAdAnalysis` | avod-ad-analysis | -| `AvodNewMedia` | avod-new-media | -| `BlacklistGetSignin` | blacklist_get_signin | -| `BoostVoices` | boost-voices | -| `CameraUpload` | camera_upload | -| `ClientRadioStations` | client-radio-stations | -| `CloudflareTurnstileRequired` | cloudflare-turnstile-required | -| `Cloudsync` | cloudsync | -| `Collections` | collections | -| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications | -| `CommunityAccessPlexTv` | community_access_plex_tv | -| `CompanionsSonos` | companions_sonos | -| `ContentFilter` | content_filter | -| `CustomHomeRemoval` | custom-home-removal | -| `DisableHomeUserFriendships` | disable_home_user_friendships | -| `DisableSharingFriendships` | disable_sharing_friendships | -| `DownloadsGating` | downloads-gating | -| `DrmSupport` | drm_support | -| `Dvr` | dvr | -| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries | -| `EpgRecentChannels` | epg-recent-channels | -| `ExcludeRestrictions` | exclude restrictions | -| `FederatedAuth` | federated-auth | -| `FriendRequestPushNotifications` | friend_request_push_notifications | -| `GrandfatherSync` | grandfather-sync | -| `GuidedUpgrade` | guided-upgrade | -| `HardwareTranscoding` | hardware_transcoding | -| `Home` | home | -| `Hwtranscode` | hwtranscode | -| `ImaggaV2` | imagga-v2 | -| `IncreasePasswordComplexity` | increase-password-complexity | -| `Ios14PrivacyBanner` | ios14-privacy-banner | -| `IterableNotificationTokens` | iterable-notification-tokens | -| `ItemClusters` | item_clusters | -| `KeepPaymentMethod` | keep-payment-method | -| `KevinBacon` | kevin-bacon | -| `KoreaConsent` | korea-consent | -| `LeIsrgRootX1` | le_isrg_root_x1 | -| `LetsEncrypt` | lets_encrypt | -| `LightningDvrPivot` | lightning-dvr-pivot | -| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments | -| `Livetv` | livetv | -| `Lyrics` | lyrics | -| `MetadataSearch` | metadata_search | -| `MusicAnalysis` | music-analysis | -| `MusicVideos` | music_videos | -| `NewPlexPassPrices` | new_plex_pass_prices | -| `NewsProviderSunsetModal` | news-provider-sunset-modal | -| `Nominatim` | nominatim | -| `Pass` | pass | -| `PhotosFavorites` | photos-favorites | -| `PhotosMetadataEdition` | photos-metadata-edition | -| `PhotosV6Edit` | photosV6-edit | -| `PhotosV6TvAlbums` | photosV6-tv-albums | -| `PmsHealth` | pms_health | -| `PremiumDashboard` | premium-dashboard | -| `PremiumMusicMetadata` | premium_music_metadata | -| `Radio` | radio | -| `RateLimitClientToken` | rate-limit-client-token | -| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv | -| `SessionBandwidthRestrictions` | session_bandwidth_restrictions | -| `SessionKick` | session_kick | -| `SharedServerNotification` | shared_server_notification | -| `SharedSourceNotification` | shared_source_notification | -| `SigninNotification` | signin_notification | -| `SigninWithApple` | signin_with_apple | -| `SilenceRemoval` | silence-removal | -| `SleepTimer` | sleep-timer | -| `SpringServeAdProvider` | spring_serve_ad_provider | -| `Sync` | sync | -| `SweetFades` | sweet-fades | -| `TranscoderCache` | transcoder_cache | -| `Trailers` | trailers | -| `TunerSharing` | tuner-sharing | -| `TwoFactorAuthentication` | two-factor-authentication | -| `Unsupportedtuners` | unsupportedtuners | -| `Upgrade3ds2` | upgrade-3ds2 | -| `Visualizers` | visualizers | -| `VodSchema` | vod-schema | -| `VodCloudflare` | vod_cloudflare | -| `VolumeLeveling` | volume-leveling | -| `WatchTogetherInvite` | watch-together-invite | -| `WatchlistRss` | watchlist-rss | -| `WebServerDashboard` | web_server_dashboard | -| `Webhooks` | webhooks | \ No newline at end of file diff --git a/docs/Models/Requests/GetTokenDetailsSubscription.md b/docs/Models/Requests/GetTokenDetailsSubscription.md index d024f44..8cde98e 100644 --- a/docs/Models/Requests/GetTokenDetailsSubscription.md +++ b/docs/Models/Requests/GetTokenDetailsSubscription.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -| `Features` | List<[GetTokenDetailsFeatures](../../Models/Requests/GetTokenDetailsFeatures.md)> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | +| `Features` | List<*string*> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | | `Active` | *bool* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true | | `SubscribedAt` | *string* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z | | `Status` | [GetTokenDetailsAuthenticationResponseStatus](../../Models/Requests/GetTokenDetailsAuthenticationResponseStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | diff --git a/docs/Models/Requests/Location.md b/docs/Models/Requests/Location.md index 0d167b4..1fab80f 100644 --- a/docs/Models/Requests/Location.md +++ b/docs/Models/Requests/Location.md @@ -5,5 +5,4 @@ | Field | Type | Required | Description | Example | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Id` | *int* | :heavy_check_mark: | N/A | 1 | -| `Path` | *string* | :heavy_check_mark: | N/A | /movies | \ No newline at end of file +| `Path` | *string* | :heavy_minus_sign: | N/A | /TV Shows/House | \ No newline at end of file diff --git a/docs/Models/Requests/Media.md b/docs/Models/Requests/Media.md index f72da31..123efa1 100644 --- a/docs/Models/Requests/Media.md +++ b/docs/Models/Requests/Media.md @@ -6,19 +6,19 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | | `Id` | *int* | :heavy_check_mark: | N/A | 119534 | -| `Duration` | *int* | :heavy_check_mark: | N/A | 11558112 | -| `Bitrate` | *int* | :heavy_check_mark: | N/A | 25025 | -| `Width` | *int* | :heavy_check_mark: | N/A | 3840 | -| `Height` | *int* | :heavy_check_mark: | N/A | 2072 | -| `AspectRatio` | *double* | :heavy_check_mark: | N/A | 1.85 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | +| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 25025 | +| `Width` | *int* | :heavy_minus_sign: | N/A | 3840 | +| `Height` | *int* | :heavy_minus_sign: | N/A | 2072 | +| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 1.85 | | `AudioProfile` | *string* | :heavy_minus_sign: | N/A | dts | -| `AudioChannels` | *int* | :heavy_check_mark: | N/A | 6 | -| `AudioCodec` | *string* | :heavy_check_mark: | N/A | eac3 | -| `VideoCodec` | *string* | :heavy_check_mark: | N/A | hevc | -| `VideoResolution` | *string* | :heavy_check_mark: | N/A | 4k | +| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 6 | +| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | eac3 | +| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | hevc | +| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 4k | | `Container` | *string* | :heavy_check_mark: | N/A | mkv | -| `VideoFrameRate` | *string* | :heavy_check_mark: | N/A | 24p | -| `VideoProfile` | *string* | :heavy_check_mark: | N/A | main 10 | +| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 | | `HasVoiceActivity` | *bool* | :heavy_minus_sign: | N/A | false | | `OptimizedForStreaming` | [OptimizedForStreaming](../../Models/Requests/OptimizedForStreaming.md) | :heavy_minus_sign: | N/A | 1 | | `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | diff --git a/docs/Models/Requests/Part.md b/docs/Models/Requests/Part.md index fc85c68..0cfa253 100644 --- a/docs/Models/Requests/Part.md +++ b/docs/Models/Requests/Part.md @@ -7,14 +7,14 @@ | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | | `Id` | *int* | :heavy_check_mark: | N/A | 119542 | | `Key` | *string* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | -| `Duration` | *int* | :heavy_check_mark: | N/A | 11558112 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | | `File` | *string* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | | `Size` | *long* | :heavy_check_mark: | N/A | 36158371307 | | `Container` | *string* | :heavy_check_mark: | The container format of the media file.
| mkv | | `AudioProfile` | *string* | :heavy_minus_sign: | N/A | dts | | `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | | `OptimizedForStreaming` | *bool* | :heavy_minus_sign: | N/A | false | -| `VideoProfile` | *string* | :heavy_check_mark: | N/A | main 10 | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 | | `Indexes` | *string* | :heavy_minus_sign: | N/A | sd | | `HasThumbnail` | [HasThumbnail](../../Models/Requests/HasThumbnail.md) | :heavy_minus_sign: | N/A | 1 | | `Stream` | List<[Stream](../../Models/Requests/Stream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/PostUsersSignInDataAuthenticationFeatures.md b/docs/Models/Requests/PostUsersSignInDataAuthenticationFeatures.md deleted file mode 100644 index 5b00695..0000000 --- a/docs/Models/Requests/PostUsersSignInDataAuthenticationFeatures.md +++ /dev/null @@ -1,102 +0,0 @@ -# PostUsersSignInDataAuthenticationFeatures - - -## Values - -| Name | Value | -| --------------------------------------- | --------------------------------------- | -| `AndroidDolbyVision` | Android - Dolby Vision | -| `AndroidPiP` | Android - PiP | -| `CUSunset` | CU Sunset | -| `HRKEnableEUR` | HRK_enable_EUR | -| `TREBLEShowFeatures` | TREBLE-show-features | -| `AdCountdownTimer` | ad-countdown-timer | -| `AdaptiveBitrate` | adaptive_bitrate | -| `AlbumTypes` | album-types | -| `AllowDvr` | allow_dvr | -| `AmazonLoopDebug` | amazon-loop-debug | -| `AvodAdAnalysis` | avod-ad-analysis | -| `AvodNewMedia` | avod-new-media | -| `BlacklistGetSignin` | blacklist_get_signin | -| `BoostVoices` | boost-voices | -| `CameraUpload` | camera_upload | -| `ClientRadioStations` | client-radio-stations | -| `CloudflareTurnstileRequired` | cloudflare-turnstile-required | -| `Cloudsync` | cloudsync | -| `Collections` | collections | -| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications | -| `CommunityAccessPlexTv` | community_access_plex_tv | -| `CompanionsSonos` | companions_sonos | -| `ContentFilter` | content_filter | -| `CustomHomeRemoval` | custom-home-removal | -| `DisableHomeUserFriendships` | disable_home_user_friendships | -| `DisableSharingFriendships` | disable_sharing_friendships | -| `DownloadsGating` | downloads-gating | -| `DrmSupport` | drm_support | -| `Dvr` | dvr | -| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries | -| `EpgRecentChannels` | epg-recent-channels | -| `ExcludeRestrictions` | exclude restrictions | -| `FederatedAuth` | federated-auth | -| `FriendRequestPushNotifications` | friend_request_push_notifications | -| `GrandfatherSync` | grandfather-sync | -| `GuidedUpgrade` | guided-upgrade | -| `HardwareTranscoding` | hardware_transcoding | -| `Home` | home | -| `Hwtranscode` | hwtranscode | -| `ImaggaV2` | imagga-v2 | -| `IncreasePasswordComplexity` | increase-password-complexity | -| `Ios14PrivacyBanner` | ios14-privacy-banner | -| `IterableNotificationTokens` | iterable-notification-tokens | -| `ItemClusters` | item_clusters | -| `KeepPaymentMethod` | keep-payment-method | -| `KevinBacon` | kevin-bacon | -| `KoreaConsent` | korea-consent | -| `LeIsrgRootX1` | le_isrg_root_x1 | -| `LetsEncrypt` | lets_encrypt | -| `LightningDvrPivot` | lightning-dvr-pivot | -| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments | -| `Livetv` | livetv | -| `Lyrics` | lyrics | -| `MetadataSearch` | metadata_search | -| `MusicAnalysis` | music-analysis | -| `MusicVideos` | music_videos | -| `NewPlexPassPrices` | new_plex_pass_prices | -| `NewsProviderSunsetModal` | news-provider-sunset-modal | -| `Nominatim` | nominatim | -| `Pass` | pass | -| `PhotosFavorites` | photos-favorites | -| `PhotosMetadataEdition` | photos-metadata-edition | -| `PhotosV6Edit` | photosV6-edit | -| `PhotosV6TvAlbums` | photosV6-tv-albums | -| `PmsHealth` | pms_health | -| `PremiumDashboard` | premium-dashboard | -| `PremiumMusicMetadata` | premium_music_metadata | -| `Radio` | radio | -| `RateLimitClientToken` | rate-limit-client-token | -| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv | -| `SessionBandwidthRestrictions` | session_bandwidth_restrictions | -| `SessionKick` | session_kick | -| `SharedServerNotification` | shared_server_notification | -| `SharedSourceNotification` | shared_source_notification | -| `SigninNotification` | signin_notification | -| `SigninWithApple` | signin_with_apple | -| `SilenceRemoval` | silence-removal | -| `SleepTimer` | sleep-timer | -| `SpringServeAdProvider` | spring_serve_ad_provider | -| `Sync` | sync | -| `SweetFades` | sweet-fades | -| `TranscoderCache` | transcoder_cache | -| `Trailers` | trailers | -| `TunerSharing` | tuner-sharing | -| `TwoFactorAuthentication` | two-factor-authentication | -| `Unsupportedtuners` | unsupportedtuners | -| `Upgrade3ds2` | upgrade-3ds2 | -| `Visualizers` | visualizers | -| `VodSchema` | vod-schema | -| `VodCloudflare` | vod_cloudflare | -| `VolumeLeveling` | volume-leveling | -| `WatchTogetherInvite` | watch-together-invite | -| `WatchlistRss` | watchlist-rss | -| `WebServerDashboard` | web_server_dashboard | -| `Webhooks` | webhooks | \ No newline at end of file diff --git a/docs/Models/Requests/PostUsersSignInDataAuthenticationSubscription.md b/docs/Models/Requests/PostUsersSignInDataAuthenticationSubscription.md index c100c1a..1751827 100644 --- a/docs/Models/Requests/PostUsersSignInDataAuthenticationSubscription.md +++ b/docs/Models/Requests/PostUsersSignInDataAuthenticationSubscription.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | -| `Features` | List<[PostUsersSignInDataAuthenticationFeatures](../../Models/Requests/PostUsersSignInDataAuthenticationFeatures.md)> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | +| `Features` | List<*string*> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | | `Active` | *bool* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true | | `SubscribedAt` | *string* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z | | `Status` | [PostUsersSignInDataAuthenticationResponseStatus](../../Models/Requests/PostUsersSignInDataAuthenticationResponseStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | diff --git a/docs/Models/Requests/PostUsersSignInDataFeatures.md b/docs/Models/Requests/PostUsersSignInDataFeatures.md deleted file mode 100644 index 2f437a2..0000000 --- a/docs/Models/Requests/PostUsersSignInDataFeatures.md +++ /dev/null @@ -1,102 +0,0 @@ -# PostUsersSignInDataFeatures - - -## Values - -| Name | Value | -| --------------------------------------- | --------------------------------------- | -| `AndroidDolbyVision` | Android - Dolby Vision | -| `AndroidPiP` | Android - PiP | -| `CUSunset` | CU Sunset | -| `HRKEnableEUR` | HRK_enable_EUR | -| `TREBLEShowFeatures` | TREBLE-show-features | -| `AdCountdownTimer` | ad-countdown-timer | -| `AdaptiveBitrate` | adaptive_bitrate | -| `AlbumTypes` | album-types | -| `AllowDvr` | allow_dvr | -| `AmazonLoopDebug` | amazon-loop-debug | -| `AvodAdAnalysis` | avod-ad-analysis | -| `AvodNewMedia` | avod-new-media | -| `BlacklistGetSignin` | blacklist_get_signin | -| `BoostVoices` | boost-voices | -| `CameraUpload` | camera_upload | -| `ClientRadioStations` | client-radio-stations | -| `CloudflareTurnstileRequired` | cloudflare-turnstile-required | -| `Cloudsync` | cloudsync | -| `Collections` | collections | -| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications | -| `CommunityAccessPlexTv` | community_access_plex_tv | -| `CompanionsSonos` | companions_sonos | -| `ContentFilter` | content_filter | -| `CustomHomeRemoval` | custom-home-removal | -| `DisableHomeUserFriendships` | disable_home_user_friendships | -| `DisableSharingFriendships` | disable_sharing_friendships | -| `DownloadsGating` | downloads-gating | -| `DrmSupport` | drm_support | -| `Dvr` | dvr | -| `DvrBlockUnsupportedCountries` | dvr-block-unsupported-countries | -| `EpgRecentChannels` | epg-recent-channels | -| `ExcludeRestrictions` | exclude restrictions | -| `FederatedAuth` | federated-auth | -| `FriendRequestPushNotifications` | friend_request_push_notifications | -| `GrandfatherSync` | grandfather-sync | -| `GuidedUpgrade` | guided-upgrade | -| `HardwareTranscoding` | hardware_transcoding | -| `Home` | home | -| `Hwtranscode` | hwtranscode | -| `ImaggaV2` | imagga-v2 | -| `IncreasePasswordComplexity` | increase-password-complexity | -| `Ios14PrivacyBanner` | ios14-privacy-banner | -| `IterableNotificationTokens` | iterable-notification-tokens | -| `ItemClusters` | item_clusters | -| `KeepPaymentMethod` | keep-payment-method | -| `KevinBacon` | kevin-bacon | -| `KoreaConsent` | korea-consent | -| `LeIsrgRootX1` | le_isrg_root_x1 | -| `LetsEncrypt` | lets_encrypt | -| `LightningDvrPivot` | lightning-dvr-pivot | -| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments | -| `Livetv` | livetv | -| `Lyrics` | lyrics | -| `MetadataSearch` | metadata_search | -| `MusicAnalysis` | music-analysis | -| `MusicVideos` | music_videos | -| `NewPlexPassPrices` | new_plex_pass_prices | -| `NewsProviderSunsetModal` | news-provider-sunset-modal | -| `Nominatim` | nominatim | -| `Pass` | pass | -| `PhotosFavorites` | photos-favorites | -| `PhotosMetadataEdition` | photos-metadata-edition | -| `PhotosV6Edit` | photosV6-edit | -| `PhotosV6TvAlbums` | photosV6-tv-albums | -| `PmsHealth` | pms_health | -| `PremiumDashboard` | premium-dashboard | -| `PremiumMusicMetadata` | premium_music_metadata | -| `Radio` | radio | -| `RateLimitClientToken` | rate-limit-client-token | -| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv | -| `SessionBandwidthRestrictions` | session_bandwidth_restrictions | -| `SessionKick` | session_kick | -| `SharedServerNotification` | shared_server_notification | -| `SharedSourceNotification` | shared_source_notification | -| `SigninNotification` | signin_notification | -| `SigninWithApple` | signin_with_apple | -| `SilenceRemoval` | silence-removal | -| `SleepTimer` | sleep-timer | -| `SpringServeAdProvider` | spring_serve_ad_provider | -| `Sync` | sync | -| `SweetFades` | sweet-fades | -| `TranscoderCache` | transcoder_cache | -| `Trailers` | trailers | -| `TunerSharing` | tuner-sharing | -| `TwoFactorAuthentication` | two-factor-authentication | -| `Unsupportedtuners` | unsupportedtuners | -| `Upgrade3ds2` | upgrade-3ds2 | -| `Visualizers` | visualizers | -| `VodSchema` | vod-schema | -| `VodCloudflare` | vod_cloudflare | -| `VolumeLeveling` | volume-leveling | -| `WatchTogetherInvite` | watch-together-invite | -| `WatchlistRss` | watchlist-rss | -| `WebServerDashboard` | web_server_dashboard | -| `Webhooks` | webhooks | \ No newline at end of file diff --git a/docs/Models/Requests/PostUsersSignInDataSubscription.md b/docs/Models/Requests/PostUsersSignInDataSubscription.md index d7563dd..4d39570 100644 --- a/docs/Models/Requests/PostUsersSignInDataSubscription.md +++ b/docs/Models/Requests/PostUsersSignInDataSubscription.md @@ -7,7 +7,7 @@ If the account’s Plex Pass subscription is active | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -| `Features` | List<[PostUsersSignInDataFeatures](../../Models/Requests/PostUsersSignInDataFeatures.md)> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | +| `Features` | List<*string*> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | | `Active` | *bool* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true | | `SubscribedAt` | *string* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z | | `Status` | [PostUsersSignInDataAuthenticationStatus](../../Models/Requests/PostUsersSignInDataAuthenticationStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | diff --git a/docs/Models/Requests/QueryParamIncludeCollections.md b/docs/Models/Requests/QueryParamIncludeCollections.md new file mode 100644 index 0000000..a140d9e --- /dev/null +++ b/docs/Models/Requests/QueryParamIncludeCollections.md @@ -0,0 +1,11 @@ +# QueryParamIncludeCollections + +Whether to include collections in the search results. + + +## Values + +| Name | Value | +| --------- | --------- | +| `Disable` | 0 | +| `Enable` | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/QueryParamIncludeExternalMedia.md b/docs/Models/Requests/QueryParamIncludeExternalMedia.md new file mode 100644 index 0000000..3e9e78d --- /dev/null +++ b/docs/Models/Requests/QueryParamIncludeExternalMedia.md @@ -0,0 +1,11 @@ +# QueryParamIncludeExternalMedia + +Whether to include external media in the search results. + + +## Values + +| Name | Value | +| --------- | --------- | +| `Disable` | 0 | +| `Enable` | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/SearchResult.md b/docs/Models/Requests/SearchResult.md new file mode 100644 index 0000000..67bbb8c --- /dev/null +++ b/docs/Models/Requests/SearchResult.md @@ -0,0 +1,9 @@ +# SearchResult + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `Score` | *float* | :heavy_check_mark: | N/A | +| `Metadata` | [GetSearchAllLibrariesMetadata](../../Models/Requests/GetSearchAllLibrariesMetadata.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/SearchTypes.md b/docs/Models/Requests/SearchTypes.md new file mode 100644 index 0000000..365669a --- /dev/null +++ b/docs/Models/Requests/SearchTypes.md @@ -0,0 +1,12 @@ +# SearchTypes + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `Movies` | movies | +| `Music` | music | +| `OtherVideos` | otherVideos | +| `People` | people | +| `Tv` | tv | \ No newline at end of file diff --git a/docs/Models/Requests/Subscription.md b/docs/Models/Requests/Subscription.md index 4ced74b..7e2a3f0 100644 --- a/docs/Models/Requests/Subscription.md +++ b/docs/Models/Requests/Subscription.md @@ -7,7 +7,7 @@ If the account’s Plex Pass subscription is active | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -| `Features` | List<[Features](../../Models/Requests/Features.md)> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | +| `Features` | List<*string*> | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | | | `Active` | *bool* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true | | `SubscribedAt` | *string* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z | | `Status` | [GetTokenDetailsAuthenticationStatus](../../Models/Requests/GetTokenDetailsAuthenticationStatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive | diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 75ada7a..bb2fd2a 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -16,6 +16,7 @@ API Calls interacting with Plex Media Server Libraries * [GetLibraryItems](#getlibraryitems) - Get Library Items * [GetRefreshLibraryMetadata](#getrefreshlibrarymetadata) - Refresh Metadata Of The Library * [GetSearchLibrary](#getsearchlibrary) - Search Library +* [GetSearchAllLibraries](#getsearchalllibraries) - Search All Libraries * [GetMetaDataByRatingKey](#getmetadatabyratingkey) - Get Metadata by RatingKey * [GetMetadataChildren](#getmetadatachildren) - Get Items Children * [GetTopWatchedContent](#gettopwatchedcontent) - Get Top Watched Content @@ -493,6 +494,60 @@ var res = await sdk.Library.GetSearchLibraryAsync( | LukeHagar.PlexAPI.SDK.Models.Errors.GetSearchLibraryUnauthorized | 401 | application/json | | LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* | +## GetSearchAllLibraries + +Search the provided query across all library sections, or a single section, and return matches as hubs, split up by type. + + +### Example Usage + +```csharp +using LukeHagar.PlexAPI.SDK; +using LukeHagar.PlexAPI.SDK.Models.Requests; +using System.Collections.Generic; +using LukeHagar.PlexAPI.SDK.Models.Components; + +var sdk = new PlexAPI( + accessToken: "", + clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58", + clientName: "Plex for Roku", + clientVersion: "2.4.1", + platform: "Roku", + deviceNickname: "Roku 3" +); + +GetSearchAllLibrariesRequest req = new GetSearchAllLibrariesRequest() { + Query = "", + SearchTypes = new List() { + LukeHagar.PlexAPI.SDK.Models.Requests.SearchTypes.People, + }, + IncludeCollections = LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamIncludeCollections.Enable, + IncludeExternalMedia = LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamIncludeExternalMedia.Enable, +}; + +var res = await sdk.Library.GetSearchAllLibrariesAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `request` | [GetSearchAllLibrariesRequest](../../Models/Requests/GetSearchAllLibrariesRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[GetSearchAllLibrariesResponse](../../Models/Requests/GetSearchAllLibrariesResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetSearchAllLibrariesBadRequest | 400 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetSearchAllLibrariesUnauthorized | 401 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* | + ## GetMetaDataByRatingKey This endpoint will return the metadata of a library item specified with the ratingKey. diff --git a/docs/sdks/plexapi/README.md b/docs/sdks/plexapi/README.md index 1baeb06..e91fa37 100644 --- a/docs/sdks/plexapi/README.md +++ b/docs/sdks/plexapi/README.md @@ -25,4 +25,4 @@ The following SDKs are generated from the OpenAPI Specification. They are automa | Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - | | PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - | | Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - | -| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | - +| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | -