diff --git a/output/plex-media-server-spec-dereferenced.yaml b/output/plex-media-server-spec-dereferenced.yaml index da9af4fb..176bdafb 100644 --- a/output/plex-media-server-spec-dereferenced.yaml +++ b/output/plex-media-server-spec-dereferenced.yaml @@ -30,10 +30,10 @@ x-speakeasy-globals: The unique identifier for the client application This is used to track the client application and its usage (UUID, serial number, or other number unique per device) - in: header + in: query schema: type: string - example: Postman + example: gcgzw5rz2xovp84b4vha3a40 required: true security: - accessToken: [] @@ -5536,10 +5536,10 @@ paths: The unique identifier for the client application This is used to track the client application and its usage (UUID, serial number, or other number unique per device) - in: header + in: query schema: type: string - example: Postman + example: gcgzw5rz2xovp84b4vha3a40 required: true - name: includeHttps in: query @@ -6039,19 +6039,17 @@ paths: The unique identifier for the client application This is used to track the client application and its usage (UUID, serial number, or other number unique per device) - in: header + in: query schema: type: string - example: Postman + example: gcgzw5rz2xovp84b4vha3a40 required: true - name: X-Plex-Product - description: | - Product name of the application shown in the list of devices - in: header + in: query + required: false schema: type: string - example: Postman - required: true + example: Plex Web responses: '200': description: Requests a new pin id used in the authentication flow @@ -6269,10 +6267,10 @@ paths: The unique identifier for the client application This is used to track the client application and its usage (UUID, serial number, or other number unique per device) - in: header + in: query schema: type: string - example: Postman + example: gcgzw5rz2xovp84b4vha3a40 required: true - name: pinID description: The PinID to retrieve an access token for @@ -7519,6 +7517,271 @@ paths: status: type: number example: 401 + /media/providers: + get: + tags: + - Server + summary: Get Media Providers + description: Retrieves media providers and their features from the Plex server. + operationId: get-media-providers + parameters: + - name: Accept + in: header + required: false + schema: + type: string + enum: + - application/json + - application/xml + example: application/json + - name: X-Plex-Device + in: query + required: false + schema: + type: string + example: Linux + - name: X-Plex-Device-Name + in: query + required: false + schema: + type: string + example: Chrome + - name: X-Plex-Device-Screen-Resolution + in: query + required: false + schema: + type: string + example: '1487x1165,2560x1440' + - name: X-Plex-Features + in: query + required: false + schema: + type: string + example: 'external-media,indirect-media,hub-style-list' + - name: X-Plex-Client-Identifier + description: | + The unique identifier for the client application + This is used to track the client application and its usage + (UUID, serial number, or other number unique per device) + in: query + schema: + type: string + example: gcgzw5rz2xovp84b4vha3a40 + required: true + - name: X-Plex-Language + in: query + required: false + schema: + type: string + example: en + - name: X-Plex-Model + in: query + required: false + schema: + type: string + example: bundled + - name: X-Plex-Platform + in: query + required: false + schema: + type: string + example: Chrome + - name: X-Plex-Product + in: query + required: false + schema: + type: string + example: Plex Web + - name: X-Plex-Session-Id + in: query + required: false + schema: + type: string + example: 97e136ef-4ddd-4ff3-89a7-a5820c96c2ca + - name: X-Plex-Version + in: query + required: false + schema: + type: string + example: 4.133.0 + - name: X-Plex-Token + in: query + description: Plex Authentication Token + schema: + type: string + example: CV5xoxjTpFKUzBTShsaf + required: true + responses: + '200': + description: Media providers and their features + content: + application/json: + schema: + type: object + properties: + MediaContainer: + type: object + properties: + size: + type: integer + allowCameraUpload: + type: boolean + allowChannelAccess: + type: boolean + allowSharing: + type: boolean + allowSync: + type: boolean + allowTuners: + type: boolean + backgroundProcessing: + type: boolean + certificate: + type: boolean + companionProxy: + type: boolean + countryCode: + type: string + diagnostics: + type: string + eventStream: + type: boolean + friendlyName: + type: string + livetv: + type: integer + machineIdentifier: + type: string + musicAnalysis: + type: integer + myPlex: + type: boolean + myPlexMappingState: + type: string + myPlexSigninState: + type: string + myPlexSubscription: + type: boolean + myPlexUsername: + type: string + offlineTranscode: + type: integer + ownerFeatures: + type: string + platform: + type: string + platformVersion: + type: string + pluginHost: + type: boolean + pushNotifications: + type: boolean + readOnlyLibraries: + type: boolean + streamingBrainABRVersion: + type: integer + streamingBrainVersion: + type: integer + sync: + type: boolean + transcoderActiveVideoSessions: + type: integer + transcoderAudio: + type: boolean + transcoderLyrics: + type: boolean + transcoderSubtitles: + type: boolean + transcoderVideo: + type: boolean + transcoderVideoBitrates: + type: string + transcoderVideoQualities: + type: string + transcoderVideoResolutions: + type: string + updatedAt: + type: integer + updater: + type: boolean + version: + type: string + voiceSearch: + type: boolean + MediaProvider: + type: array + items: + type: object + properties: + identifier: + type: string + title: + type: string + types: + type: string + protocols: + type: string + Feature: + type: array + items: + type: object + properties: + key: + type: string + type: + type: string + Directory: + type: array + items: + type: object + properties: + hubKey: + type: string + title: + type: string + agent: + type: string + language: + type: string + refreshing: + type: boolean + scanner: + type: string + uuid: + type: string + id: + type: string + key: + type: string + type: + type: string + subtype: + type: string + updatedAt: + type: integer + scannedAt: + type: integer + Pivot: + type: array + items: + type: object + properties: + id: + type: string + key: + type: string + type: + type: string + title: + type: string + context: + type: string + symbol: + type: string + '400': + description: Bad Request + '401': + description: Unauthorized /search: get: tags: @@ -10053,10 +10316,10 @@ paths: The unique identifier for the client application This is used to track the client application and its usage (UUID, serial number, or other number unique per device) - in: header + in: query schema: type: string - example: Postman + example: gcgzw5rz2xovp84b4vha3a40 required: true requestBody: content: diff --git a/src/parameters/ClientIdentifier.yaml b/src/parameters/ClientIdentifier.yaml deleted file mode 100644 index b703ec6d..00000000 --- a/src/parameters/ClientIdentifier.yaml +++ /dev/null @@ -1,10 +0,0 @@ -name: X-Plex-Client-Identifier -description: | - The unique identifier for the client application - This is used to track the client application and its usage - (UUID, serial number, or other number unique per device) -in: header -schema: - type: string - example: Postman -required: true diff --git a/src/parameters/ClientProduct.yaml b/src/parameters/ClientProduct.yaml deleted file mode 100644 index 1c6400bf..00000000 --- a/src/parameters/ClientProduct.yaml +++ /dev/null @@ -1,8 +0,0 @@ -name: X-Plex-Product -description: | - Product name of the application shown in the list of devices -in: header -schema: - type: string - example: Postman -required: true diff --git a/src/parameters/plex/x-plex-identifier.yaml b/src/parameters/plex/x-plex-identifier.yaml index 1005b0dc..37de1f62 100644 --- a/src/parameters/plex/x-plex-identifier.yaml +++ b/src/parameters/plex/x-plex-identifier.yaml @@ -1,6 +1,10 @@ name: X-Plex-Client-Identifier +description: | + The unique identifier for the client application + This is used to track the client application and its usage + (UUID, serial number, or other number unique per device) in: query -required: false schema: type: string -example: "gcgzw5rz2xovp84b4vha3a40" + example: gcgzw5rz2xovp84b4vha3a40 +required: true diff --git a/src/parameters/plex-token.yaml b/src/parameters/plex/x-plex-token.yaml similarity index 88% rename from src/parameters/plex-token.yaml rename to src/parameters/plex/x-plex-token.yaml index 3fd2fe38..2cbd8198 100644 --- a/src/parameters/plex-token.yaml +++ b/src/parameters/plex/x-plex-token.yaml @@ -4,4 +4,4 @@ description: Plex Authentication Token schema: type: string example: CV5xoxjTpFKUzBTShsaf -required: false +required: true diff --git a/src/paths/library/metadata/[ratingKey]/banner/get-banner-image.yaml b/src/paths/library/metadata/[ratingKey]/banner/get-banner-image.yaml index 62deba8f..7c71fc7f 100644 --- a/src/paths/library/metadata/[ratingKey]/banner/get-banner-image.yaml +++ b/src/paths/library/metadata/[ratingKey]/banner/get-banner-image.yaml @@ -16,7 +16,7 @@ get: - $ref: "../../../../../parameters/image/height.yaml" - $ref: "../../../../../parameters/image/min-size.yaml" - $ref: "../../../../../parameters/image/upscale.yaml" - - $ref: "../../../../../parameters/plex-token.yaml" + - $ref: "../../../../../parameters/plex/x-plex-token.yaml" responses: '200': description: Successful response returning an image diff --git a/src/paths/library/metadata/[ratingKey]/thumb/get-thumb-image.yaml b/src/paths/library/metadata/[ratingKey]/thumb/get-thumb-image.yaml index a7b59559..4765f22e 100644 --- a/src/paths/library/metadata/[ratingKey]/thumb/get-thumb-image.yaml +++ b/src/paths/library/metadata/[ratingKey]/thumb/get-thumb-image.yaml @@ -16,7 +16,7 @@ get: - $ref: "../../../../../parameters/image/height.yaml" - $ref: "../../../../../parameters/image/min-size.yaml" - $ref: "../../../../../parameters/image/upscale.yaml" - - $ref: "../../../../../parameters/plex-token.yaml" + - $ref: "../../../../../parameters/plex/x-plex-token.yaml" responses: '200': description: Successful response returning an image diff --git a/src/paths/library/sections/watchlist/get-watch-list.yaml b/src/paths/library/sections/watchlist/get-watch-list.yaml index 0ae94526..b5a7524c 100644 --- a/src/paths/library/sections/watchlist/get-watch-list.yaml +++ b/src/paths/library/sections/watchlist/get-watch-list.yaml @@ -71,7 +71,7 @@ get: - $ref: "../../../../parameters/accept-application-json.yaml" - $ref: "../../../../parameters/container-start.yaml" - $ref: "../../../../parameters/container-size.yaml" - - $ref: "../../../../parameters/plex-token.yaml" + - $ref: "../../../../parameters/plex/x-plex-token.yaml" responses: "200": description: Watchlist Data diff --git a/src/paths/media/providers/get-media-providers.yaml b/src/paths/media/providers/get-media-providers.yaml index 9e6d07ec..8299decd 100644 --- a/src/paths/media/providers/get-media-providers.yaml +++ b/src/paths/media/providers/get-media-providers.yaml @@ -17,12 +17,7 @@ get: - $ref: '../../../parameters/plex/x-plex-product.yaml' - $ref: '../../../parameters/plex/x-plex-session-id.yaml' - $ref: '../../../parameters/plex/x-plex-version.yaml' - - name: X-Plex-Token - in: query - required: true - schema: - type: string - example: "tW7zyenPCasLpVnaZa8y" + - $ref: '../../../parameters/plex/x-plex-token.yaml' responses: '200': description: Media providers and their features diff --git a/src/paths/pins/pins-id.yaml b/src/paths/pins/pins-id.yaml index deb6dd41..865f8c78 100644 --- a/src/paths/pins/pins-id.yaml +++ b/src/paths/pins/pins-id.yaml @@ -8,7 +8,7 @@ get: description: Retrieve an Access Token from Plex.tv after the Pin has been authenticated operationId: getTokenByPinId parameters: - - $ref: "../../parameters/ClientIdentifier.yaml" + - $ref: "../../parameters/plex/x-plex-identifier.yaml" - name: pinID description: The PinID to retrieve an access token for in: path diff --git a/src/paths/pins/pins.yaml b/src/paths/pins/pins.yaml index 2ad86084..83d4c837 100644 --- a/src/paths/pins/pins.yaml +++ b/src/paths/pins/pins.yaml @@ -18,8 +18,8 @@ post: type: boolean default: false required: false - - $ref: ../../parameters/ClientIdentifier.yaml - - $ref: ../../parameters/ClientProduct.yaml + - $ref: ../../parameters/plex/x-plex-identifier.yaml + - $ref: ../../parameters/plex/x-plex-product.yaml responses: '200': description: Requests a new pin id used in the authentication flow diff --git a/src/paths/resources/resources.yaml b/src/paths/resources/resources.yaml index b73db511..281f9e3f 100644 --- a/src/paths/resources/resources.yaml +++ b/src/paths/resources/resources.yaml @@ -8,7 +8,7 @@ get: description: Get Resources operationId: getResources parameters: - - $ref: "../../parameters/ClientIdentifier.yaml" + - $ref: "../../parameters/plex/x-plex-identifier.yaml" - name: includeHttps in: query description: Include Https entries in the results diff --git a/src/paths/user/get-user-data-by-token.yaml b/src/paths/user/get-user-data-by-token.yaml index dffc18f7..3db6d00e 100644 --- a/src/paths/user/get-user-data-by-token.yaml +++ b/src/paths/user/get-user-data-by-token.yaml @@ -7,7 +7,7 @@ get: description: Get the User data from the provided X-Plex-Token operationId: getUserDetails parameters: - - $ref: '../../parameters/plex-token.yaml' + - $ref: '../../parameters/plex/x-plex-token.yaml' - $ref: "../../parameters/accept-application-json.yaml" responses: '200': diff --git a/src/paths/users/post-sign-in.yaml b/src/paths/users/post-sign-in.yaml index c86b3dec..d9dbf59a 100644 --- a/src/paths/users/post-sign-in.yaml +++ b/src/paths/users/post-sign-in.yaml @@ -8,7 +8,7 @@ post: description: Sign in user with username and password and return user data with Plex authentication token operationId: post-users-sign-in-data parameters: - - $ref: "../../parameters/ClientIdentifier.yaml" + - $ref: "../../parameters/plex/x-plex-identifier.yaml" requestBody: content: application/x-www-form-urlencoded: diff --git a/src/pms-spec.yaml b/src/pms-spec.yaml index 9847aec3..7e3af2f6 100644 --- a/src/pms-spec.yaml +++ b/src/pms-spec.yaml @@ -27,7 +27,7 @@ servers: x-speakeasy-globals: parameters: - - $ref: "./parameters/ClientIdentifier.yaml" + - $ref: "./parameters/plex/x-plex-identifier.yaml" security: - accessToken: []