diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index a8541056..c29cc78e 100755
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -1,19 +1,19 @@
lockVersion: 2.0.0
id: 1732900d-e173-47c1-a90d-d45182eb35d9
management:
- docChecksum: 2554ade61ed4d42b8e095168765d7dc0
+ docChecksum: 48a69156b6fa2af10cd43e971790441b
docVersion: 0.0.3
- speakeasyVersion: 1.439.0
- generationVersion: 2.457.9
- releaseVersion: 0.10.1
- configChecksum: e121da064a554c10c4efe58d148f8926
+ speakeasyVersion: 1.459.2
+ generationVersion: 2.483.1
+ releaseVersion: 0.11.0
+ configChecksum: 6cd83c39bb832c6f9b6161688569339f
repoURL: https://github.com/LukeHagar/plexjava.git
published: true
features:
java:
additionalDependencies: 0.1.0
constsAndDefaults: 0.1.1
- core: 3.31.1
+ core: 3.33.4
deprecations: 2.81.1
downloadStreams: 0.1.1
enums: 2.81.2
@@ -23,12 +23,10 @@ features:
globalSecurityCallbacks: 0.1.0
globalSecurityFlattening: 0.1.0
globalServerURLs: 2.82.1
- globals: 2.82.1
methodServerURLs: 2.82.1
nameOverrides: 2.81.3
nullables: 0.1.0
sdkHooks: 0.1.0
- tests: 0.1.0
generatedFiles:
- .gitattributes
- CONTRIBUTING.md
@@ -1762,6 +1760,7 @@ generatedFiles:
- src/main/java/dev/plexapi/sdk/utils/OneOfDeserializer.java
- src/main/java/dev/plexapi/sdk/utils/Options.java
- src/main/java/dev/plexapi/sdk/utils/PathParamsMetadata.java
+ - src/main/java/dev/plexapi/sdk/utils/QueryParameter.java
- src/main/java/dev/plexapi/sdk/utils/QueryParameters.java
- src/main/java/dev/plexapi/sdk/utils/QueryParamsMetadata.java
- src/main/java/dev/plexapi/sdk/utils/RequestBody.java
@@ -1772,10 +1771,12 @@ generatedFiles:
- src/main/java/dev/plexapi/sdk/utils/Security.java
- src/main/java/dev/plexapi/sdk/utils/SecurityMetadata.java
- src/main/java/dev/plexapi/sdk/utils/SerializedBody.java
+ - src/main/java/dev/plexapi/sdk/utils/SessionManager.java
- src/main/java/dev/plexapi/sdk/utils/SpeakeasyHTTPClient.java
- src/main/java/dev/plexapi/sdk/utils/SpeakeasyMetadata.java
- src/main/java/dev/plexapi/sdk/utils/TypedObject.java
- src/main/java/dev/plexapi/sdk/utils/Types.java
+ - src/main/java/dev/plexapi/sdk/utils/Utf8UrlEncoder.java
- src/main/java/dev/plexapi/sdk/utils/Utils.java
examples:
getServerCapabilities:
@@ -1783,7 +1784,8 @@ examples:
responses:
"401":
application/json: {"errors": []}
- "200": {}
+ "200":
+ application/json: {}
"400":
application/json: {"errors": []}
getServerPreferences:
@@ -1987,7 +1989,8 @@ examples:
responses:
"401":
application/json: {"errors": []}
- "200": {}
+ "200":
+ application/json: {}
"400":
application/json: {"errors": []}
cancelServerActivities:
@@ -2299,7 +2302,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"}], "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"}]}]}}}
+ 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": "tvdbDvd", "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": "tvdbDvd", "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":
@@ -2418,7 +2421,8 @@ examples:
responses:
"401":
application/json: {"errors": []}
- "200": {}
+ "200":
+ application/json: {}
"400":
application/json: {"errors": []}
logLine:
@@ -2818,7 +2822,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"}], "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"}]}}
+ 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": "tvdbDvd", "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:
@@ -2849,8 +2853,9 @@ examples:
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"}}]}}
+ 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": "tvdbAbsolute", "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": "tvdbAbsolute", "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": "tmdbAiring", "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}]}
+generatedTests: {}
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index 7ffa8aaf..c5aba344 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -13,7 +13,7 @@ generation:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false
java:
- version: 0.10.1
+ version: 0.11.0
additionalDependencies: []
additionalPlugins: []
artifactID: plexapi
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index 677d28a7..28a58799 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -1,4 +1,4 @@
-speakeasyVersion: 1.439.0
+speakeasyVersion: 1.459.2
sources:
my-source:
sourceNamespace: my-source
@@ -8,19 +8,19 @@ sources:
- latest
plexapi:
sourceNamespace: plexapi
- sourceRevisionDigest: sha256:37c6bfb15f4154eb89b112465107f20757411f22bd1cc7d0a04335df7127fcb4
- sourceBlobDigest: sha256:290473ebc909cada80ff428c685b897f4621cf121397e1417355e06d334e7206
+ sourceRevisionDigest: sha256:ccba0c42f1644923e2209e28da7a78195a843e48da1aeaaedbf8759f1a8a0fe0
+ sourceBlobDigest: sha256:b362c110ef633288220a55ab50627374b996c64f2d9b8e020944e84ea2840332
tags:
- latest
- - main
+ - speakeasy-sdk-regen-1734740746
targets:
plexjava:
source: plexapi
sourceNamespace: plexapi
- sourceRevisionDigest: sha256:37c6bfb15f4154eb89b112465107f20757411f22bd1cc7d0a04335df7127fcb4
- sourceBlobDigest: sha256:290473ebc909cada80ff428c685b897f4621cf121397e1417355e06d334e7206
+ sourceRevisionDigest: sha256:ccba0c42f1644923e2209e28da7a78195a843e48da1aeaaedbf8759f1a8a0fe0
+ sourceBlobDigest: sha256:b362c110ef633288220a55ab50627374b996c64f2d9b8e020944e84ea2840332
codeSamplesNamespace: code-samples-java-plexjava
- codeSamplesRevisionDigest: sha256:218724cff48118b26161c9ff5a0eb0f5aed771cea0d6bcef400db821dd019aea
+ codeSamplesRevisionDigest: sha256:0612fff80a5399294636de519c9d3e8c24207624718af53454fe4d57a0a714e0
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
diff --git a/README.md b/README.md
index 8d08aa25..de64648a 100644
--- a/README.md
+++ b/README.md
@@ -41,13 +41,21 @@ The following SDKs are generated from the OpenAPI Specification. They are automa
## Table of Contents
+
+* [plexapi](#plexapi)
+* [Plex Media Server OpenAPI Specification](#plex-media-server-openapi-specification)
+ * [Documentation](#documentation)
+ * [SDKs](#sdks)
+ * [SDK Installation](#sdk-installation)
+ * [SDK Example Usage](#sdk-example-usage)
+ * [Available Resources and Operations](#available-resources-and-operations)
+ * [Error Handling](#error-handling)
+ * [Server Selection](#server-selection)
+ * [Authentication](#authentication)
+* [Development](#development)
+ * [Maturity](#maturity)
+ * [Contributions](#contributions)
-* [SDK Installation](#sdk-installation)
-* [SDK Example Usage](#sdk-example-usage)
-* [Available Resources and Operations](#available-resources-and-operations)
-* [Error Handling](#error-handling)
-* [Server Selection](#server-selection)
-* [Authentication](#authentication)
@@ -61,7 +69,7 @@ The samples below show how a published SDK artifact is used:
Gradle:
```groovy
-implementation 'dev.plexapi:plexapi:0.10.1'
+implementation 'dev.plexapi:plexapi:0.11.0'
```
Maven:
@@ -69,7 +77,7 @@ Maven:
dev.plexapi
plexapi
- 0.10.1
+ 0.11.0
```
@@ -108,11 +116,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerCapabilitiesResponse res = sdk.server().getServerCapabilities()
@@ -290,11 +293,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerCapabilitiesResponse res = sdk.server().getServerCapabilities()
@@ -337,11 +335,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.serverURL("https://10.10.10.47:32400")
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerCapabilitiesResponse res = sdk.server().getServerCapabilities()
@@ -372,11 +365,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetCompanionsDataResponse res = sdk.plex().getCompanionsData()
@@ -418,11 +406,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerCapabilitiesResponse res = sdk.server().getServerCapabilities()
diff --git a/RELEASES.md b/RELEASES.md
index 8bca2a59..2baaa40e 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -178,4 +178,14 @@ Based on:
### Generated
- [java v0.10.1] .
### Releases
-- [Maven Central v0.10.1] https://central.sonatype.com/artifact/dev.plexapi/plexapi/0.10.1 - .
\ No newline at end of file
+- [Maven Central v0.10.1] https://central.sonatype.com/artifact/dev.plexapi/plexapi/0.10.1 - .
+
+## 2024-12-21 00:25:42
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.459.2 (2.483.1) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [java v0.11.0] .
+### Releases
+- [Maven Central v0.11.0] https://central.sonatype.com/artifact/dev.plexapi/plexapi/0.11.0 - .
\ No newline at end of file
diff --git a/USAGE.md b/USAGE.md
index 66425063..53a171a9 100644
--- a/USAGE.md
+++ b/USAGE.md
@@ -14,11 +14,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerCapabilitiesResponse res = sdk.server().getServerCapabilities()
diff --git a/build.gradle b/build.gradle
index 2b4ce5bf..429aac5b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -63,7 +63,7 @@ tasks.withType(Javadoc) {
}
group = "dev.plexapi"
-version = "0.10.1"
+version = "0.11.0"
sourcesJar {
archiveBaseName = "plexapi"
@@ -101,7 +101,7 @@ publishing {
maven(MavenPublication) {
groupId = 'dev.plexapi'
artifactId = 'plexapi'
- version = '0.10.1'
+ version = '0.11.0'
from components.java
@@ -145,13 +145,13 @@ if (!project.hasProperty('skip.signing')) {
}
dependencies {
- implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.2'
- implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2'
- implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2'
- implementation 'org.openapitools:jackson-databind-nullable:0.2.6'
- implementation 'org.apache.httpcomponents:httpclient:4.5.14'
- implementation 'org.apache.httpcomponents:httpmime:4.5.14'
- implementation 'commons-io:commons-io:2.15.1'
+ api 'com.fasterxml.jackson.core:jackson-annotations:2.18.2'
+ implementation 'com.fasterxml.jackson.core:jackson-databind:2.18.2'
+ implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.2'
+ implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.18.2'
+ api('org.openapitools:jackson-databind-nullable:0.2.6') {exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind'}
+ implementation 'org.apache.httpcomponents.client5:httpclient5:5.4.1'
+ implementation 'commons-io:commons-io:2.18.0'
}
diff --git a/codeSamples.yaml b/codeSamples.yaml
index 406f1ac5..9ba3aff9 100644
--- a/codeSamples.yaml
+++ b/codeSamples.yaml
@@ -23,11 +23,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerCapabilitiesResponse res = sdk.server().getServerCapabilities()
@@ -58,11 +53,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerPreferencesResponse res = sdk.server().getServerPreferences()
@@ -93,11 +83,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
UpdatePlayProgressResponse res = sdk.media().updatePlayProgress()
@@ -129,11 +114,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
MarkPlayedResponse res = sdk.media().markPlayed()
@@ -165,11 +145,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTimelineRequest req = GetTimelineRequest.builder()
@@ -212,11 +187,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
MarkUnplayedResponse res = sdk.media().markUnplayed()
@@ -246,11 +216,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerActivitiesResponse res = sdk.activities().getServerActivities()
@@ -281,11 +246,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
CancelServerActivitiesResponse res = sdk.activities().cancelServerActivities()
@@ -315,11 +275,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StopAllTasksResponse res = sdk.butler().stopAllTasks()
@@ -348,11 +303,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetButlerTasksResponse res = sdk.butler().getButlerTasks()
@@ -383,11 +333,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StartAllTasksResponse res = sdk.butler().startAllTasks()
@@ -417,11 +362,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StopTaskResponse res = sdk.butler().stopTask()
@@ -452,11 +392,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StartTaskResponse res = sdk.butler().startTask()
@@ -486,11 +421,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetAvailableClientsResponse res = sdk.server().getAvailableClients()
@@ -521,11 +451,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetCompanionsDataResponse res = sdk.plex().getCompanionsData()
@@ -556,11 +481,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetDevicesResponse res = sdk.server().getDevices()
@@ -591,11 +511,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetUserFriendsResponse res = sdk.plex().getUserFriends()
@@ -625,11 +540,6 @@ actions:
public static void main(String[] args) throws GetGeoDataBadRequest, GetGeoDataUnauthorized, Exception {
PlexAPI sdk = PlexAPI.builder()
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetGeoDataResponse res = sdk.plex().getGeoData()
@@ -660,11 +570,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetHomeDataResponse res = sdk.plex().getHomeData()
@@ -696,11 +601,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetGlobalHubsResponse res = sdk.hubs().getGlobalHubs()
@@ -734,11 +634,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetRecentlyAddedRequest req = GetRecentlyAddedRequest.builder()
@@ -779,16 +674,11 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
PerformSearchResponse res = sdk.search().performSearch()
.query("dylan")
- .sectionId(9372.69d)
+ .sectionId(9487.87d)
.limit(5d)
.call();
@@ -815,11 +705,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
PerformVoiceSearchResponse res = sdk.search().performVoiceSearch()
@@ -852,17 +737,12 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetLibraryHubsResponse res = sdk.hubs().getLibraryHubs()
.sectionId(6728.76d)
- .count(639.24d)
- .onlyTransient(QueryParamOnlyTransient.ONE)
+ .count(6728.76d)
+ .onlyTransient(QueryParamOnlyTransient.ZERO)
.call();
if (res.object().isPresent()) {
@@ -888,11 +768,6 @@ actions:
public static void main(String[] args) throws GetServerIdentityRequestTimeout, Exception {
PlexAPI sdk = PlexAPI.builder()
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerIdentityResponse res = sdk.server().getServerIdentity()
@@ -924,11 +799,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTopWatchedContentResponse res = sdk.library().getTopWatchedContent()
@@ -961,11 +831,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetFileHashResponse res = sdk.library().getFileHash()
@@ -996,11 +861,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetMetaDataByRatingKeyResponse res = sdk.library().getMetaDataByRatingKey()
@@ -1033,11 +893,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetBannerImageRequest req = GetBannerImageRequest.builder()
@@ -1078,16 +933,11 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetMetadataChildrenResponse res = sdk.library().getMetadataChildren()
.ratingKey(1539.15d)
- .includeElements("")
+ .includeElements("Stream")
.call();
if (res.object().isPresent()) {
@@ -1116,11 +966,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetThumbImageRequest req = GetThumbImageRequest.builder()
@@ -1161,11 +1006,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetOnDeckResponse res = sdk.library().getOnDeck()
@@ -1200,11 +1040,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetRecentlyAddedLibraryRequest req = GetRecentlyAddedLibraryRequest.builder()
@@ -1263,15 +1098,11 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSearchAllLibrariesRequest req = GetSearchAllLibrariesRequest.builder()
.query("")
+ .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
.searchTypes(List.of(
SearchTypes.PEOPLE))
.includeCollections(QueryParamIncludeCollections.Enable)
@@ -1307,11 +1138,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetAllLibrariesResponse res = sdk.library().getAllLibraries()
@@ -1344,11 +1170,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetWatchListRequest req = GetWatchListRequest.builder()
@@ -1387,11 +1208,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
DeleteLibraryResponse res = sdk.library().deleteLibrary()
@@ -1422,11 +1238,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetLibraryDetailsResponse res = sdk.library().getLibraryDetails()
@@ -1460,11 +1271,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetRefreshLibraryMetadataResponse res = sdk.library().getRefreshLibraryMetadata()
@@ -1496,11 +1302,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSearchLibraryResponse res = sdk.library().getSearchLibrary()
@@ -1538,11 +1339,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetLibraryItemsRequest req = GetLibraryItemsRequest.builder()
@@ -1585,11 +1381,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
LogLineResponse res = sdk.log().logLine()
@@ -1622,15 +1413,9 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
- String req = "level=4&message=Test%20message%201&source=postman\nlevel=3&message=Test%20message%202&source=postman
- level=1&message=Test%20message%203&source=postman";
+ String req = "level=4&message=Test%20message%201&source=postman\nlevel=3&message=Test%20message%202&source=postman\nlevel=1&message=Test%20message%203&source=postman";
LogMultiLineResponse res = sdk.log().logMultiLine()
.request(req)
@@ -1659,11 +1444,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
EnablePaperTrailResponse res = sdk.log().enablePaperTrail()
@@ -1692,11 +1472,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetMediaProvidersResponse res = sdk.server().getMediaProviders()
@@ -1728,11 +1503,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetMyPlexAccountResponse res = sdk.server().getMyPlexAccount()
@@ -1766,19 +1536,14 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetResizedPhotoRequest req = GetResizedPhotoRequest.builder()
.width(110d)
.height(165d)
.opacity(100L)
- .blur(20d)
- .minSize(MinSize.ZERO)
+ .blur(0d)
+ .minSize(MinSize.ONE)
.upscale(Upscale.ONE)
.url("/library/metadata/49564/thumb/1654258204")
.build();
@@ -1809,14 +1574,14 @@ actions:
public static void main(String[] args) throws GetPinBadRequest, Exception {
PlexAPI sdk = PlexAPI.builder()
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetPinRequest req = GetPinRequest.builder()
+ .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
+ .clientName("Plex for Roku")
+ .deviceNickname("Roku 3")
+ .clientVersion("2.4.1")
+ .platform("Roku")
.build();
GetPinResponse res = sdk.plex().getPin()
@@ -1848,15 +1613,15 @@ actions:
public static void main(String[] args) throws GetTokenByPinIdBadRequest, GetTokenByPinIdResponseBody, Exception {
PlexAPI sdk = PlexAPI.builder()
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTokenByPinIdRequest req = GetTokenByPinIdRequest.builder()
.pinID(408895L)
+ .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
+ .clientName("Plex for Roku")
+ .deviceNickname("Roku 3")
+ .clientVersion("2.4.1")
+ .platform("Roku")
.build();
GetTokenByPinIdResponse res = sdk.plex().getTokenByPinId()
@@ -1890,11 +1655,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetPlaylistsResponse res = sdk.playlists().getPlaylists()
@@ -1930,11 +1690,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
CreatePlaylistRequest req = CreatePlaylistRequest.builder()
@@ -1974,11 +1729,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
UploadPlaylistResponse res = sdk.playlists().uploadPlaylist()
@@ -2010,11 +1760,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
DeletePlaylistResponse res = sdk.playlists().deletePlaylist()
@@ -2044,11 +1789,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetPlaylistResponse res = sdk.playlists().getPlaylist()
@@ -2080,11 +1820,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
UpdatePlaylistResponse res = sdk.playlists().updatePlaylist()
@@ -2116,11 +1851,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
ClearPlaylistContentsResponse res = sdk.playlists().clearPlaylistContents()
@@ -2151,11 +1881,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetPlaylistContentsResponse res = sdk.playlists().getPlaylistContents()
@@ -2188,11 +1913,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
AddPlaylistContentsResponse res = sdk.playlists().addPlaylistContents()
@@ -2229,11 +1949,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerResourcesResponse res = sdk.plex().getServerResources()
@@ -2268,11 +1983,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSearchResultsResponse res = sdk.search().getSearchResults()
@@ -2304,15 +2014,10 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSourceConnectionInformationResponse res = sdk.authentication().getSourceConnectionInformation()
- .source("server://client-identifier")
+ .source("provider://provider-identifier")
.call();
// handle response
@@ -2340,11 +2045,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTransientTokenResponse res = sdk.authentication().getTransientToken()
@@ -2375,11 +2075,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerListResponse res = sdk.server().getServerList()
@@ -2410,11 +2105,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetBandwidthStatisticsResponse res = sdk.statistics().getBandwidthStatistics()
@@ -2446,11 +2136,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetStatisticsResponse res = sdk.statistics().getStatistics()
@@ -2482,11 +2167,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetResourcesStatisticsResponse res = sdk.statistics().getResourcesStatistics()
@@ -2518,11 +2198,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSessionsResponse res = sdk.sessions().getSessions()
@@ -2554,15 +2229,10 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSessionHistoryResponse res = sdk.sessions().getSessionHistory()
- .sort("")
+ .sort("viewedAt:desc")
.accountId(1L)
.filter(QueryParamFilter.builder()
.build())
@@ -2594,11 +2264,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTranscodeSessionsResponse res = sdk.sessions().getTranscodeSessions()
@@ -2629,11 +2294,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StopTranscodeSessionResponse res = sdk.sessions().stopTranscodeSession()
@@ -2665,11 +2325,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
ApplyUpdatesResponse res = sdk.updater().applyUpdates()
@@ -2701,11 +2356,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
CheckForUpdatesResponse res = sdk.updater().checkForUpdates()
@@ -2735,11 +2385,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetUpdateStatusResponse res = sdk.updater().getUpdateStatus()
@@ -2770,11 +2415,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTokenDetailsResponse res = sdk.authentication().getTokenDetails()
@@ -2806,14 +2446,14 @@ actions:
public static void main(String[] args) throws PostUsersSignInDataBadRequest, PostUsersSignInDataUnauthorized, Exception {
PlexAPI sdk = PlexAPI.builder()
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
PostUsersSignInDataRequest req = PostUsersSignInDataRequest.builder()
+ .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
+ .clientName("Plex for Roku")
+ .deviceNickname("Roku 3")
+ .clientVersion("2.4.1")
+ .platform("Roku")
.requestBody(PostUsersSignInDataRequestBody.builder()
.login("username@email.com")
.password("password123")
@@ -2851,11 +2491,6 @@ actions:
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StartUniversalTranscodeRequest req = StartUniversalTranscodeRequest.builder()
diff --git a/docs/models/operations/GetLibraryItemsMetadata.md b/docs/models/operations/GetLibraryItemsMetadata.md
index 012b80a3..bc76e672 100644
--- a/docs/models/operations/GetLibraryItemsMetadata.md
+++ b/docs/models/operations/GetLibraryItemsMetadata.md
@@ -24,7 +24,7 @@
| `seasonCount` | *Optional\* | :heavy_minus_sign: | N/A | 2022 |
| `tagline` | *Optional\* | :heavy_minus_sign: | N/A | Return to Pandora. |
| `flattenSeasons` | [Optional\](../../models/operations/GetLibraryItemsFlattenSeasons.md) | :heavy_minus_sign: | N/A | 1 |
-| `showOrdering` | [Optional\](../../models/operations/GetLibraryItemsShowOrdering.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 |
+| `showOrdering` | [Optional\](../../models/operations/GetLibraryItemsShowOrdering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
tvdbAiring = TheTVDB (Aired),
tvdbDvd = TheTVDB (DVD),
tvdbAbsolute = TheTVDB (Absolute)).
| tvdbDvd |
| `thumb` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 |
| `art` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 |
| `banner` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 |
diff --git a/docs/models/operations/GetLibraryItemsQueryParamType.md b/docs/models/operations/GetLibraryItemsQueryParamType.md
index 3add83f6..c0b13045 100644
--- a/docs/models/operations/GetLibraryItemsQueryParamType.md
+++ b/docs/models/operations/GetLibraryItemsQueryParamType.md
@@ -17,4 +17,6 @@ E.g. A movie library will not return anything with type 3 as there are no season
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
-| `Audio` | 8 |
\ No newline at end of file
+| `Audio` | 8 |
+| `Album` | 9 |
+| `Track` | 10 |
\ No newline at end of file
diff --git a/docs/models/operations/GetLibraryItemsShowOrdering.md b/docs/models/operations/GetLibraryItemsShowOrdering.md
index 1d7aa8ce..a82729cd 100644
--- a/docs/models/operations/GetLibraryItemsShowOrdering.md
+++ b/docs/models/operations/GetLibraryItemsShowOrdering.md
@@ -1,20 +1,20 @@
# GetLibraryItemsShowOrdering
-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)).
+Setting that indicates the episode ordering for the show
+None = Library default,
+tmdbAiring = The Movie Database (Aired),
+tvdbAiring = TheTVDB (Aired),
+tvdbDvd = TheTVDB (DVD),
+tvdbAbsolute = TheTVDB (Absolute)).
## Values
-| Name | Value |
-| ------------ | ------------ |
-| `None` | None |
-| `TmdbAiring` | tmdbAiring |
-| `Aired` | aired |
-| `Dvd` | dvd |
-| `Absolute` | absolute |
\ No newline at end of file
+| Name | Value |
+| -------------- | -------------- |
+| `None` | None |
+| `TmdbAiring` | tmdbAiring |
+| `TvdbAiring` | tvdbAiring |
+| `TvdbDvd` | tvdbDvd |
+| `TvdbAbsolute` | tvdbAbsolute |
\ No newline at end of file
diff --git a/docs/models/operations/GetMetaDataByRatingKeyMetadata.md b/docs/models/operations/GetMetaDataByRatingKeyMetadata.md
index ad340b0b..3e1ba58e 100644
--- a/docs/models/operations/GetMetaDataByRatingKeyMetadata.md
+++ b/docs/models/operations/GetMetaDataByRatingKeyMetadata.md
@@ -14,6 +14,11 @@
| `librarySectionTitle` | *Optional\* | :heavy_minus_sign: | N/A | Movies |
| `librarySectionID` | *Optional\* | :heavy_minus_sign: | N/A | 1 |
| `librarySectionKey` | *Optional\* | :heavy_minus_sign: | N/A | /library/sections/1 |
+| `grandparentTitle` | *Optional\* | :heavy_minus_sign: | The name of the album artist for the track when audio, and the name of the TV show for the episode when video. | |
+| `parentTitle` | *Optional\* | :heavy_minus_sign: | The name of the album for the track when audio, and the name of the season for the episode when TV show. | |
+| `originalTitle` | *Optional\* | :heavy_minus_sign: | The orginal untranslated name of the media item when non-english. | |
+| `index` | *Optional\* | :heavy_minus_sign: | The index starting from 0 of this media item in the MetaData array. | |
+| `parentIndex` | *Optional\* | :heavy_minus_sign: | The parent index starting from 0 of this media item in the parent MetaData array. | |
| `contentRating` | *Optional\* | :heavy_minus_sign: | N/A | PG-13 |
| `summary` | *Optional\* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. |
| `rating` | *Optional\* | :heavy_minus_sign: | N/A | 8.2 |
diff --git a/docs/models/operations/GetPinRequest.md b/docs/models/operations/GetPinRequest.md
index 5a058e52..7dcd179f 100644
--- a/docs/models/operations/GetPinRequest.md
+++ b/docs/models/operations/GetPinRequest.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `strong` | *Optional\* | :heavy_minus_sign: | Determines the kind of code returned by the API call
Strong codes are used for Pin authentication flows
Non-Strong codes are used for `Plex.tv/link`
| |
-| `clientID` | *Optional\* | :heavy_minus_sign: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
+| `clientID` | *String* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
| `clientName` | *Optional\* | :heavy_minus_sign: | The name of the client application. (Plex Web, Plex Media Server, etc.) | Plex for Roku |
| `deviceNickname` | *Optional\* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `clientVersion` | *Optional\* | :heavy_minus_sign: | The version of the client application. | 2.4.1 |
diff --git a/docs/models/operations/GetPlaylistContentsQueryParamType.md b/docs/models/operations/GetPlaylistContentsQueryParamType.md
index 7defe609..b5b34abc 100644
--- a/docs/models/operations/GetPlaylistContentsQueryParamType.md
+++ b/docs/models/operations/GetPlaylistContentsQueryParamType.md
@@ -17,4 +17,6 @@ E.g. A movie library will not return anything with type 3 as there are no season
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
-| `Audio` | 8 |
\ No newline at end of file
+| `Audio` | 8 |
+| `Album` | 9 |
+| `Track` | 10 |
\ No newline at end of file
diff --git a/docs/models/operations/GetRecentlyAddedMetadata.md b/docs/models/operations/GetRecentlyAddedMetadata.md
index dfa7b0ea..b5eb98e2 100644
--- a/docs/models/operations/GetRecentlyAddedMetadata.md
+++ b/docs/models/operations/GetRecentlyAddedMetadata.md
@@ -24,7 +24,7 @@
| `seasonCount` | *Optional\* | :heavy_minus_sign: | N/A | 2022 |
| `tagline` | *Optional\* | :heavy_minus_sign: | N/A | Return to Pandora. |
| `flattenSeasons` | [Optional\](../../models/operations/FlattenSeasons.md) | :heavy_minus_sign: | N/A | 1 |
-| `showOrdering` | [Optional\](../../models/operations/ShowOrdering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
| dvd |
+| `showOrdering` | [Optional\](../../models/operations/ShowOrdering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
tvdbAiring = TheTVDB (Aired),
tvdbDvd = TheTVDB (DVD),
tvdbAbsolute = TheTVDB (Absolute)).
| tvdbDvd |
| `thumb` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 |
| `art` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 |
| `banner` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 |
diff --git a/docs/models/operations/GetSearchAllLibrariesMetadata.md b/docs/models/operations/GetSearchAllLibrariesMetadata.md
index f7e4d9ee..357b2d1a 100644
--- a/docs/models/operations/GetSearchAllLibrariesMetadata.md
+++ b/docs/models/operations/GetSearchAllLibrariesMetadata.md
@@ -24,7 +24,7 @@
| `seasonCount` | *Optional\* | :heavy_minus_sign: | N/A | 2022 |
| `tagline` | *Optional\* | :heavy_minus_sign: | N/A | Return to Pandora. |
| `flattenSeasons` | [Optional\](../../models/operations/GetSearchAllLibrariesFlattenSeasons.md) | :heavy_minus_sign: | N/A | 1 |
-| `showOrdering` | [Optional\](../../models/operations/GetSearchAllLibrariesShowOrdering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
| dvd |
+| `showOrdering` | [Optional\](../../models/operations/GetSearchAllLibrariesShowOrdering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
tvdbAiring = TheTVDB (Aired),
tvdbDvd = TheTVDB (DVD),
tvdbAbsolute = TheTVDB (Absolute)).
| tvdbDvd |
| `thumb` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 |
| `art` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 |
| `banner` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 |
diff --git a/docs/models/operations/GetSearchAllLibrariesRequest.md b/docs/models/operations/GetSearchAllLibrariesRequest.md
index 3bcdc678..e559108e 100644
--- a/docs/models/operations/GetSearchAllLibrariesRequest.md
+++ b/docs/models/operations/GetSearchAllLibrariesRequest.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `query` | *String* | :heavy_check_mark: | The search query term. | |
-| `clientID` | *Optional\* | :heavy_minus_sign: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
+| `clientID` | *String* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
| `limit` | *Optional\* | :heavy_minus_sign: | Limit the number of results returned. | |
| `searchTypes` | List\<[SearchTypes](../../models/operations/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` | [Optional\](../../models/operations/QueryParamIncludeCollections.md) | :heavy_minus_sign: | Whether to include collections in the search results. | 1 |
diff --git a/docs/models/operations/GetSearchAllLibrariesShowOrdering.md b/docs/models/operations/GetSearchAllLibrariesShowOrdering.md
index 5876c454..fc54022a 100644
--- a/docs/models/operations/GetSearchAllLibrariesShowOrdering.md
+++ b/docs/models/operations/GetSearchAllLibrariesShowOrdering.md
@@ -1,20 +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)).
+Setting that indicates the episode ordering for the show
+None = Library default,
+tmdbAiring = The Movie Database (Aired),
+tvdbAiring = TheTVDB (Aired),
+tvdbDvd = TheTVDB (DVD),
+tvdbAbsolute = TheTVDB (Absolute)).
## Values
-| Name | Value |
-| ------------ | ------------ |
-| `None` | None |
-| `TmdbAiring` | tmdbAiring |
-| `Aired` | aired |
-| `Dvd` | dvd |
-| `Absolute` | absolute |
\ No newline at end of file
+| Name | Value |
+| -------------- | -------------- |
+| `None` | None |
+| `TmdbAiring` | tmdbAiring |
+| `TvdbAiring` | tvdbAiring |
+| `TvdbDvd` | tvdbDvd |
+| `TvdbAbsolute` | tvdbAbsolute |
\ No newline at end of file
diff --git a/docs/models/operations/GetSearchLibraryQueryParamType.md b/docs/models/operations/GetSearchLibraryQueryParamType.md
index 7242bfdf..9e3a4826 100644
--- a/docs/models/operations/GetSearchLibraryQueryParamType.md
+++ b/docs/models/operations/GetSearchLibraryQueryParamType.md
@@ -17,4 +17,6 @@ E.g. A movie library will not return anything with type 3 as there are no season
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
-| `Audio` | 8 |
\ No newline at end of file
+| `Audio` | 8 |
+| `Album` | 9 |
+| `Track` | 10 |
\ No newline at end of file
diff --git a/docs/models/operations/GetServerResourcesRequest.md b/docs/models/operations/GetServerResourcesRequest.md
index 23057241..e6469c47 100644
--- a/docs/models/operations/GetServerResourcesRequest.md
+++ b/docs/models/operations/GetServerResourcesRequest.md
@@ -8,4 +8,4 @@
| `includeHttps` | [Optional\](../../models/operations/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 |
| `includeRelay` | [Optional\](../../models/operations/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
| 1 |
| `includeIPv6` | [Optional\](../../models/operations/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 |
-| `clientID` | *Optional\* | :heavy_minus_sign: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
\ No newline at end of file
+| `clientID` | *String* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
\ No newline at end of file
diff --git a/docs/models/operations/GetTokenByPinIdRequest.md b/docs/models/operations/GetTokenByPinIdRequest.md
index 23a7c79e..784d2619 100644
--- a/docs/models/operations/GetTokenByPinIdRequest.md
+++ b/docs/models/operations/GetTokenByPinIdRequest.md
@@ -6,7 +6,7 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `pinID` | *long* | :heavy_check_mark: | The PinID to retrieve an access token for | |
-| `clientID` | *Optional\* | :heavy_minus_sign: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
+| `clientID` | *String* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
| `clientName` | *Optional\* | :heavy_minus_sign: | The name of the client application. (Plex Web, Plex Media Server, etc.) | Plex for Roku |
| `deviceNickname` | *Optional\* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `clientVersion` | *Optional\* | :heavy_minus_sign: | The version of the client application. | 2.4.1 |
diff --git a/docs/models/operations/GetTopWatchedContentQueryParamType.md b/docs/models/operations/GetTopWatchedContentQueryParamType.md
index c178f9e3..6736d2a0 100644
--- a/docs/models/operations/GetTopWatchedContentQueryParamType.md
+++ b/docs/models/operations/GetTopWatchedContentQueryParamType.md
@@ -17,4 +17,6 @@ E.g. A movie library will not return anything with type 3 as there are no season
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
-| `Audio` | 8 |
\ No newline at end of file
+| `Audio` | 8 |
+| `Album` | 9 |
+| `Track` | 10 |
\ No newline at end of file
diff --git a/docs/models/operations/PostUsersSignInDataRequest.md b/docs/models/operations/PostUsersSignInDataRequest.md
index 2eafbe44..f7863eb3 100644
--- a/docs/models/operations/PostUsersSignInDataRequest.md
+++ b/docs/models/operations/PostUsersSignInDataRequest.md
@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| `clientID` | *Optional\* | :heavy_minus_sign: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
+| `clientID` | *String* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
| `clientName` | *Optional\* | :heavy_minus_sign: | The name of the client application. (Plex Web, Plex Media Server, etc.) | Plex for Roku |
| `deviceNickname` | *Optional\* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `clientVersion` | *Optional\* | :heavy_minus_sign: | The version of the client application. | 2.4.1 |
diff --git a/docs/models/operations/QueryParamType.md b/docs/models/operations/QueryParamType.md
index 326696d5..13fedecc 100644
--- a/docs/models/operations/QueryParamType.md
+++ b/docs/models/operations/QueryParamType.md
@@ -17,4 +17,6 @@ E.g. A movie library will not return anything with type 3 as there are no season
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
-| `Audio` | 8 |
\ No newline at end of file
+| `Audio` | 8 |
+| `Album` | 9 |
+| `Track` | 10 |
\ No newline at end of file
diff --git a/docs/models/operations/ShowOrdering.md b/docs/models/operations/ShowOrdering.md
index b8a243b2..f969631a 100644
--- a/docs/models/operations/ShowOrdering.md
+++ b/docs/models/operations/ShowOrdering.md
@@ -1,20 +1,20 @@
# ShowOrdering
-Setting that indicates the episode ordering for the show
-None = Library default,
-tmdbAiring = The Movie Database (Aired),
-aired = TheTVDB (Aired),
-dvd = TheTVDB (DVD),
-absolute = TheTVDB (Absolute)).
+Setting that indicates the episode ordering for the show
+None = Library default,
+tmdbAiring = The Movie Database (Aired),
+tvdbAiring = TheTVDB (Aired),
+tvdbDvd = TheTVDB (DVD),
+tvdbAbsolute = TheTVDB (Absolute)).
## Values
-| Name | Value |
-| ------------ | ------------ |
-| `None` | None |
-| `TmdbAiring` | tmdbAiring |
-| `Aired` | aired |
-| `Dvd` | dvd |
-| `Absolute` | absolute |
\ No newline at end of file
+| Name | Value |
+| -------------- | -------------- |
+| `None` | None |
+| `TmdbAiring` | tmdbAiring |
+| `TvdbAiring` | tvdbAiring |
+| `TvdbDvd` | tvdbDvd |
+| `TvdbAbsolute` | tvdbAbsolute |
\ No newline at end of file
diff --git a/docs/models/operations/Tag.md b/docs/models/operations/Tag.md
index 19a3a0df..66930656 100644
--- a/docs/models/operations/Tag.md
+++ b/docs/models/operations/Tag.md
@@ -25,4 +25,5 @@ A key representing a specific tag within the section.
| `RATING` | rating |
| `RESOLUTION` | resolution |
| `FIRST_CHARACTER` | firstCharacter |
-| `FOLDER` | folder |
\ No newline at end of file
+| `FOLDER` | folder |
+| `ALBUMS` | albums |
\ No newline at end of file
diff --git a/docs/models/operations/Type.md b/docs/models/operations/Type.md
index 1ef815d8..e0e804eb 100644
--- a/docs/models/operations/Type.md
+++ b/docs/models/operations/Type.md
@@ -17,4 +17,6 @@ E.g. A movie library will not return anything with type 3 as there are no season
| `TvShow` | 2 |
| `Season` | 3 |
| `Episode` | 4 |
-| `Audio` | 8 |
\ No newline at end of file
+| `Audio` | 8 |
+| `Album` | 9 |
+| `Track` | 10 |
\ No newline at end of file
diff --git a/docs/sdks/activities/README.md b/docs/sdks/activities/README.md
index 462b0ff8..ca99e95d 100644
--- a/docs/sdks/activities/README.md
+++ b/docs/sdks/activities/README.md
@@ -38,11 +38,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerActivitiesResponse res = sdk.activities().getServerActivities()
@@ -88,11 +83,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
CancelServerActivitiesResponse res = sdk.activities().cancelServerActivities()
diff --git a/docs/sdks/authentication/README.md b/docs/sdks/authentication/README.md
index 1b5ada8d..ad9d3c98 100644
--- a/docs/sdks/authentication/README.md
+++ b/docs/sdks/authentication/README.md
@@ -37,11 +37,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTransientTokenResponse res = sdk.authentication().getTransientToken()
@@ -96,15 +91,10 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSourceConnectionInformationResponse res = sdk.authentication().getSourceConnectionInformation()
- .source("server://client-identifier")
+ .source("provider://provider-identifier")
.call();
// handle response
@@ -151,11 +141,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTokenDetailsResponse res = sdk.authentication().getTokenDetails()
@@ -208,14 +193,14 @@ public class Application {
public static void main(String[] args) throws PostUsersSignInDataBadRequest, PostUsersSignInDataUnauthorized, Exception {
PlexAPI sdk = PlexAPI.builder()
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
PostUsersSignInDataRequest req = PostUsersSignInDataRequest.builder()
+ .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
+ .clientName("Plex for Roku")
+ .deviceNickname("Roku 3")
+ .clientVersion("2.4.1")
+ .platform("Roku")
.requestBody(PostUsersSignInDataRequestBody.builder()
.login("username@email.com")
.password("password123")
diff --git a/docs/sdks/butler/README.md b/docs/sdks/butler/README.md
index 4dbaa946..72e172b0 100644
--- a/docs/sdks/butler/README.md
+++ b/docs/sdks/butler/README.md
@@ -35,11 +35,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetButlerTasksResponse res = sdk.butler().getButlerTasks()
@@ -90,11 +85,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StartAllTasksResponse res = sdk.butler().startAllTasks()
@@ -139,11 +129,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StopAllTasksResponse res = sdk.butler().stopAllTasks()
@@ -193,11 +178,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StartTaskResponse res = sdk.butler().startTask()
@@ -250,11 +230,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StopTaskResponse res = sdk.butler().stopTask()
diff --git a/docs/sdks/hubs/README.md b/docs/sdks/hubs/README.md
index 08ba6af6..298f5bd7 100644
--- a/docs/sdks/hubs/README.md
+++ b/docs/sdks/hubs/README.md
@@ -34,11 +34,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetGlobalHubsResponse res = sdk.hubs().getGlobalHubs()
@@ -95,11 +90,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetRecentlyAddedRequest req = GetRecentlyAddedRequest.builder()
@@ -161,17 +151,12 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetLibraryHubsResponse res = sdk.hubs().getLibraryHubs()
.sectionId(6728.76d)
- .count(639.24d)
- .onlyTransient(QueryParamOnlyTransient.ONE)
+ .count(6728.76d)
+ .onlyTransient(QueryParamOnlyTransient.ZERO)
.call();
if (res.object().isPresent()) {
diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md
index e2c2cb22..5388d4ac 100644
--- a/docs/sdks/library/README.md
+++ b/docs/sdks/library/README.md
@@ -43,11 +43,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetFileHashResponse res = sdk.library().getFileHash()
@@ -105,11 +100,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetRecentlyAddedLibraryRequest req = GetRecentlyAddedLibraryRequest.builder()
@@ -190,11 +180,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetAllLibrariesResponse res = sdk.library().getAllLibraries()
@@ -280,11 +265,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetLibraryDetailsResponse res = sdk.library().getLibraryDetails()
@@ -339,11 +319,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
DeleteLibraryResponse res = sdk.library().deleteLibrary()
@@ -395,6 +370,7 @@ Fetches details from a specific section of the library identified by a section k
- `resolution`: Items categorized by resolution.
- `firstCharacter`: Items categorized by the first letter.
- `folder`: Items categorized by folder.
+- `albums`: Items categorized by album.
### Example Usage
@@ -419,11 +395,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetLibraryItemsRequest req = GetLibraryItemsRequest.builder()
@@ -488,11 +459,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetRefreshLibraryMetadataResponse res = sdk.library().getRefreshLibraryMetadata()
@@ -564,11 +530,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSearchLibraryResponse res = sdk.library().getSearchLibrary()
@@ -629,15 +590,11 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSearchAllLibrariesRequest req = GetSearchAllLibrariesRequest.builder()
.query("")
+ .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
.searchTypes(List.of(
SearchTypes.PEOPLE))
.includeCollections(QueryParamIncludeCollections.Enable)
@@ -695,11 +652,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetMetaDataByRatingKeyResponse res = sdk.library().getMetaDataByRatingKey()
@@ -753,16 +705,11 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetMetadataChildrenResponse res = sdk.library().getMetadataChildren()
- .ratingKey(1539.15d)
- .includeElements("")
+ .ratingKey(1539.14d)
+ .includeElements("Stream")
.call();
if (res.object().isPresent()) {
@@ -814,11 +761,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTopWatchedContentResponse res = sdk.library().getTopWatchedContent()
@@ -874,11 +816,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetOnDeckResponse res = sdk.library().getOnDeck()
diff --git a/docs/sdks/log/README.md b/docs/sdks/log/README.md
index 084aa5d4..cb3be6b2 100644
--- a/docs/sdks/log/README.md
+++ b/docs/sdks/log/README.md
@@ -35,11 +35,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
LogLineResponse res = sdk.log().logLine()
@@ -116,15 +111,9 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
- String req = "level=4&message=Test%20message%201&source=postman\nlevel=3&message=Test%20message%202&source=postman
- level=1&message=Test%20message%203&source=postman";
+ String req = "level=4&message=Test%20message%201&source=postman\nlevel=3&message=Test%20message%202&source=postman\nlevel=1&message=Test%20message%203&source=postman";
LogMultiLineResponse res = sdk.log().logMultiLine()
.request(req)
@@ -175,11 +164,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
EnablePaperTrailResponse res = sdk.log().enablePaperTrail()
diff --git a/docs/sdks/media/README.md b/docs/sdks/media/README.md
index e1bd374c..b45d4ce1 100644
--- a/docs/sdks/media/README.md
+++ b/docs/sdks/media/README.md
@@ -35,11 +35,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
MarkPlayedResponse res = sdk.media().markPlayed()
@@ -90,11 +85,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
MarkUnplayedResponse res = sdk.media().markUnplayed()
@@ -146,11 +136,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
UpdatePlayProgressResponse res = sdk.media().updatePlayProgress()
@@ -206,11 +191,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetBannerImageRequest req = GetBannerImageRequest.builder()
@@ -273,11 +253,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetThumbImageRequest req = GetThumbImageRequest.builder()
diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md
index 96ffd94a..be565e52 100644
--- a/docs/sdks/playlists/README.md
+++ b/docs/sdks/playlists/README.md
@@ -48,18 +48,13 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
CreatePlaylistRequest req = CreatePlaylistRequest.builder()
.title("")
.type(CreatePlaylistQueryParamType.PHOTO)
.smart(Smart.ONE)
- .uri("https://hoarse-testing.info/")
+ .uri("https://inborn-brochure.biz")
.build();
CreatePlaylistResponse res = sdk.playlists().createPlaylist()
@@ -114,11 +109,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetPlaylistsResponse res = sdk.playlists().getPlaylists()
@@ -175,11 +165,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetPlaylistResponse res = sdk.playlists().getPlaylist()
@@ -233,11 +218,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
DeletePlaylistResponse res = sdk.playlists().deletePlaylist()
@@ -289,15 +269,10 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
UpdatePlaylistResponse res = sdk.playlists().updatePlaylist()
- .playlistID(3915.00d)
+ .playlistID(3915d)
.title("")
.summary("")
.call();
@@ -353,11 +328,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetPlaylistContentsResponse res = sdk.playlists().getPlaylistContents()
@@ -413,11 +383,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
ClearPlaylistContentsResponse res = sdk.playlists().clearPlaylistContents()
@@ -470,15 +435,10 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
AddPlaylistContentsResponse res = sdk.playlists().addPlaylistContents()
- .playlistID(8502.00d)
+ .playlistID(8502.01d)
.uri("server://12345/com.plexapp.plugins.library/library/metadata/1")
.playQueueID(123d)
.call();
@@ -533,11 +493,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
UploadPlaylistResponse res = sdk.playlists().uploadPlaylist()
diff --git a/docs/sdks/plex/README.md b/docs/sdks/plex/README.md
index bb214dda..d698c7be 100644
--- a/docs/sdks/plex/README.md
+++ b/docs/sdks/plex/README.md
@@ -37,11 +37,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetCompanionsDataResponse res = sdk.plex().getCompanionsData()
@@ -93,11 +88,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetUserFriendsResponse res = sdk.plex().getUserFriends()
@@ -148,11 +138,6 @@ public class Application {
public static void main(String[] args) throws GetGeoDataBadRequest, GetGeoDataUnauthorized, Exception {
PlexAPI sdk = PlexAPI.builder()
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetGeoDataResponse res = sdk.plex().getGeoData()
@@ -204,11 +189,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetHomeDataResponse res = sdk.plex().getHomeData()
@@ -257,11 +237,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerResourcesResponse res = sdk.plex().getServerResources()
@@ -285,7 +260,7 @@ public class Application {
| `includeHttps` | [Optional\](../../models/operations/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 |
| `includeRelay` | [Optional\](../../models/operations/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
| 1 |
| `includeIPv6` | [Optional\](../../models/operations/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 |
-| `clientID` | *Optional\* | :heavy_minus_sign: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
+| `clientID` | *String* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
| `serverURL` | *String* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 |
### Response
@@ -320,14 +295,14 @@ public class Application {
public static void main(String[] args) throws GetPinBadRequest, Exception {
PlexAPI sdk = PlexAPI.builder()
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetPinRequest req = GetPinRequest.builder()
+ .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
+ .clientName("Plex for Roku")
+ .deviceNickname("Roku 3")
+ .clientVersion("2.4.1")
+ .platform("Roku")
.build();
GetPinResponse res = sdk.plex().getPin()
@@ -380,15 +355,15 @@ public class Application {
public static void main(String[] args) throws GetTokenByPinIdBadRequest, GetTokenByPinIdResponseBody, Exception {
PlexAPI sdk = PlexAPI.builder()
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTokenByPinIdRequest req = GetTokenByPinIdRequest.builder()
.pinID(408895L)
+ .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
+ .clientName("Plex for Roku")
+ .deviceNickname("Roku 3")
+ .clientVersion("2.4.1")
+ .platform("Roku")
.build();
GetTokenByPinIdResponse res = sdk.plex().getTokenByPinId()
diff --git a/docs/sdks/plexapi/README.md b/docs/sdks/plexapi/README.md
index e91fa370..1e395e44 100644
--- a/docs/sdks/plexapi/README.md
+++ b/docs/sdks/plexapi/README.md
@@ -26,3 +26,6 @@ The following SDKs are generated from the OpenAPI Specification. They are automa
| 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) | -
+
+
+### Available Operations
diff --git a/docs/sdks/search/README.md b/docs/sdks/search/README.md
index a841d6e6..4ddd2e37 100644
--- a/docs/sdks/search/README.md
+++ b/docs/sdks/search/README.md
@@ -45,16 +45,11 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
PerformSearchResponse res = sdk.search().performSearch()
.query("dylan")
- .sectionId(9372.69d)
+ .sectionId(9487.87d)
.limit(5d)
.call();
@@ -108,11 +103,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
PerformVoiceSearchResponse res = sdk.search().performVoiceSearch()
@@ -167,11 +157,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSearchResultsResponse res = sdk.search().getSearchResults()
diff --git a/docs/sdks/server/README.md b/docs/sdks/server/README.md
index 0caec297..01e3a16e 100644
--- a/docs/sdks/server/README.md
+++ b/docs/sdks/server/README.md
@@ -39,11 +39,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerCapabilitiesResponse res = sdk.server().getServerCapabilities()
@@ -89,11 +84,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerPreferencesResponse res = sdk.server().getServerPreferences()
@@ -139,11 +129,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetAvailableClientsResponse res = sdk.server().getAvailableClients()
@@ -189,11 +174,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetDevicesResponse res = sdk.server().getDevices()
@@ -237,11 +217,6 @@ public class Application {
public static void main(String[] args) throws GetServerIdentityRequestTimeout, Exception {
PlexAPI sdk = PlexAPI.builder()
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerIdentityResponse res = sdk.server().getServerIdentity()
@@ -286,11 +261,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetMyPlexAccountResponse res = sdk.server().getMyPlexAccount()
@@ -340,19 +310,14 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetResizedPhotoRequest req = GetResizedPhotoRequest.builder()
.width(110d)
.height(165d)
.opacity(100L)
- .blur(20d)
- .minSize(MinSize.ZERO)
+ .blur(0d)
+ .minSize(MinSize.ONE)
.upscale(Upscale.ONE)
.url("/library/metadata/49564/thumb/1654258204")
.build();
@@ -405,11 +370,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetMediaProvidersResponse res = sdk.server().getMediaProviders()
@@ -462,11 +422,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetServerListResponse res = sdk.server().getServerList()
diff --git a/docs/sdks/sessions/README.md b/docs/sdks/sessions/README.md
index ed1131c1..eec92f07 100644
--- a/docs/sdks/sessions/README.md
+++ b/docs/sdks/sessions/README.md
@@ -34,11 +34,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSessionsResponse res = sdk.sessions().getSessions()
@@ -85,15 +80,10 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetSessionHistoryResponse res = sdk.sessions().getSessionHistory()
- .sort("")
+ .sort("viewedAt:desc")
.accountId(1L)
.filter(QueryParamFilter.builder()
.build())
@@ -149,11 +139,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTranscodeSessionsResponse res = sdk.sessions().getTranscodeSessions()
@@ -199,11 +184,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StopTranscodeSessionResponse res = sdk.sessions().stopTranscodeSession()
diff --git a/docs/sdks/statistics/README.md b/docs/sdks/statistics/README.md
index 324d9d3b..071d0a74 100644
--- a/docs/sdks/statistics/README.md
+++ b/docs/sdks/statistics/README.md
@@ -33,11 +33,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetStatisticsResponse res = sdk.statistics().getStatistics()
@@ -90,11 +85,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetResourcesStatisticsResponse res = sdk.statistics().getResourcesStatistics()
@@ -147,11 +137,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetBandwidthStatisticsResponse res = sdk.statistics().getBandwidthStatistics()
diff --git a/docs/sdks/updater/README.md b/docs/sdks/updater/README.md
index 9778e8f9..2ebccc7e 100644
--- a/docs/sdks/updater/README.md
+++ b/docs/sdks/updater/README.md
@@ -34,11 +34,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetUpdateStatusResponse res = sdk.updater().getUpdateStatus()
@@ -85,11 +80,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
CheckForUpdatesResponse res = sdk.updater().checkForUpdates()
@@ -143,11 +133,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
ApplyUpdatesResponse res = sdk.updater().applyUpdates()
diff --git a/docs/sdks/video/README.md b/docs/sdks/video/README.md
index 8d2e18d3..a9060df8 100644
--- a/docs/sdks/video/README.md
+++ b/docs/sdks/video/README.md
@@ -34,11 +34,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetTimelineRequest req = GetTimelineRequest.builder()
@@ -103,11 +98,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
StartUniversalTranscodeRequest req = StartUniversalTranscodeRequest.builder()
diff --git a/docs/sdks/watchlist/README.md b/docs/sdks/watchlist/README.md
index f53a51bc..0dbafce7 100644
--- a/docs/sdks/watchlist/README.md
+++ b/docs/sdks/watchlist/README.md
@@ -33,11 +33,6 @@ public class Application {
PlexAPI sdk = PlexAPI.builder()
.accessToken("")
- .clientID("3381b62b-9ab7-4e37-827b-203e9809eb58")
- .clientName("Plex for Roku")
- .clientVersion("2.4.1")
- .platform("Roku")
- .deviceNickname("Roku 3")
.build();
GetWatchListRequest req = GetWatchListRequest.builder()
diff --git a/src/main/java/dev/plexapi/sdk/Activities.java b/src/main/java/dev/plexapi/sdk/Activities.java
index aada74ce..ebab0420 100644
--- a/src/main/java/dev/plexapi/sdk/Activities.java
+++ b/src/main/java/dev/plexapi/sdk/Activities.java
@@ -78,10 +78,10 @@ public class Activities implements
_req.addHeader("Accept", "application/json")
.addHeader("user-agent",
SDKConfiguration.USER_AGENT);
-
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -89,7 +89,7 @@ public class Activities implements
new BeforeRequestContextImpl(
"getServerActivities",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -100,7 +100,7 @@ public class Activities implements
new AfterErrorContextImpl(
"getServerActivities",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -109,7 +109,7 @@ public class Activities implements
new AfterSuccessContextImpl(
"getServerActivities",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -118,7 +118,7 @@ public class Activities implements
new AfterErrorContextImpl(
"getServerActivities",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -229,16 +229,16 @@ public class Activities implements
CancelServerActivitiesRequest.class,
_baseUrl,
"/activities/{activityUUID}",
- request, this.sdkConfiguration.globals);
+ request, null);
HTTPRequest _req = new HTTPRequest(_url, "DELETE");
_req.addHeader("Accept", "application/json")
.addHeader("user-agent",
SDKConfiguration.USER_AGENT);
-
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -246,7 +246,7 @@ public class Activities implements
new BeforeRequestContextImpl(
"cancelServerActivities",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -257,7 +257,7 @@ public class Activities implements
new AfterErrorContextImpl(
"cancelServerActivities",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -266,7 +266,7 @@ public class Activities implements
new AfterSuccessContextImpl(
"cancelServerActivities",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -275,7 +275,7 @@ public class Activities implements
new AfterErrorContextImpl(
"cancelServerActivities",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
diff --git a/src/main/java/dev/plexapi/sdk/Authentication.java b/src/main/java/dev/plexapi/sdk/Authentication.java
index 64cf5d7e..a05ad121 100644
--- a/src/main/java/dev/plexapi/sdk/Authentication.java
+++ b/src/main/java/dev/plexapi/sdk/Authentication.java
@@ -122,11 +122,11 @@ public class Authentication implements
_req.addQueryParams(Utils.getQueryParams(
GetTransientTokenRequest.class,
request,
- this.sdkConfiguration.globals));
-
+ null));
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -134,7 +134,7 @@ public class Authentication implements
new BeforeRequestContextImpl(
"getTransientToken",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -145,7 +145,7 @@ public class Authentication implements
new AfterErrorContextImpl(
"getTransientToken",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -154,7 +154,7 @@ public class Authentication implements
new AfterSuccessContextImpl(
"getTransientToken",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -163,7 +163,7 @@ public class Authentication implements
new AfterErrorContextImpl(
"getTransientToken",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -275,11 +275,11 @@ public class Authentication implements
_req.addQueryParams(Utils.getQueryParams(
GetSourceConnectionInformationRequest.class,
request,
- this.sdkConfiguration.globals));
-
+ null));
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -287,7 +287,7 @@ public class Authentication implements
new BeforeRequestContextImpl(
"getSourceConnectionInformation",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -298,7 +298,7 @@ public class Authentication implements
new AfterErrorContextImpl(
"getSourceConnectionInformation",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -307,7 +307,7 @@ public class Authentication implements
new AfterSuccessContextImpl(
"getSourceConnectionInformation",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -316,7 +316,7 @@ public class Authentication implements
new AfterErrorContextImpl(
"getSourceConnectionInformation",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -426,10 +426,10 @@ public class Authentication implements
_req.addHeader("Accept", "application/json")
.addHeader("user-agent",
SDKConfiguration.USER_AGENT);
-
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -437,7 +437,7 @@ public class Authentication implements
new BeforeRequestContextImpl(
"getTokenDetails",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -448,7 +448,7 @@ public class Authentication implements
new AfterErrorContextImpl(
"getTokenDetails",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -457,7 +457,7 @@ public class Authentication implements
new AfterSuccessContextImpl(
"getTokenDetails",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -466,7 +466,7 @@ public class Authentication implements
new AfterErrorContextImpl(
"getTokenDetails",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -601,8 +601,8 @@ public class Authentication implements
_req.addHeader("Accept", "application/json")
.addHeader("user-agent",
SDKConfiguration.USER_AGENT);
- _req.addHeaders(Utils.getHeadersFromMetadata(request, this.sdkConfiguration.globals));
-
+ _req.addHeaders(Utils.getHeadersFromMetadata(request, null));
+ Optional _hookSecuritySource = Optional.empty();
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -610,7 +610,7 @@ public class Authentication implements
new BeforeRequestContextImpl(
"post-users-sign-in-data",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -621,7 +621,7 @@ public class Authentication implements
new AfterErrorContextImpl(
"post-users-sign-in-data",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -630,7 +630,7 @@ public class Authentication implements
new AfterSuccessContextImpl(
"post-users-sign-in-data",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -639,7 +639,7 @@ public class Authentication implements
new AfterErrorContextImpl(
"post-users-sign-in-data",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
diff --git a/src/main/java/dev/plexapi/sdk/Butler.java b/src/main/java/dev/plexapi/sdk/Butler.java
index 03491621..d885b7cf 100644
--- a/src/main/java/dev/plexapi/sdk/Butler.java
+++ b/src/main/java/dev/plexapi/sdk/Butler.java
@@ -90,10 +90,10 @@ public class Butler implements
_req.addHeader("Accept", "application/json")
.addHeader("user-agent",
SDKConfiguration.USER_AGENT);
-
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -101,7 +101,7 @@ public class Butler implements
new BeforeRequestContextImpl(
"getButlerTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -112,7 +112,7 @@ public class Butler implements
new AfterErrorContextImpl(
"getButlerTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -121,7 +121,7 @@ public class Butler implements
new AfterSuccessContextImpl(
"getButlerTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -130,7 +130,7 @@ public class Butler implements
new AfterErrorContextImpl(
"getButlerTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -247,10 +247,10 @@ public class Butler implements
_req.addHeader("Accept", "application/json")
.addHeader("user-agent",
SDKConfiguration.USER_AGENT);
-
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -258,7 +258,7 @@ public class Butler implements
new BeforeRequestContextImpl(
"startAllTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -269,7 +269,7 @@ public class Butler implements
new AfterErrorContextImpl(
"startAllTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -278,7 +278,7 @@ public class Butler implements
new AfterSuccessContextImpl(
"startAllTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -287,7 +287,7 @@ public class Butler implements
new AfterErrorContextImpl(
"startAllTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -385,10 +385,10 @@ public class Butler implements
_req.addHeader("Accept", "application/json")
.addHeader("user-agent",
SDKConfiguration.USER_AGENT);
-
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -396,7 +396,7 @@ public class Butler implements
new BeforeRequestContextImpl(
"stopAllTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -407,7 +407,7 @@ public class Butler implements
new AfterErrorContextImpl(
"stopAllTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -416,7 +416,7 @@ public class Butler implements
new AfterSuccessContextImpl(
"stopAllTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -425,7 +425,7 @@ public class Butler implements
new AfterErrorContextImpl(
"stopAllTasks",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -535,16 +535,16 @@ public class Butler implements
StartTaskRequest.class,
_baseUrl,
"/butler/{taskName}",
- request, this.sdkConfiguration.globals);
+ request, null);
HTTPRequest _req = new HTTPRequest(_url, "POST");
_req.addHeader("Accept", "application/json")
.addHeader("user-agent",
SDKConfiguration.USER_AGENT);
-
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -552,7 +552,7 @@ public class Butler implements
new BeforeRequestContextImpl(
"startTask",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -563,7 +563,7 @@ public class Butler implements
new AfterErrorContextImpl(
"startTask",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -572,7 +572,7 @@ public class Butler implements
new AfterSuccessContextImpl(
"startTask",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -581,7 +581,7 @@ public class Butler implements
new AfterErrorContextImpl(
"startTask",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -683,16 +683,16 @@ public class Butler implements
StopTaskRequest.class,
_baseUrl,
"/butler/{taskName}",
- request, this.sdkConfiguration.globals);
+ request, null);
HTTPRequest _req = new HTTPRequest(_url, "DELETE");
_req.addHeader("Accept", "application/json")
.addHeader("user-agent",
SDKConfiguration.USER_AGENT);
-
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -700,7 +700,7 @@ public class Butler implements
new BeforeRequestContextImpl(
"stopTask",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -711,7 +711,7 @@ public class Butler implements
new AfterErrorContextImpl(
"stopTask",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -720,7 +720,7 @@ public class Butler implements
new AfterSuccessContextImpl(
"stopTask",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -729,7 +729,7 @@ public class Butler implements
new AfterErrorContextImpl(
"stopTask",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
diff --git a/src/main/java/dev/plexapi/sdk/Hubs.java b/src/main/java/dev/plexapi/sdk/Hubs.java
index 43a2e0d7..6d82bf55 100644
--- a/src/main/java/dev/plexapi/sdk/Hubs.java
+++ b/src/main/java/dev/plexapi/sdk/Hubs.java
@@ -107,11 +107,11 @@ public class Hubs implements
_req.addQueryParams(Utils.getQueryParams(
GetGlobalHubsRequest.class,
request,
- this.sdkConfiguration.globals));
-
+ null));
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -119,7 +119,7 @@ public class Hubs implements
new BeforeRequestContextImpl(
"getGlobalHubs",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -130,7 +130,7 @@ public class Hubs implements
new AfterErrorContextImpl(
"getGlobalHubs",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -139,7 +139,7 @@ public class Hubs implements
new AfterSuccessContextImpl(
"getGlobalHubs",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -148,7 +148,7 @@ public class Hubs implements
new AfterErrorContextImpl(
"getGlobalHubs",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -263,11 +263,11 @@ public class Hubs implements
_req.addQueryParams(Utils.getQueryParams(
GetRecentlyAddedRequest.class,
request,
- this.sdkConfiguration.globals));
-
+ null));
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -275,7 +275,7 @@ public class Hubs implements
new BeforeRequestContextImpl(
"get-recently-added",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -286,7 +286,7 @@ public class Hubs implements
new AfterErrorContextImpl(
"get-recently-added",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -295,7 +295,7 @@ public class Hubs implements
new AfterSuccessContextImpl(
"get-recently-added",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -304,7 +304,7 @@ public class Hubs implements
new AfterErrorContextImpl(
"get-recently-added",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -404,7 +404,7 @@ public class Hubs implements
GetLibraryHubsRequest.class,
_baseUrl,
"/hubs/sections/{sectionId}",
- request, this.sdkConfiguration.globals);
+ request, null);
HTTPRequest _req = new HTTPRequest(_url, "GET");
_req.addHeader("Accept", "application/json")
@@ -414,11 +414,11 @@ public class Hubs implements
_req.addQueryParams(Utils.getQueryParams(
GetLibraryHubsRequest.class,
request,
- this.sdkConfiguration.globals));
-
+ null));
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -426,7 +426,7 @@ public class Hubs implements
new BeforeRequestContextImpl(
"getLibraryHubs",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -437,7 +437,7 @@ public class Hubs implements
new AfterErrorContextImpl(
"getLibraryHubs",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -446,7 +446,7 @@ public class Hubs implements
new AfterSuccessContextImpl(
"getLibraryHubs",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -455,7 +455,7 @@ public class Hubs implements
new AfterErrorContextImpl(
"getLibraryHubs",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
diff --git a/src/main/java/dev/plexapi/sdk/Library.java b/src/main/java/dev/plexapi/sdk/Library.java
index 49679359..f29785a6 100644
--- a/src/main/java/dev/plexapi/sdk/Library.java
+++ b/src/main/java/dev/plexapi/sdk/Library.java
@@ -179,11 +179,11 @@ public class Library implements
_req.addQueryParams(Utils.getQueryParams(
GetFileHashRequest.class,
request,
- this.sdkConfiguration.globals));
-
+ null));
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -191,7 +191,7 @@ public class Library implements
new BeforeRequestContextImpl(
"getFileHash",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -202,7 +202,7 @@ public class Library implements
new AfterErrorContextImpl(
"getFileHash",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -211,7 +211,7 @@ public class Library implements
new AfterSuccessContextImpl(
"getFileHash",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -220,7 +220,7 @@ public class Library implements
new AfterErrorContextImpl(
"getFileHash",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -324,11 +324,11 @@ public class Library implements
_req.addQueryParams(Utils.getQueryParams(
GetRecentlyAddedLibraryRequest.class,
request,
- this.sdkConfiguration.globals));
-
+ null));
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -336,7 +336,7 @@ public class Library implements
new BeforeRequestContextImpl(
"get-recently-added-library",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -347,7 +347,7 @@ public class Library implements
new AfterErrorContextImpl(
"get-recently-added-library",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -356,7 +356,7 @@ public class Library implements
new AfterSuccessContextImpl(
"get-recently-added-library",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -365,7 +365,7 @@ public class Library implements
new AfterErrorContextImpl(
"get-recently-added-library",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -484,10 +484,10 @@ public class Library implements
_req.addHeader("Accept", "application/json")
.addHeader("user-agent",
SDKConfiguration.USER_AGENT);
-
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -495,7 +495,7 @@ public class Library implements
new BeforeRequestContextImpl(
"get-all-libraries",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -506,7 +506,7 @@ public class Library implements
new AfterErrorContextImpl(
"get-all-libraries",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -515,7 +515,7 @@ public class Library implements
new AfterSuccessContextImpl(
"get-all-libraries",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -524,7 +524,7 @@ public class Library implements
new AfterErrorContextImpl(
"get-all-libraries",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -773,7 +773,7 @@ public class Library implements
GetLibraryDetailsRequest.class,
_baseUrl,
"/library/sections/{sectionKey}",
- request, this.sdkConfiguration.globals);
+ request, null);
HTTPRequest _req = new HTTPRequest(_url, "GET");
_req.addHeader("Accept", "application/json")
@@ -783,11 +783,11 @@ public class Library implements
_req.addQueryParams(Utils.getQueryParams(
GetLibraryDetailsRequest.class,
request,
- this.sdkConfiguration.globals));
-
+ null));
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -795,7 +795,7 @@ public class Library implements
new BeforeRequestContextImpl(
"get-library-details",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -806,7 +806,7 @@ public class Library implements
new AfterErrorContextImpl(
"get-library-details",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -815,7 +815,7 @@ public class Library implements
new AfterSuccessContextImpl(
"get-library-details",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -824,7 +824,7 @@ public class Library implements
new AfterErrorContextImpl(
"get-library-details",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -937,16 +937,16 @@ public class Library implements
DeleteLibraryRequest.class,
_baseUrl,
"/library/sections/{sectionKey}",
- request, this.sdkConfiguration.globals);
+ request, null);
HTTPRequest _req = new HTTPRequest(_url, "DELETE");
_req.addHeader("Accept", "application/json")
.addHeader("user-agent",
SDKConfiguration.USER_AGENT);
-
+
+ Optional _hookSecuritySource = this.sdkConfiguration.securitySource();
Utils.configureSecurity(_req,
this.sdkConfiguration.securitySource.getSecurity());
-
HTTPClient _client = this.sdkConfiguration.defaultClient;
HttpRequest _r =
sdkConfiguration.hooks()
@@ -954,7 +954,7 @@ public class Library implements
new BeforeRequestContextImpl(
"deleteLibrary",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_req.build());
HttpResponse _httpRes;
try {
@@ -965,7 +965,7 @@ public class Library implements
new AfterErrorContextImpl(
"deleteLibrary",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.of(_httpRes),
Optional.empty());
} else {
@@ -974,7 +974,7 @@ public class Library implements
new AfterSuccessContextImpl(
"deleteLibrary",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
_httpRes);
}
} catch (Exception _e) {
@@ -983,7 +983,7 @@ public class Library implements
new AfterErrorContextImpl(
"deleteLibrary",
Optional.of(List.of()),
- sdkConfiguration.securitySource()),
+ _hookSecuritySource),
Optional.empty(),
Optional.of(_e));
}
@@ -1075,6 +1075,7 @@ public class Library implements
* - `resolution`: Items categorized by resolution.
* - `firstCharacter`: Items categorized by the first letter.
* - `folder`: Items categorized by folder.
+ * - `albums`: Items categorized by album.
*
* @return The call builder
*/
@@ -1104,6 +1105,7 @@ public class Library implements
* - `resolution`: Items categorized by resolution.
* - `firstCharacter`: Items categorized by the first letter.
* - `folder`: Items categorized by folder.
+ * - `albums`: Items categorized by album.
*
* @param request The request object containing all of the parameters for the API call.
* @return The response from the API call
@@ -1117,7 +1119,7 @@ public class Library implements
GetLibraryItemsRequest.class,
_baseUrl,
"/library/sections/{sectionKey}/{tag}",
- request, this.sdkConfiguration.globals);
+ request, null);
HTTPRequest _req = new HTTPRequest(_url, "GET");
_req.addHeader("Accept", "application/json")
@@ -1127,11 +1129,11 @@ public class Library implements
_req.addQueryParams(Utils.getQueryParams(
GetLibraryItemsRequest.class,
request,
- this.sdkConfiguration.globals));
-
+ null));
+
+ Optional