ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.598.0

This commit is contained in:
speakeasybot
2025-08-06 00:14:01 +00:00
parent b53b57ef41
commit 56ee466ff8
26 changed files with 371 additions and 46 deletions

View File

@@ -3,10 +3,10 @@ id: 01a51eb2-5d90-4a24-b154-68e491d02c36
management:
docChecksum: 77bdddd188d0778dc73b7f7906e1677c
docVersion: 0.0.3
speakeasyVersion: 1.558.1
generationVersion: 2.623.4
releaseVersion: 0.14.10
configChecksum: 3fee887ce56707745f5475c296a7f8e7
speakeasyVersion: 1.598.0
generationVersion: 2.674.1
releaseVersion: 0.14.11
configChecksum: f160cd5b205b2df5c431bf88bfb74a9b
repoURL: https://github.com/LukeHagar/plexphp.git
repoSubDirectory: .
installationURL: https://github.com/LukeHagar/plexphp
@@ -14,7 +14,7 @@ management:
features:
php:
constsAndDefaults: 0.2.0
core: 3.8.5
core: 3.8.9
deprecations: 2.81.1
enums: 2.81.1
errors: 0.3.0
@@ -27,7 +27,7 @@ features:
nameOverrides: 2.81.2
nullables: 1.0.1
responseFormat: 0.1.0
unions: 0.1.4
unions: 0.1.5
generatedFiles:
- .gitattributes
- USAGE.md
@@ -2217,6 +2217,17 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-update-play-progress:
parameters:
query:
key: "<key>"
time: 90000
state: "played"
responses:
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
get-banner-image:
speakeasy-default-get-banner-image:
parameters:
@@ -2274,6 +2285,24 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-get-timeline:
parameters:
query:
ratingKey: 23409
key: "/library/metadata/23409"
state: "playing"
hasMDE: 1
time: 2000
duration: 10000
context: "home:hub.continueWatching"
playQueueItemID: 1
playBackTime: 2000
row: 1
responses:
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
startUniversalTranscode:
"":
parameters:
@@ -2299,6 +2328,30 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-start-universal-transcode:
parameters:
query:
hasMDE: 1
path: "/library/metadata/23409"
mediaIndex: 0
partIndex: 0
protocol: "hls"
fastSeek: 0
directPlay: 0
directStream: 0
subtitleSize: 100
subtites: "burn"
audioBoost: 100
location: "lan"
mediaBufferSize: 102400
session: "zvcage8b7rkioqcm8f4uns4c"
addDebugOverlay: 0
autoAdjustQuality: 0
responses:
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
getServerActivities:
speakeasy-default-get-server-activities:
responses:
@@ -2318,6 +2371,15 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-cancel-server-activities:
parameters:
path:
activityUUID: "25b71ed5-0f9d-461c-baa7-d404e9e10d3e"
responses:
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
getButlerTasks:
speakeasy-default-get-butler-tasks:
responses:
@@ -2413,6 +2475,21 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-get-server-resources:
parameters:
query:
includeHttps: 1
includeRelay: 1
includeIPv6: 1
header:
X-Plex-Client-Identifier: "3381b62b-9ab7-4e37-827b-203e9809eb58"
responses:
"200":
application/json: [{"name": "<value>", "product": "Ergonomic Plastic Hat", "productVersion": "<value>", "platform": "<value>", "platformVersion": "<value>", "device": "Mobile", "clientIdentifier": "<value>", "createdAt": "2019-06-24T11:38:02Z", "lastSeenAt": "2019-06-24T11:38:02Z", "provides": "<value>", "ownerId": null, "sourceTitle": "<value>", "publicAddress": "<value>", "accessToken": "<value>", "owned": true, "home": false, "synced": false, "relay": true, "presence": false, "httpsRequired": true, "publicAddressMatches": false, "dnsRebindingProtection": true, "natLoopbackSupported": false, "connections": [{"protocol": "http", "address": "5746 Mount Street", "port": 441996, "uri": "https://wide-kick.name/", "local": false, "relay": true, "IPv6": true}]}]
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
getPin:
"":
parameters:
@@ -2429,6 +2506,21 @@ examples:
application/json: {"id": 308667304, "code": "7RQZ", "product": "0", "trusted": false, "qr": "https://plex.tv/api/v2/pins/qr/7RQZ", "clientIdentifier": "string", "location": {"code": "VI", "continent_code": "NA", "country": "United States Virgin Islands", "city": "Amsterdam", "european_union_member": true, "time_zone": "America/St_Thomas", "postal_code": "802", "in_privacy_restricted_country": true, "in_privacy_restricted_region": true, "subdivisions": "Saint Thomas", "coordinates": "18.3381, -64.8941"}, "expiresIn": 876, "createdAt": "2024-07-16T17:03:05Z", "expiresAt": "2024-07-16T17:18:05Z", "authToken": null, "newRegistration": null}
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
speakeasy-default-get-pin:
parameters:
query:
strong: false
header:
X-Plex-Client-Identifier: "3381b62b-9ab7-4e37-827b-203e9809eb58"
X-Plex-Product: "Plex for Roku"
X-Plex-Device: "Roku 3"
X-Plex-Version: "2.4.1"
X-Plex-Platform: "Roku"
responses:
"201":
application/json: {"id": 308667304, "code": "7RQZ", "product": "0", "trusted": false, "qr": "https://plex.tv/api/v2/pins/qr/7RQZ", "clientIdentifier": "string", "location": {"code": "VI", "continent_code": "NA", "country": "United States Virgin Islands", "city": "Amsterdam", "european_union_member": true, "time_zone": "America/St_Thomas", "postal_code": "802", "in_privacy_restricted_country": true, "in_privacy_restricted_region": true, "subdivisions": "Saint Thomas", "coordinates": "18.3381, -64.8941"}, "expiresIn": 876, "createdAt": "2024-07-16T17:03:05Z", "expiresAt": "2024-07-16T17:18:05Z", "authToken": null, "newRegistration": null}
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
getTokenByPinId:
"":
parameters:
@@ -2443,6 +2535,23 @@ examples:
responses:
"404":
application/json: {"errors": [{"code": 1020, "message": "Code not found or expired"}]}
speakeasy-default-get-token-by-pin-id:
parameters:
path:
pinID: 232248
header:
X-Plex-Client-Identifier: "3381b62b-9ab7-4e37-827b-203e9809eb58"
X-Plex-Product: "Plex for Roku"
X-Plex-Device: "Roku 3"
X-Plex-Version: "2.4.1"
X-Plex-Platform: "Roku"
responses:
"200":
application/json: {"id": 308667304, "code": "7RQZ", "product": "0", "trusted": false, "qr": "https://plex.tv/api/v2/pins/qr/7RQZ", "clientIdentifier": "string", "location": {"code": "VI", "continent_code": "NA", "country": "United States Virgin Islands", "city": "Amsterdam", "european_union_member": true, "time_zone": "America/St_Thomas", "postal_code": "802", "in_privacy_restricted_country": true, "in_privacy_restricted_region": true, "subdivisions": "Saint Thomas", "coordinates": "18.3381, -64.8941"}, "expiresIn": 876, "createdAt": "2024-07-16T17:03:05Z", "expiresAt": "2024-07-16T17:18:05Z", "authToken": null, "newRegistration": null}
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"404":
application/json: {"errors": [{"code": 1020, "message": "Code not found or expired"}]}
getGlobalHubs:
speakeasy-default-get-global-hubs:
responses:
@@ -2697,6 +2806,22 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-get-search-all-libraries:
parameters:
query:
query: "<value>"
searchTypes: ["people"]
includeCollections: 1
includeExternalMedia: 1
header:
X-Plex-Client-Identifier: "3381b62b-9ab7-4e37-827b-203e9809eb58"
responses:
"200":
application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "SearchResult": [{"score": 0.92, "Directory": {"key": "/library/sections/3/all?actor=197429", "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "librarySectionType": 1, "type": "tag", "id": 197429, "filter": "actor=197429", "tag": "Ben Stiller", "tagType": 4, "tagKey": "5d776826999c64001ec2c606", "thumb": "https://metadata-static.plex.tv/5/people/57bd7c7d6c5c9e2881251b30e5603d3d.jpg", "count": 10}, "Metadata": {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "banner": "/library/metadata/58683/banner/1703239236", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "parentYear": 2010, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Guid": [{"id": "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}"}], "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "showOrdering": "absolute", "flattenSeasons": "1", "skipChildren": false, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "aac", "videoCodec": "hevc", "videoResolution": "4k", "container": "mp4", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1"}]}], "Genre": [{"id": 259, "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}]}}]}}
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
get-media-meta-data:
speakeasy-default-get-media-meta-data:
parameters:
@@ -3006,6 +3131,23 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-post-users-sign-in-data:
parameters:
header:
X-Plex-Client-Identifier: "3381b62b-9ab7-4e37-827b-203e9809eb58"
X-Plex-Product: "Plex for Roku"
X-Plex-Device: "Roku 3"
X-Plex-Version: "2.4.1"
X-Plex-Platform: "Roku"
requestBody:
application/x-www-form-urlencoded: {"login": "username@email.com", "password": "password123", "rememberMe": false, "verificationCode": "123456"}
responses:
"201":
application/json: {"adsConsent": null, "adsConsentReminderAt": 1556281940, "adsConsentSetAt": 1556281940, "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": "ru", "mailingListActive": false, "mailingListStatus": "active", "maxHomeSize": 15, "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "scrobbleTypes": "<value>", "services": [], "subscription": {"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}, "subscriptionDescription": "<value>", "subscriptions": [{"active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null, "pastSubscriptions": [], "trials": []}
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
getStatistics:
"":
parameters:
@@ -3018,6 +3160,17 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-get-statistics:
parameters:
query:
timespan: 4
responses:
"200":
application/json: {"MediaContainer": {"size": 5497, "Device": [{"id": 208, "name": "Roku Express", "platform": "Roku", "clientIdentifier": "793095d235660625108ef785cc7646e9", "createdAt": 1706470556}], "Account": [{"id": 238960586, "key": "/accounts/238960586", "name": "Diane", "defaultAudioLanguage": "en", "autoSelectAudio": true, "defaultSubtitleLanguage": "en", "subtitleMode": 1, "thumb": "https://plex.tv/users/50d83634246da1de/avatar?c=1707110967"}], "StatisticsMedia": [{"accountID": 1, "deviceID": 13, "timespan": 4, "at": 1707141600, "metadataType": 4, "count": 1, "duration": 1555}]}}
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
getResourcesStatistics:
"":
parameters:
@@ -3030,6 +3183,17 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-get-resources-statistics:
parameters:
query:
timespan: 4
responses:
"200":
application/json: {"MediaContainer": {"size": 5497, "StatisticsResources": [{"timespan": 6, "at": 1718384427, "hostCpuUtilization": 1.276, "processCpuUtilization": 0.025, "hostMemoryUtilization": 17.026, "processMemoryUtilization": 0.493}]}}
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
getBandwidthStatistics:
"":
parameters:
@@ -3042,6 +3206,17 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-get-bandwidth-statistics:
parameters:
query:
timespan: 4
responses:
"200":
application/json: {"MediaContainer": {"size": 5497, "Device": [{"id": 208, "name": "Roku Express", "platform": "Roku", "clientIdentifier": "793095d235660625108ef785cc7646e9", "createdAt": 1706470556}], "Account": [{"id": 238960586, "key": "/accounts/238960586", "name": "Diane", "defaultAudioLanguage": "en", "autoSelectAudio": true, "defaultSubtitleLanguage": "en", "subtitleMode": 1, "thumb": "https://plex.tv/users/50d83634246da1de/avatar?c=1707110967"}], "StatisticsBandwidth": [{"accountID": 238960586, "deviceID": 208, "timespan": 6, "at": 1718387650, "lan": true, "bytes": 22}]}}
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
getSessions:
speakeasy-default-get-sessions:
responses:
@@ -3134,6 +3309,19 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-get-session-history:
parameters:
query:
accountId: 1
filter: {}
librarySectionID: 12
responses:
"200":
application/json: {"MediaContainer": {"size": 10855, "Metadata": [{"historyKey": "/status/sessions/history/1", "key": "/library/metadata/32171", "ratingKey": "32171", "librarySectionID": "2", "parentKey": "/library/metadata/32170", "grandparentKey": "/library/metadata/32132", "title": "The Noise That Blue Makes", "grandparentTitle": "Taskmaster", "type": "episode", "thumb": "/library/metadata/32171/thumb/-1", "parentThumb": "/library/metadata/32170/thumb/1654134301", "grandparentThumb": "/library/metadata/32132/thumb/1703933346", "grandparentArt": "/library/metadata/32132/art/1703933346", "index": 1, "parentIndex": 13, "originallyAvailableAt": "2022-04-14T00:00:00Z", "viewedAt": 1654139223, "accountID": 1, "deviceID": 5}]}}
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
getTranscodeSessions:
speakeasy-default-get-transcode-sessions:
responses:
@@ -3172,6 +3360,15 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-check-for-updates:
parameters:
query:
download: 1
responses:
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
applyUpdates:
"":
parameters:
@@ -3183,6 +3380,16 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-apply-updates:
parameters:
query:
tonight: 1
skip: 1
responses:
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
get-users:
"":
parameters:
@@ -3207,5 +3414,28 @@ examples:
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
speakeasy-default-get-users:
parameters:
header:
X-Plex-Client-Identifier: "3381b62b-9ab7-4e37-827b-203e9809eb58"
X-Plex-Product: "Plex for Roku"
X-Plex-Device: "Roku 3"
X-Plex-Device-Name: "Chrome"
X-Plex-Device-Screen-Resolution: "1487x1165,2560x1440"
X-Plex-Version: "2.4.1"
X-Plex-Platform: "Roku"
X-Plex-Features: "external-media,indirect-media,hub-style-list"
X-Plex-Model: "4200X"
X-Plex-Session-Id: "97e136ef-4ddd-4ff3-89a7-a5820c96c2ca"
X-Plex-Language: "en"
X-Plex-Platform-Version: "4.3 build 1057"
X-Plex-Token: "CV5xoxjTpFKUzBTShsaf"
responses:
"200":
application/xml: "0xfD5052DbD1"
"400":
application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]}
"401":
application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]}
examplesVersion: 1.0.2
generatedTests: {}

View File

@@ -16,8 +16,12 @@ generation:
auth:
oAuth2ClientCredentialsEnabled: false
oAuth2PasswordEnabled: false
tests:
generateTests: true
generateNewTests: false
skipResponseBodyAssertions: false
php:
version: 0.14.10
version: 0.14.11
additionalDependencies:
autoload: {}
autoload-dev: {}

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.558.1
speakeasyVersion: 1.598.0
sources:
my-source:
sourceNamespace: my-source
@@ -9,19 +9,19 @@ sources:
- main
plexapi:
sourceNamespace: plexapi
sourceRevisionDigest: sha256:dafcc1192236829b85bc924e0462432c0eb7318a17c542f46e3dd05a9a6265df
sourceBlobDigest: sha256:bc072115d585e1695cb8393db901a3d36be1dcd57a69bad2b91a1ba7ac3c9c4b
sourceRevisionDigest: sha256:b4fa89a3571fbdcb4228800772a5fe1c292170babcd3e055161ae54402f89577
sourceBlobDigest: sha256:f84dd2bfdaea4074454cea3c7fbc6c9e05515c5e9e961abb4923b77f8faf48f1
tags:
- latest
- speakeasy-sdk-regen-1749514303
- speakeasy-sdk-regen-1754439153
targets:
plexphp:
source: plexapi
sourceNamespace: plexapi
sourceRevisionDigest: sha256:dafcc1192236829b85bc924e0462432c0eb7318a17c542f46e3dd05a9a6265df
sourceBlobDigest: sha256:bc072115d585e1695cb8393db901a3d36be1dcd57a69bad2b91a1ba7ac3c9c4b
sourceRevisionDigest: sha256:b4fa89a3571fbdcb4228800772a5fe1c292170babcd3e055161ae54402f89577
sourceBlobDigest: sha256:f84dd2bfdaea4074454cea3c7fbc6c9e05515c5e9e961abb4923b77f8faf48f1
codeSamplesNamespace: code-samples-php-plexphp
codeSamplesRevisionDigest: sha256:8b2b7270f7415ee4a61be4aaa71c1a33ac039a2e6568b38020afb48771e31767
codeSamplesRevisionDigest: sha256:0a147e595d40bba9781ed8f756616d61cdd52520e2d30d8e96de3c29812d0260
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest

View File

@@ -902,4 +902,14 @@ Based on:
### Generated
- [php v0.14.10] .
### Releases
- [Composer v0.14.10] https://packagist.org/packages/lukehagar/plex-api#v0.14.10 - .
- [Composer v0.14.10] https://packagist.org/packages/lukehagar/plex-api#v0.14.10 - .
## 2025-08-06 00:12:17
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.598.0 (2.674.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [php v0.14.11] .
### Releases
- [Composer v0.14.11] https://packagist.org/packages/lukehagar/plex-api#v0.14.11 - .

View File

@@ -8,18 +8,18 @@
},
"license": "MIT",
"require": {
"php": "^8.2",
"galbar/jsonpath": "^3.0",
"php": ">=8.2",
"galbar/jsonpath": ">=3.0",
"guzzlehttp/guzzle": "^7.0",
"speakeasy/serializer": "^4.0.3",
"brick/date-time": "^0.7.0",
"phpdocumentor/type-resolver": "^1.8",
"brick/math": "^0.12.1"
"brick/date-time": ">=0.7.0",
"phpdocumentor/type-resolver": ">=1.8",
"brick/math": ">=0.12.1"
},
"require-dev": {
"laravel/pint": "^1.21.2",
"phpstan/phpstan": "^2.1.0",
"phpunit/phpunit": "^10",
"laravel/pint": ">=1.21.2",
"phpstan/phpstan": ">=2.1.0",
"phpunit/phpunit": ">=10",
"roave/security-advisories": "dev-latest"
},
"minimum-stability": "stable",

View File

@@ -23,6 +23,7 @@ Get Server Activities
### Example Usage
<!-- UsageSnippet language="php" operationID="getServerActivities" method="get" path="/activities" -->
```php
declare(strict_types=1);
@@ -65,6 +66,7 @@ Cancel Server Activities
### Example Usage
<!-- UsageSnippet language="php" operationID="cancelServerActivities" method="delete" path="/activities/{activityUUID}" -->
```php
declare(strict_types=1);

View File

@@ -20,6 +20,7 @@ This endpoint provides the caller with a temporary token with the same access le
### Example Usage
<!-- UsageSnippet language="php" operationID="getTransientToken" method="get" path="/security/token" -->
```php
declare(strict_types=1);
@@ -74,6 +75,7 @@ Note: requires Plex Media Server >= 1.15.4.
### Example Usage
<!-- UsageSnippet language="php" operationID="getSourceConnectionInformation" method="get" path="/security/resources" -->
```php
declare(strict_types=1);
@@ -122,6 +124,7 @@ Get the User data from the provided X-Plex-Token
### Example Usage
<!-- UsageSnippet language="php" operationID="getTokenDetails" method="get" path="/user" -->
```php
declare(strict_types=1);
@@ -170,6 +173,7 @@ Sign in user with username and password and return user data with Plex authentic
### Example Usage
<!-- UsageSnippet language="php" operationID="post-users-sign-in-data" method="post" path="/users/signin" -->
```php
declare(strict_types=1);

View File

@@ -20,6 +20,7 @@ Returns a list of butler tasks
### Example Usage
<!-- UsageSnippet language="php" operationID="getButlerTasks" method="get" path="/butler" -->
```php
declare(strict_types=1);
@@ -67,6 +68,7 @@ This endpoint will attempt to start all Butler tasks that are enabled in the set
### Example Usage
<!-- UsageSnippet language="php" operationID="startAllTasks" method="post" path="/butler" -->
```php
declare(strict_types=1);
@@ -110,6 +112,7 @@ This endpoint will stop all currently running tasks and remove any scheduled tas
### Example Usage
<!-- UsageSnippet language="php" operationID="stopAllTasks" method="delete" path="/butler" -->
```php
declare(strict_types=1);
@@ -157,6 +160,7 @@ This endpoint will attempt to start a single Butler task that is enabled in the
### Example Usage
<!-- UsageSnippet language="php" operationID="startTask" method="post" path="/butler/{taskName}" -->
```php
declare(strict_types=1);
@@ -207,6 +211,7 @@ This endpoint will stop a currently running task by name, or remove it from the
### Example Usage
<!-- UsageSnippet language="php" operationID="stopTask" method="delete" path="/butler/{taskName}" -->
```php
declare(strict_types=1);

View File

@@ -18,6 +18,7 @@ Get Global Hubs filtered by the parameters provided.
### Example Usage
<!-- UsageSnippet language="php" operationID="getGlobalHubs" method="get" path="/hubs" -->
```php
declare(strict_types=1);
@@ -68,6 +69,7 @@ This endpoint will return the recently added content.
### Example Usage
<!-- UsageSnippet language="php" operationID="get-recently-added" method="get" path="/hubs/home/recentlyAdded" -->
```php
declare(strict_types=1);
@@ -121,6 +123,7 @@ This endpoint will return a list of library specific hubs
### Example Usage
<!-- UsageSnippet language="php" operationID="getLibraryHubs" method="get" path="/hubs/sections/{sectionId}" -->
```php
declare(strict_types=1);

View File

@@ -35,6 +35,7 @@ This resource returns hash values for local files
### Example Usage
<!-- UsageSnippet language="php" operationID="getFileHash" method="get" path="/library/hashes" -->
```php
declare(strict_types=1);
@@ -85,6 +86,7 @@ This endpoint will return the recently added content.
### Example Usage
<!-- UsageSnippet language="php" operationID="get-recently-added-library" method="get" path="/library/recentlyAdded" -->
```php
declare(strict_types=1);
@@ -159,6 +161,7 @@ This allows a client to provide a rich interface around the media (e.g. allow so
### Example Usage
<!-- UsageSnippet language="php" operationID="get-all-libraries" method="get" path="/library/sections" -->
```php
declare(strict_types=1);
@@ -240,6 +243,7 @@ Each type in the library comes with a set of filters and sorts, aiding in buildi
### Example Usage
<!-- UsageSnippet language="php" operationID="get-library-details" method="get" path="/library/sections/{sectionKey}" -->
```php
declare(strict_types=1);
@@ -292,6 +296,7 @@ Delete a library using a specific section id
### Example Usage
<!-- UsageSnippet language="php" operationID="deleteLibrary" method="delete" path="/library/sections/{sectionKey}" -->
```php
declare(strict_types=1);
@@ -361,6 +366,7 @@ Fetches details from a specific section of the library identified by a section k
### Example Usage
<!-- UsageSnippet language="php" operationID="get-library-items" method="get" path="/library/sections/{sectionKey}/{tag}" -->
```php
declare(strict_types=1);
@@ -417,6 +423,7 @@ Retrieves a list of all general media data for this library.
### Example Usage
<!-- UsageSnippet language="php" operationID="get-library-sections-all" method="get" path="/library/sections/{sectionKey}/all" -->
```php
declare(strict_types=1);
@@ -475,6 +482,7 @@ This endpoint Refreshes all the Metadata of the library.
### Example Usage
<!-- UsageSnippet language="php" operationID="get-refresh-library-metadata" method="get" path="/library/sections/{sectionKey}/refresh" -->
```php
declare(strict_types=1);
@@ -545,6 +553,7 @@ Each type in the library comes with a set of filters and sorts, aiding in buildi
### Example Usage
<!-- UsageSnippet language="php" operationID="get-search-library" method="get" path="/library/sections/{sectionKey}/search" -->
```php
declare(strict_types=1);
@@ -598,6 +607,7 @@ Retrieves a list of all the genres that are found for the media in this library.
### Example Usage
<!-- UsageSnippet language="php" operationID="get-genres-library" method="get" path="/library/sections/{sectionKey}/genre" -->
```php
declare(strict_types=1);
@@ -651,6 +661,7 @@ Retrieves a list of all the countries that are found for the media in this libra
### Example Usage
<!-- UsageSnippet language="php" operationID="get-countries-library" method="get" path="/library/sections/{sectionKey}/country" -->
```php
declare(strict_types=1);
@@ -704,6 +715,7 @@ Retrieves a list of all the actors that are found for the media in this library.
### Example Usage
<!-- UsageSnippet language="php" operationID="get-actors-library" method="get" path="/library/sections/{sectionKey}/actor" -->
```php
declare(strict_types=1);
@@ -757,6 +769,7 @@ Search the provided query across all library sections, or a single section, and
### Example Usage
<!-- UsageSnippet language="php" operationID="get-search-all-libraries" method="get" path="/library/search" -->
```php
declare(strict_types=1);
@@ -816,6 +829,7 @@ Multiple rating keys can be provided as a comma-separated list (e.g., "21119,216
### Example Usage
<!-- UsageSnippet language="php" operationID="get-media-meta-data" method="get" path="/library/metadata/{ratingKey}" -->
```php
declare(strict_types=1);
@@ -880,6 +894,7 @@ Returns the background artwork for a library item.
### Example Usage
<!-- UsageSnippet language="php" operationID="get-media-arts" method="get" path="/library/metadata/{ratingKey}/arts" -->
```php
declare(strict_types=1);
@@ -926,6 +941,7 @@ Uploads an image to use as the background artwork for a library item, either fro
### Example Usage
<!-- UsageSnippet language="php" operationID="post-media-arts" method="post" path="/library/metadata/{ratingKey}/arts" -->
```php
declare(strict_types=1);
@@ -976,6 +992,7 @@ Returns the available posters for a library item.
### Example Usage
<!-- UsageSnippet language="php" operationID="get-media-posters" method="get" path="/library/metadata/{ratingKey}/posters" -->
```php
declare(strict_types=1);
@@ -1022,6 +1039,7 @@ Uploads a poster to a library item, either from a local file or a remote URL
### Example Usage
<!-- UsageSnippet language="php" operationID="post-media-poster" method="post" path="/library/metadata/{ratingKey}/posters" -->
```php
declare(strict_types=1);
@@ -1073,6 +1091,7 @@ This endpoint will return the children of of a library item specified with the r
### Example Usage
<!-- UsageSnippet language="php" operationID="getMetadataChildren" method="get" path="/library/metadata/{ratingKey}/children" -->
```php
declare(strict_types=1);
@@ -1125,6 +1144,7 @@ This endpoint will return the top watched content from libraries of a certain ty
### Example Usage
<!-- UsageSnippet language="php" operationID="getTopWatchedContent" method="get" path="/library/all/top" -->
```php
declare(strict_types=1);

View File

@@ -19,6 +19,7 @@ This endpoint will write a single-line log message, including a level and source
### Example Usage
<!-- UsageSnippet language="php" operationID="logLine" method="get" path="/log" -->
```php
declare(strict_types=1);
@@ -94,6 +95,7 @@ Ensure each parameter is properly URL-encoded to avoid interpretation issues.
### Example Usage
<!-- UsageSnippet language="php" operationID="logMultiLine" method="post" path="/log" -->
```php
declare(strict_types=1);
@@ -145,6 +147,7 @@ This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail
### Example Usage
<!-- UsageSnippet language="php" operationID="enablePaperTrail" method="get" path="/log/networked" -->
```php
declare(strict_types=1);

View File

@@ -20,6 +20,7 @@ This will mark the provided media key as Played.
### Example Usage
<!-- UsageSnippet language="php" operationID="markPlayed" method="get" path="/:/scrobble" -->
```php
declare(strict_types=1);
@@ -68,6 +69,7 @@ This will mark the provided media key as Unplayed.
### Example Usage
<!-- UsageSnippet language="php" operationID="markUnplayed" method="get" path="/:/unscrobble" -->
```php
declare(strict_types=1);
@@ -117,6 +119,7 @@ This API command can be used to update the play progress of a media item.
### Example Usage
<!-- UsageSnippet language="php" operationID="updatePlayProgress" method="post" path="/:/progress" -->
```php
declare(strict_types=1);
@@ -170,6 +173,7 @@ Gets the banner image of the media item
### Example Usage
<!-- UsageSnippet language="php" operationID="get-banner-image" method="get" path="/library/metadata/{ratingKey}/banner" -->
```php
declare(strict_types=1);
@@ -226,6 +230,7 @@ Gets the thumbnail image of the media item
### Example Usage
<!-- UsageSnippet language="php" operationID="get-thumb-image" method="get" path="/library/metadata/{ratingKey}/thumb" -->
```php
declare(strict_types=1);

View File

@@ -30,6 +30,7 @@ Create a new playlist. By default the playlist is blank. To create a playlist al
### Example Usage
<!-- UsageSnippet language="php" operationID="createPlaylist" method="post" path="/playlists" -->
```php
declare(strict_types=1);
@@ -84,6 +85,7 @@ Get All Playlists given the specified filters.
### Example Usage
<!-- UsageSnippet language="php" operationID="getPlaylists" method="get" path="/playlists" -->
```php
declare(strict_types=1);
@@ -135,6 +137,7 @@ Smart playlist details contain the `content` attribute. This is the content URI
### Example Usage
<!-- UsageSnippet language="php" operationID="getPlaylist" method="get" path="/playlists/{playlistID}" -->
```php
declare(strict_types=1);
@@ -184,6 +187,7 @@ This endpoint will delete a playlist
### Example Usage
<!-- UsageSnippet language="php" operationID="deletePlaylist" method="delete" path="/playlists/{playlistID}" -->
```php
declare(strict_types=1);
@@ -233,6 +237,7 @@ From PMS version 1.9.1 clients can also edit playlist metadata using this endpoi
### Example Usage
<!-- UsageSnippet language="php" operationID="updatePlaylist" method="put" path="/playlists/{playlistID}" -->
```php
declare(strict_types=1);
@@ -287,6 +292,7 @@ Note that for dumb playlists, items have a `playlistItemID` attribute which is u
### Example Usage
<!-- UsageSnippet language="php" operationID="getPlaylistContents" method="get" path="/playlists/{playlistID}/items" -->
```php
declare(strict_types=1);
@@ -340,6 +346,7 @@ Clears a playlist, only works with dumb playlists. Returns the playlist.
### Example Usage
<!-- UsageSnippet language="php" operationID="clearPlaylistContents" method="delete" path="/playlists/{playlistID}/items" -->
```php
declare(strict_types=1);
@@ -390,6 +397,7 @@ With a smart playlist, passing a new `uri` parameter replaces the rules for the
### Example Usage
<!-- UsageSnippet language="php" operationID="addPlaylistContents" method="put" path="/playlists/{playlistID}/items" -->
```php
declare(strict_types=1);
@@ -444,6 +452,7 @@ Imports m3u playlists by passing a path on the server to scan for m3u-formatted
### Example Usage
<!-- UsageSnippet language="php" operationID="uploadPlaylist" method="post" path="/playlists/upload" -->
```php
declare(strict_types=1);

View File

@@ -22,6 +22,7 @@ Get Companions Data
### Example Usage
<!-- UsageSnippet language="php" operationID="getCompanionsData" method="get" path="/companions" -->
```php
declare(strict_types=1);
@@ -70,6 +71,7 @@ Get friends of provided auth token.
### Example Usage
<!-- UsageSnippet language="php" operationID="getUserFriends" method="get" path="/friends" -->
```php
declare(strict_types=1);
@@ -118,6 +120,7 @@ Returns the geolocation and locale data of the caller
### Example Usage
<!-- UsageSnippet language="php" operationID="getGeoData" method="get" path="/geoip" -->
```php
declare(strict_types=1);
@@ -162,6 +165,7 @@ Retrieves the home data for the authenticated user, including details like home
### Example Usage
<!-- UsageSnippet language="php" operationID="getHomeData" method="get" path="/home" -->
```php
declare(strict_types=1);
@@ -204,6 +208,7 @@ Get Plex server access tokens and server connections
### Example Usage
<!-- UsageSnippet language="php" operationID="get-server-resources" method="get" path="/resources" -->
```php
declare(strict_types=1);
@@ -261,6 +266,7 @@ Retrieve a Pin ID from Plex.tv to use for authentication flows
### Example Usage
<!-- UsageSnippet language="php" operationID="getPin" method="post" path="/pins" -->
```php
declare(strict_types=1);
@@ -312,6 +318,7 @@ Retrieve an Access Token from Plex.tv after the Pin has been authenticated
### Example Usage
<!-- UsageSnippet language="php" operationID="getTokenByPinId" method="get" path="/pins/{pinID}" -->
```php
declare(strict_types=1);

View File

@@ -30,6 +30,7 @@ This request is intended to be very fast, and called as the user types.
### Example Usage
<!-- UsageSnippet language="php" operationID="performSearch" method="get" path="/hubs/search" -->
```php
declare(strict_types=1);
@@ -86,6 +87,7 @@ Results, as well as their containing per-type hubs, contain a `distance` attribu
### Example Usage
<!-- UsageSnippet language="php" operationID="performVoiceSearch" method="get" path="/hubs/search/voice" -->
```php
declare(strict_types=1);
@@ -138,6 +140,7 @@ This will search the database for the string provided.
### Example Usage
<!-- UsageSnippet language="php" operationID="getSearchResults" method="get" path="/search" -->
```php
declare(strict_types=1);

View File

@@ -24,6 +24,7 @@ Get Server Capabilities
### Example Usage
<!-- UsageSnippet language="php" operationID="getServerCapabilities" method="get" path="/" -->
```php
declare(strict_types=1);
@@ -66,6 +67,7 @@ Get Server Preferences
### Example Usage
<!-- UsageSnippet language="php" operationID="getServerPreferences" method="get" path="/:/prefs" -->
```php
declare(strict_types=1);
@@ -108,6 +110,7 @@ Get Available Clients
### Example Usage
<!-- UsageSnippet language="php" operationID="getAvailableClients" method="get" path="/clients" -->
```php
declare(strict_types=1);
@@ -150,6 +153,7 @@ Get Devices
### Example Usage
<!-- UsageSnippet language="php" operationID="getDevices" method="get" path="/devices" -->
```php
declare(strict_types=1);
@@ -192,6 +196,7 @@ This request is useful to determine if the server is online or offline
### Example Usage
<!-- UsageSnippet language="php" operationID="get-server-identity" method="get" path="/identity" -->
```php
declare(strict_types=1);
@@ -229,6 +234,7 @@ Returns MyPlex Account Information
### Example Usage
<!-- UsageSnippet language="php" operationID="getMyPlexAccount" method="get" path="/myplex/account" -->
```php
declare(strict_types=1);
@@ -272,6 +278,7 @@ Plex's Photo transcoder is used throughout the service to serve images at specif
### Example Usage
<!-- UsageSnippet language="php" operationID="getResizedPhoto" method="get" path="/photo/:/transcode" -->
```php
declare(strict_types=1);
@@ -328,6 +335,7 @@ Retrieves media providers and their features from the Plex server.
### Example Usage
<!-- UsageSnippet language="php" operationID="get-media-providers" method="get" path="/media/providers" -->
```php
declare(strict_types=1);
@@ -376,6 +384,7 @@ Get Server List
### Example Usage
<!-- UsageSnippet language="php" operationID="getServerList" method="get" path="/servers" -->
```php
declare(strict_types=1);

View File

@@ -19,6 +19,7 @@ This will retrieve the "Now Playing" Information of the PMS.
### Example Usage
<!-- UsageSnippet language="php" operationID="getSessions" method="get" path="/status/sessions" -->
```php
declare(strict_types=1);
@@ -61,6 +62,7 @@ This will Retrieve a listing of all history views.
### Example Usage
<!-- UsageSnippet language="php" operationID="getSessionHistory" method="get" path="/status/sessions/history/all" -->
```php
declare(strict_types=1);
@@ -117,6 +119,7 @@ Get Transcode Sessions
### Example Usage
<!-- UsageSnippet language="php" operationID="getTranscodeSessions" method="get" path="/transcode/sessions" -->
```php
declare(strict_types=1);
@@ -159,6 +162,7 @@ Stop a Transcode Session
### Example Usage
<!-- UsageSnippet language="php" operationID="stopTranscodeSession" method="delete" path="/transcode/sessions/{sessionKey}" -->
```php
declare(strict_types=1);

View File

@@ -18,6 +18,7 @@ This will return the media statistics for the server
### Example Usage
<!-- UsageSnippet language="php" operationID="getStatistics" method="get" path="/statistics/media" -->
```php
declare(strict_types=1);
@@ -66,6 +67,7 @@ This will return the resources for the server
### Example Usage
<!-- UsageSnippet language="php" operationID="getResourcesStatistics" method="get" path="/statistics/resources" -->
```php
declare(strict_types=1);
@@ -114,6 +116,7 @@ This will return the bandwidth statistics for the server
### Example Usage
<!-- UsageSnippet language="php" operationID="getBandwidthStatistics" method="get" path="/statistics/bandwidth" -->
```php
declare(strict_types=1);

View File

@@ -19,6 +19,7 @@ Querying status of updates
### Example Usage
<!-- UsageSnippet language="php" operationID="getUpdateStatus" method="get" path="/updater/status" -->
```php
declare(strict_types=1);
@@ -61,6 +62,7 @@ Checking for updates
### Example Usage
<!-- UsageSnippet language="php" operationID="checkForUpdates" method="put" path="/updater/check" -->
```php
declare(strict_types=1);
@@ -111,6 +113,7 @@ Note that these two parameters are effectively mutually exclusive. The `tonight`
### Example Usage
<!-- UsageSnippet language="php" operationID="applyUpdates" method="put" path="/updater/apply" -->
```php
declare(strict_types=1);

View File

@@ -13,6 +13,7 @@ Get list of all users that are friends and have library access with the provided
### Example Usage
<!-- UsageSnippet language="php" operationID="get-users" method="get" path="/users" -->
```php
declare(strict_types=1);

View File

@@ -17,6 +17,7 @@ Get the timeline for a media item
### Example Usage
<!-- UsageSnippet language="php" operationID="getTimeline" method="get" path="/:/timeline" -->
```php
declare(strict_types=1);
@@ -77,6 +78,7 @@ Begin a Universal Transcode Session
### Example Usage
<!-- UsageSnippet language="php" operationID="startUniversalTranscode" method="get" path="/video/:/transcode/universal/start.mpd" -->
```php
declare(strict_types=1);

View File

@@ -16,6 +16,7 @@ Get User Watchlist
### Example Usage
<!-- UsageSnippet language="php" operationID="get-watch-list" method="get" path="/library/sections/watchlist/{filter}" -->
```php
declare(strict_types=1);

View File

@@ -246,5 +246,6 @@ class PlexAPI
if ($preHooksUrl != $ret->url) {
$this->sdkConfiguration->serverUrl = $ret->url;
}
$this->sdkConfiguration->client = $ret->client;
}
}

View File

@@ -33,11 +33,11 @@ class SDKConfiguration
public string $openapiDocVersion = '0.0.3';
public string $sdkVersion = '0.14.10';
public string $sdkVersion = '0.14.11';
public string $genVersion = '2.623.4';
public string $genVersion = '2.674.1';
public string $userAgent = 'speakeasy-sdk/php 0.14.10 2.623.4 0.0.3 lukehagar/plex-api';
public string $userAgent = 'speakeasy-sdk/php 0.14.11 2.674.1 0.0.3 lukehagar/plex-api';
public ?RetryConfig $retryConfig = null;

View File

@@ -105,7 +105,13 @@ class RequestBodies
}
if ($metadata->file) {
$options['multipart'][] = $this->serializeMultipartFile($metadata->name, $val);
if (gettype($val) === 'array' && array_is_list($val)) {
foreach ($val as $item) {
$options['multipart'][] = $this->serializeMultipartFile($metadata->name.'[]', $item);
}
} else {
$options['multipart'][] = $this->serializeMultipartFile($metadata->name, $val);
}
} elseif ($metadata->json) {
$serializer = JSON::createSerializer();
$options['multipart'][] = [

View File

@@ -10,9 +10,6 @@ namespace LukeHagar\Plex_API\Utils;
use Speakeasy\Serializer\Context;
use Speakeasy\Serializer\DeserializationContext;
use Speakeasy\Serializer\Exception\NonFloatCastableTypeException;
use Speakeasy\Serializer\Exception\NonIntCastableTypeException;
use Speakeasy\Serializer\Exception\NonStringCastableTypeException;
use Speakeasy\Serializer\Exception\NonVisitableTypeException;
use Speakeasy\Serializer\Exception\PropertyMissingException;
use Speakeasy\Serializer\Exception\RuntimeException;
@@ -132,6 +129,7 @@ final class UnionHandler implements SubscribingHandlerInterface
return $context->getNavigator()->accept($data, $finalType);
}
$exceptions = '';
foreach ($this->reorderTypes($type)['params'] as $possibleType) {
$typeToTry = $possibleType['name'];
@@ -161,26 +159,18 @@ final class UnionHandler implements SubscribingHandlerInterface
$accept = $serializer->deserialize($json_encoded_data, $typeToTry, 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true));
return $accept;
} catch (NonVisitableTypeException $e) {
} catch (\Error $e) {
$exceptions .= $e.'\n';
continue;
} catch (PropertyMissingException $e) {
continue;
} catch (NonStringCastableTypeException $e) {
continue;
} catch (NonIntCastableTypeException $e) {
continue;
} catch (NonFloatCastableTypeException $e) {
continue;
} catch (\Brick\Math\Exception\NumberFormatException $e) {
continue;
} catch (\Brick\Math\Exception\RoundingNecessaryException $e) {
continue;
} catch (RuntimeException $e) {
} catch (\Exception $e) {
$exceptions .= $e.'\n';
continue;
}
}
return null;
$unionName = implode('|', $type['params']);
throw new RuntimeException("Could not deserialize into union $unionName. \n".$exceptions);
}
/**