Updating PMS Spec

This commit is contained in:
lukehagar
2024-06-14 05:05:58 +00:00
parent 7b00f7685f
commit 323e8f1c56

View File

@@ -1033,6 +1033,60 @@ paths:
status: status:
type: number type: number
example: 401 example: 401
/home:
get:
tags:
- Plex
summary: Get Plex Home Data
description: 'Retrieves the home data for the authenticated user, including details like home ID, name, guest access information, and subscription status.'
operationId: getHomeData
responses:
'200':
description: Home Data
content:
application/json:
schema:
type: object
properties:
id:
type: number
example: 1841489
name:
type: string
example: Blindkitty38's home
guestUserID:
type: number
example: 58815432
guestUserUUID:
type: string
example: f3df4e01bfca0787
guestEnabled:
type: boolean
subscription:
type: boolean
'400':
description: 'Bad Request - A parameter was not specified, or was specified incorrectly.'
'401':
description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
content:
application/json:
schema:
type: object
properties:
errors:
type: array
items:
type: object
properties:
code:
type: number
example: 1001
message:
type: string
example: User could not be authenticated
status:
type: number
example: 401
/hubs: /hubs:
get: get:
tags: tags:
@@ -4590,8 +4644,16 @@ paths:
type: string type: string
example: Postman example: Postman
required: true required: true
- 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
responses: responses:
'200': '201':
description: The Pin description: The Pin
content: content:
application/json: application/json:
@@ -4641,7 +4703,7 @@ paths:
type: string type: string
example: America/Chicago example: America/Chicago
postal_code: postal_code:
type: number type: string
example: 78732 example: 78732
in_privacy_restricted_country: in_privacy_restricted_country:
type: boolean type: boolean
@@ -4719,6 +4781,80 @@ paths:
responses: responses:
'200': '200':
description: Access Token description: Access Token
application/json:
schema:
type: object
properties:
id:
description: PinID for use with authentication
type: number
example: 1272322473
code:
type: string
example: 3patfx1a78ukcbr7x0n9bl26t
product:
type: string
example: Plex Web
trusted:
type: boolean
qr:
description: |
a link to a QR code hosted on plex.tv
The QR code redirects to the relevant `plex.tv/link` authentication page
Which then prompts the user for the 4 Digit Link Pin
type: string
example: 'https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t'
clientIdentifier:
type: string
example: Postman
location:
type: object
properties:
code:
type: string
example: US
european_union_member:
type: boolean
continent_code:
type: string
example: NA
country:
type: string
example: United States
city:
type: string
example: Austin
time_zone:
type: string
example: America/Chicago
postal_code:
type: string
example: 78732
in_privacy_restricted_country:
type: boolean
subdivisions:
type: string
example: Texas
coordinates:
type: string
example: 30.3768 -97.8935
expiresIn:
type: number
example: 1800
createdAt:
type: string
format: date-time
example: 2023-04-12T17:00:03.000Z
expiresAt:
type: string
format: date-time
example: 2023-04-12T17:30:03.000Z
authToken:
type: string
format: nullable
newRegistration:
type: string
format: nullable
'400': '400':
description: X-Plex-Client-Identifier is missing description: X-Plex-Client-Identifier is missing
content: content:
@@ -7367,6 +7503,237 @@ paths:
status: status:
type: number type: number
example: 401 example: 401
'/library/sections/watchlist/{filter}':
servers:
- url: 'https://metadata.provider.plex.tv'
description: The plex metadata provider server
get:
tags:
- Watchlist
summary: Get User Watchlist
description: Get User Watchlist
operationId: getWatchlist
parameters:
- name: filter
description: Filter
in: path
required: true
schema:
type: string
enum:
- all
- available
- released
- name: sort
description: |
In the format "field:dir". Available fields are "watchlistedAt" (Added At),
"titleSort" (Title), "originallyAvailableAt" (Release Date), or "rating" (Critic Rating).
"dir" can be "asc" or "desc"
in: query
required: false
schema:
type: string
- name: libtype
description: |
The type of library to filter. Can be "movie" or "show", or all if not present.
in: query
required: false
schema:
type: string
enum:
- movie
- show
- name: maxresults
description: |
The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
in: query
required: false
schema:
type: integer
format: int32
- name: includeCollections
description: |
include collections in the results
in: query
required: false
schema:
type: integer
enum:
- 1
- 0
- name: includeExternalMedia
description: |
include external media in the results
in: query
required: false
schema:
type: integer
enum:
- 1
- 0
- name: X-Plex-Token
description: User Token
in: query
required: true
schema:
type: string
- name: X-Plex-Container-Start
description: |
The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
in: query
required: false
schema:
type: integer
format: int32
- name: X-Plex-Container-Size
description: |
The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
in: query
required: false
schema:
type: integer
format: int32
responses:
'200':
description: Watchlist Data
content:
application/json:
schema:
type: object
properties:
librarySectionID:
type: string
librarySectionTitle:
type: string
offset:
type: integer
format: int32
totalSize:
type: integer
format: int32
identifier:
type: string
size:
type: integer
format: int32
Metadata:
type: array
items:
type: object
properties:
art:
type: string
guid:
type: string
key:
type: string
ratingKey:
type: string
studio:
type: string
tagline:
type: string
type:
type: string
thumb:
type: string
addedAt:
type: integer
format: int32
duration:
type: integer
format: int32
publicPagesURL:
type: string
slug:
type: string
userState:
type: boolean
title:
type: string
contentRating:
type: string
originallyAvailableAt:
type: string
format: date
year:
type: integer
format: int32
Image:
type: array
items:
type: object
properties:
alt:
type: string
type:
type: string
url:
type: string
banner:
type: string
rating:
type: number
expiresAt:
type: integer
format: int32
originalTitle:
type: string
audienceRating:
type: number
audienceRatingImage:
type: string
ratingImage:
type: string
imdbRatingCount:
type: integer
format: int32
subtype:
type: string
theme:
type: string
leafCount:
type: integer
format: int32
childCount:
type: integer
format: int32
isContinuingSeries:
type: boolean
skipChildren:
type: boolean
availabilityId:
type: string
streamingMediaId:
type: string
playableKey:
type: string
'400':
description: 'Bad Request - A parameter was not specified, or was specified incorrectly.'
'401':
description: Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
content:
application/json:
schema:
type: object
properties:
errors:
type: array
items:
type: object
properties:
code:
type: number
example: 1001
message:
type: string
example: User could not be authenticated
status:
type: number
example: 401
tags: tags:
- name: Activities - name: Activities
description: | description: |
@@ -7426,3 +7793,6 @@ tags:
- name: Statistics - name: Statistics
description: | description: |
API Calls that perform operations with Plex Media Server Statistics API Calls that perform operations with Plex Media Server Statistics
- name: Watchlist
description: |
API Calls that perform operations with Plex Media Server Watchlists