Merge pull request #100 from LukeHagar/multi-rating-keys

This commit is contained in:
Jason Landbridge
2025-06-03 14:09:23 +02:00
committed by GitHub
37 changed files with 21865 additions and 2306 deletions

View File

@@ -1,19 +1,23 @@
type: integer
x-speakeasy-unknown-values: allow
enum:
- 1
- 2
- 3
- 4
- 8
- 9
- 10
- 1 # MOVIE
- 2 # TV_SHOW
- 3 # SEASON
- 4 # EPISODE
- 5 # ARTIST
- 6 # ALBUM
- 7 # TRACK
- 8 # PHOTO_ALBUM
- 9 # PHOTO
example: 2
x-speakeasy-enums:
- MOVIE
- TV_SHOW
- SEASON
- EPISODE
- AUDIO
- ARTIST
- ALBUM
- TRACK
- PHOTO_ALBUM
- PHOTO

View File

@@ -7,9 +7,13 @@ enum:
- episode
- artist
- album
- track
- photoalbum
- photo
- collection
example: "movie"
description: |
The type of media content
The type of media content in the Plex library. This can represent videos, music, or photos.
x-speakeasy-enums:
- MOVIE
- TV_SHOW
@@ -17,3 +21,7 @@ x-speakeasy-enums:
- EPISODE
- ARTIST
- ALBUM
- TRACK
- PHOTO_ALBUM
- PHOTO
- COLLECTION

View File

@@ -1,4 +1,6 @@
type: object
required:
- filter
description: "The filter query string for country media items."
properties:
filter:

View File

@@ -1,9 +1,12 @@
type: object
required:
- id
description: "The identifier for the country"
properties:
id:
description: |
The unique identifier for the country.
NOTE: This is different for each Plex server and is not globally unique.
type: integer
format: int32
minimum: 1
example: 259

View File

@@ -6,4 +6,5 @@ properties:
description: "Unique identifier for the director."
type: integer
format: int32
minimum: 1
example: 126522

View File

@@ -1,7 +1,9 @@
type: object
required:
- tagKey
properties:
tagKey:
description: "A unique key associated with the director's tag, used for internal identification."
description: "A unique 24-character hexadecimal key associated with the director's tag, used for internal identification."
type: string
pattern: "^[a-fA-F0-9]{24}$"
example: "5d776831151a60001f24d031"

View File

@@ -1,6 +1,6 @@
type: object
properties:
thumb:
description: "The URL of the thumbnail image for the director."
description: "The absolute URL of the thumbnail image for the director."
type: string
example: "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"

View File

@@ -1,8 +1,12 @@
type: object
required:
- id
description: "The identifier for the genre"
properties:
id:
description: |
The unique identifier for the genre.
NOTE: This is different for each Plex server and is not globally unique.
type: integer
format: int32
minimum: 1
example: 259

View File

@@ -0,0 +1,25 @@
type: object
properties:
Guid:
x-speakeasy-name-override: guids
type: array
items:
type: object
required:
- id
properties:
id:
type: string
description: |
The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
pattern: "^(imdb|tmdb|tvdb)://.+$"
example:
imdbExample:
summary: IMDB example
value: imdb://tt13015952
tmdbExample:
summary: TMDB example
value: tmdb://2434012
tvdbExample:
summary: TVDB example
value: tvdb://7945991

View File

@@ -6,4 +6,5 @@ properties:
description: "Unique identifier for the producer."
type: integer
format: int32
minimum: 1
example: 126522

View File

@@ -1,7 +1,12 @@
type: object
required:
- tagKey
properties:
tagKey:
description: "A unique key associated with the producer's tag, used for internal identification."
description: |
A 24-character hexadecimal unique key associated with the producer's tag, used for internal identification.
minLength: 24
maxLength: 24
type: string
pattern: "^[a-fA-F0-9]{24}$"
example: "5d77683d85719b001f3a535e"

View File

@@ -1,6 +1,6 @@
type: object
properties:
thumb:
description: "The URL of the thumbnail image for the actor."
description: "The absolute URL of the thumbnail image for the producer."
type: string
example: "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"

View File

@@ -1,10 +1,8 @@
type: object
required:
- image
description: "The URL for the rating image, for example from IMDb."
properties:
image:
type: string
description: "The URL for the rating image, for example from IMDb."
example: "imdb://image.rating"

View File

@@ -1,4 +1,3 @@
type: object
required:
- value
@@ -6,5 +5,5 @@ description: "The numerical rating value."
properties:
value:
type: number
format: float
example: 5.1

View File

@@ -3,6 +3,10 @@ required:
- id
properties:
id:
description: "Unique identifier for the actor or role."
description: |
The unique identifier for the role.
NOTE: This is different for each Plex server and is not globally unique.
type: integer
format: int32
minimum: 1
example: 126522

View File

@@ -1,6 +1,11 @@
type: object
required:
- tagKey
properties:
tagKey:
description: "A unique key associated with the actor's tag, used for internal identification."
description: |
A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification.
NOTE: This is globally unique across all Plex Servers.
type: string
pattern: "^[a-fA-F0-9]{24}$"
example: "5d77683d85719b001f3a535e"

View File

@@ -1,6 +1,6 @@
type: object
properties:
thumb:
description: "The URL of the thumbnail image for the actor."
description: "The absolute URL of the thumbnail image for the actor."
type: string
example: "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"

View File

@@ -1,4 +1,3 @@
type: object
required:
- filter
@@ -7,4 +6,3 @@ properties:
filter:
type: string
example: "similar=259"

View File

@@ -1,4 +1,3 @@
type: object
required:
- id
@@ -6,5 +5,6 @@ description: "The identifier for the similar media item."
properties:
id:
type: integer
format: int32
minimum: 1
example: 259

View File

@@ -1,4 +1,3 @@
type: object
required:
- tag
@@ -7,4 +6,3 @@ properties:
tag:
type: string
example: "Criss Angel Mindfreak"

View File

@@ -6,4 +6,5 @@ properties:
description: "Unique identifier for the writer."
type: integer
format: int32
minimum: 1
example: 126522

View File

@@ -1,7 +1,7 @@
type: object
properties:
tagKey:
description: "A unique key associated with the writers tag, used for internal identification."
description: "A 24-character hexadecimal unique key associated with the writers tag, used for internal identification."
type: string
pattern: "^[a-fA-F0-9]{24}$"
example: "5d77683d85719b001f3a535e"

View File

@@ -1,6 +1,6 @@
type: object
properties:
thumb:
description: "The URL of the thumbnail image for the writer."
description: "The absolute URL of the thumbnail image for the writer."
type: string
example: "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"

View File

@@ -112,6 +112,7 @@ get:
- $ref: "../../../models/meta-data/year.yaml"
- $ref: "../../../models/meta-data/objects/image.yaml"
- $ref: "../../../models/meta-data/objects/ultra-blur-colors.yaml"
- $ref: "../../../models/meta-data/guid/guid-array.yaml"
- type: object
properties:
Media:
@@ -135,7 +136,11 @@ get:
type: array
items:
allOf:
- $ref: "../../../models/director/id.yaml"
- $ref: "../../../models/director/filter.yaml"
- $ref: "../../../models/director/tag.yaml"
- $ref: "../../../models/director/tag-key.yaml"
- $ref: "../../../models/director/thumb.yaml"
Writer:
type: array
items:
@@ -144,6 +149,7 @@ get:
- $ref: "../../../models/writer/filter.yaml"
- $ref: "../../../models/writer/tag.yaml"
- $ref: "../../../models/writer/tag-key.yaml"
- $ref: "../../../models/writer/thumb.yaml"
Role:
type: array
items:
@@ -182,17 +188,6 @@ get:
items:
allOf:
- $ref: "../../../models/meta-data/location/path.yaml"
Guid:
x-speakeasy-name-override: guids
type: array
items:
type: object
properties:
id:
type: string
description: |
The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
example: tvdb://2337
Collection:
type: array
items:

View File

@@ -1,164 +0,0 @@
get:
tags:
- Library
summary: Get all media of library
operationId: get-all-media-library
description: |
Retrieves a list of all general media data for this library.
parameters:
- $ref: "../../../parameters/library/section-key.yaml"
- $ref: "../../../parameters/type.yaml"
- $ref: "../../../parameters/include-meta.yaml"
- $ref: "../../../parameters/include-guids.yaml"
- $ref: "../../../parameters/include-advanced.yaml"
- $ref: "../../../parameters/include-collections.yaml"
- $ref: "../../../parameters/include-external-media.yaml"
- $ref: "../../../parameters/container-start.yaml"
- $ref: "../../../parameters/container-size.yaml"
- $ref: "../../../parameters/accept-application-json.yaml"
responses:
"200":
description: Successful response containing media container data.
content:
application/json:
schema:
type: object
properties:
MediaContainer:
allOf:
- $ref: "../../../models/media-container/size.yaml"
- $ref: "../../../models/media-container/total-size.yaml"
- $ref: "../../../models/media-container/offset.yaml"
- $ref: "../../../models/media-container/allow-sync.yaml"
- $ref: "../../../models/media-container/art.yaml"
- $ref: "../../../models/media-container/content.yaml"
- $ref: "../../../models/media-container/identifier.yaml"
- $ref: "../../../models/media-container/library-section-id.yaml"
- $ref: "../../../models/media-container/library-section-title.yaml"
- $ref: "../../../models/media-container/library-section-uuid.yaml"
- $ref: "../../../models/media-container/media-tag-prefix.yaml"
- $ref: "../../../models/media-container/media-tag-version.yaml"
- $ref: "../../../models/media-container/thumb.yaml"
- $ref: "../../../models/media-container/nocache.yaml"
- $ref: "../../../models/media-container/title1.yaml"
- $ref: "../../../models/media-container/title2.yaml"
- $ref: "../../../models/media-container/view-group.yaml"
- type: object
properties:
Meta:
$ref: "../../../models/Meta.yaml"
Metadata:
type: array
description: "An array of metadata items."
items:
required:
- type
allOf:
- $ref: "../../../models/meta-data/rating-key.yaml"
- $ref: "../../../models/meta-data/key.yaml"
- $ref: "../../../models/meta-data/guid.yaml"
- $ref: "../../../models/meta-data/slug.yaml"
- $ref: "../../../models/meta-data/studio.yaml"
- $ref: "../../../models/meta-data/type.yaml"
- $ref: "../../../models/meta-data/title.yaml"
- $ref: "../../../models/meta-data/title-sort.yaml"
- $ref: "../../../models/meta-data/content-rating.yaml"
- $ref: "../../../models/meta-data/summary.yaml"
- $ref: "../../../models/meta-data/rating.yaml"
- $ref: "../../../models/meta-data/audience-rating.yaml"
- $ref: "../../../models/meta-data/year.yaml"
- $ref: "../../../models/meta-data/tagline.yaml"
- $ref: "../../../models/meta-data/thumb.yaml"
- $ref: "../../../models/meta-data/art.yaml"
- $ref: "../../../models/meta-data/theme.yaml"
- $ref: "../../../models/meta-data/index.yaml"
- $ref: "../../../models/meta-data/leaf-count.yaml"
- $ref: "../../../models/meta-data/viewed-leaf-count.yaml"
- $ref: "../../../models/meta-data/child-count.yaml"
- $ref: "../../../models/meta-data/season-count.yaml"
- $ref: "../../../models/meta-data/duration.yaml"
- $ref: "../../../models/meta-data/originally-available-at.yaml"
- $ref: "../../../models/meta-data/added-at.yaml"
- $ref: "../../../models/meta-data/updated-at.yaml"
- $ref: "../../../models/meta-data/audience-rating-image.yaml"
- $ref: "../../../models/meta-data/chapter-source.yaml"
- $ref: "../../../models/meta-data/primary-extra-key.yaml"
- $ref: "../../../models/meta-data/original-title.yaml"
- $ref: "../../../models/meta-data/parent-rating-key.yaml"
- $ref: "../../../models/meta-data/grandparent-rating-key.yaml"
- $ref: "../../../models/meta-data/parent-guid.yaml"
- $ref: "../../../models/meta-data/grandparent-guid.yaml"
- $ref: "../../../models/meta-data/grandparent-slug.yaml"
- $ref: "../../../models/meta-data/grandparent-key.yaml"
- $ref: "../../../models/meta-data/parent-key.yaml"
- $ref: "../../../models/meta-data/grandparent-title.yaml"
- $ref: "../../../models/meta-data/grandparent-thumb.yaml"
- $ref: "../../../models/meta-data/grandparent-theme.yaml"
- $ref: "../../../models/meta-data/grandparent-art.yaml"
- $ref: "../../../models/meta-data/parent-title.yaml"
- $ref: "../../../models/meta-data/parent-index.yaml"
- $ref: "../../../models/meta-data/parent-thumb.yaml"
- $ref: "../../../models/meta-data/rating-image.yaml"
- $ref: "../../../models/meta-data/view-count.yaml"
- $ref: "../../../models/meta-data/view-offset.yaml"
- $ref: "../../../models/meta-data/skip-count.yaml"
- $ref: "../../../models/meta-data/subtype.yaml"
- $ref: "../../../models/meta-data/last-rated-at.yaml"
- $ref: "../../../models/meta-data/created-at-accuracy.yaml"
- $ref: "../../../models/meta-data/created-at-tz-offset.yaml"
- $ref: "../../../models/meta-data/last-viewed-at.yaml"
- $ref: "../../../models/meta-data/user-rating.yaml"
- $ref: "../../../models/meta-data/objects/image.yaml"
- $ref: "../../../models/meta-data/objects/ultra-blur-colors.yaml"
- type: object
properties:
Media:
allOf:
- $ref: "../../../models/Media-data.yaml"
Genre:
type: array
items:
allOf:
- $ref: "../../../models/genre/tag.yaml"
Country:
type: array
items:
allOf:
- $ref: "../../../models/country/tag.yaml"
Director:
type: array
items:
allOf:
- $ref: "../../../models/director/tag.yaml"
Writer:
type: array
items:
allOf:
- $ref: "../../../models/writer/tag.yaml"
Role:
type: array
items:
allOf:
- $ref: "../../../models/role/tag.yaml"
Guid:
x-speakeasy-name-override: guids
type: array
items:
type: object
properties:
id:
type: string
description: |
The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
example: tvdb://2337
Collection:
type: array
items:
allOf:
- $ref: "../../../models/collection/tag.yaml"
"400":
$ref: "../../../responses/400.yaml"
"401":
$ref: "../../../responses/401.yaml"
"404":
$ref: "../../../responses/404-html.yaml"

View File

@@ -6,15 +6,8 @@ get:
This endpoint will return the top watched content from libraries of a certain type
operationId: getTopWatchedContent
parameters:
- name: includeGuids
in: query
description: |
Adds the Guids object to the response
schema:
type: integer
required: false
example: 1
- $ref: "../../parameters/type.yaml"
- $ref: "../../parameters/include-guids.yaml"
responses:
"200":
description: The metadata of the library item.
@@ -24,194 +17,183 @@ get:
type: object
properties:
MediaContainer:
type: object
properties:
size:
type: integer
format: int32
example: 1
allowSync:
type: boolean
example: true
identifier:
type: string
example: com.plexapp.plugins.library
mediaTagPrefix:
type: string
example: /system/bundle/media/flags/
mediaTagVersion:
type: integer
format: int32
example: 1698860922
Metadata:
type: array
items:
type: object
properties:
ratingKey:
type: string
example: "17"
key:
type: string
example: /library/metadata/17
guid:
type: string
example: plex://movie/5d77683f6f4521001ea9dc53
slug:
type: string
example: waterloo-road
studio:
type: string
example: Universal Pictures
type:
type: string
example: movie
title:
type: string
example: Serenity
librarySectionTitle:
type: string
example: Movies
librarySectionID:
type: integer
format: int32
example: 1
librarySectionKey:
type: string
example: /library/sections/1
contentRating:
type: string
example: PG-13
summary:
type: string
example:
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.
index:
type: integer
example: 1
audienceRating:
type: number
example: 9.1
year:
type: integer
format: int32
example: 2005
tagline:
type: string
example: They aim to misbehave.
thumb:
type: string
example: /library/metadata/17/thumb/1705637165
art:
type: string
example: /library/metadata/17/art/1705637165
duration:
type: integer
format: int32
example: 141417
originallyAvailableAt:
type: string
format: date
example: 2005-09-29
leafCount:
type: integer
example: 222
viewedLeafCount:
type: integer
example: 100
childCount:
type: integer
example: 13
addedAt:
type: integer
format: int32
example: 1705637164
updatedAt:
type: integer
format: int32
example: 1705637165
globalViewCount:
type: integer
example: 80
audienceRatingImage:
type: string
example: rottentomatoes://image.rating.upright
Genre:
type: array
items:
type: object
properties:
id:
type: integer
format: int32
example: 184
filter:
type: string
example: genre=184
tag:
type: string
example: Thriller
Country:
type: array
items:
type: object
properties:
id:
type: integer
format: int32
example: 116
filter:
type: string
example: country=116
tag:
type: string
example: United States of America
Guid:
x-speakeasy-name-override: guids
type: array
items:
type: object
properties:
id:
type: string
example: tvdb://2337
Role:
type: array
items:
type: object
properties:
id:
type: integer
format: int32
example: 220
filter:
type: string
example: actor=220
tag:
type: string
example: Dennis Keiffer
tagKey:
type: string
example: 5d77683554f42c001f8c4708
role:
type: string
example: Bar Guy (uncredited)
thumb:
type: string
example: https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg
User:
type: array
items:
type: object
properties:
id:
type: integer
format: int32
example: 220
allOf:
- $ref: "../../models/media-container/size.yaml"
- $ref: "../../models/media-container/allow-sync.yaml"
- $ref: "../../models/media-container/identifier.yaml"
- $ref: "../../models/media-container/media-tag-prefix.yaml"
- $ref: "../../models/media-container/media-tag-version.yaml"
- type: object
properties:
Metadata:
type: array
items:
type: object
properties:
ratingKey:
type: string
example: "17"
key:
type: string
example: /library/metadata/17
guid:
type: string
example: plex://movie/5d77683f6f4521001ea9dc53
slug:
type: string
example: waterloo-road
studio:
type: string
example: Universal Pictures
type:
type: string
example: movie
title:
type: string
example: Serenity
librarySectionTitle:
type: string
example: Movies
librarySectionID:
type: integer
format: int32
example: 1
librarySectionKey:
type: string
example: /library/sections/1
contentRating:
type: string
example: PG-13
summary:
type: string
example:
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.
index:
type: integer
example: 1
audienceRating:
type: number
example: 9.1
year:
type: integer
format: int32
example: 2005
tagline:
type: string
example: They aim to misbehave.
thumb:
type: string
example: /library/metadata/17/thumb/1705637165
art:
type: string
example: /library/metadata/17/art/1705637165
duration:
type: integer
format: int32
example: 141417
originallyAvailableAt:
type: string
format: date
example: 2005-09-29
leafCount:
type: integer
example: 222
viewedLeafCount:
type: integer
example: 100
childCount:
type: integer
example: 13
addedAt:
type: integer
format: int32
example: 1705637164
updatedAt:
type: integer
format: int32
example: 1705637165
globalViewCount:
type: integer
example: 80
audienceRatingImage:
type: string
example: rottentomatoes://image.rating.upright
Genre:
type: array
items:
type: object
properties:
id:
type: integer
format: int32
example: 184
filter:
type: string
example: genre=184
tag:
type: string
example: Thriller
Country:
type: array
items:
type: object
properties:
id:
type: integer
format: int32
example: 116
filter:
type: string
example: country=116
tag:
type: string
example: United States of America
Guid:
x-speakeasy-name-override: guids
type: array
items:
type: object
properties:
id:
type: string
example: tvdb://2337
Role:
type: array
items:
type: object
properties:
id:
type: integer
format: int32
example: 220
filter:
type: string
example: actor=220
tag:
type: string
example: Dennis Keiffer
tagKey:
type: string
example: 5d77683554f42c001f8c4708
role:
type: string
example: Bar Guy (uncredited)
thumb:
type: string
example: https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg
User:
type: array
items:
type: object
properties:
id:
type: integer
format: int32
example: 220
"400":
$ref: "../../responses/400.yaml"
"401":

View File

@@ -3,15 +3,17 @@ get:
- Library
summary: Get Media Metadata
description: |
This endpoint will return all the (meta)data of a library item specified with by the ratingKey.
This endpoint will return all the (meta)data of one or more library items specified by the ratingKey.
Multiple rating keys can be provided as a comma-separated list (e.g., "21119,21617").
operationId: get-media-meta-data
parameters:
- name: ratingKey
in: path
description: the id of the library item to return the children of.
description: The id(s) of the library item(s) to return metadata for. Can be a single ID or comma-separated list of IDs.
schema:
type: integer
example: 9518
type: string
pattern: "^[0-9]+(,[0-9]+)*$"
example: "21119,21617"
required: true
- name: includeConcerts
in: query
@@ -192,6 +194,7 @@ get:
- $ref: "../../../../models/meta-data/library-section-id.yaml"
- $ref: "../../../../models/meta-data/library-section-title.yaml"
- $ref: "../../../../models/meta-data/library-section-key.yaml"
- $ref: "../../../../models/meta-data/guid/guid-array.yaml"
- type: object
properties:
Media:
@@ -244,18 +247,6 @@ get:
- $ref: "../../../../models/role/filter.yaml"
- $ref: "../../../../models/role/tag-key.yaml"
- $ref: "../../../../models/role/thumb.yaml"
Guid:
x-speakeasy-name-override: Guids
type: array
items:
type: object
required:
- id
properties:
id:
type: string
description: "The GUID value."
example: "imdb://tt3032476"
Rating:
x-speakeasy-name-override: Ratings
type: array

View File

@@ -6,9 +6,9 @@ get:
description: |
Retrieves a list of all the actors that are found for the media in this library.
parameters:
- $ref: "../../../parameters/library/section-key.yaml"
- $ref: "../../../parameters/type.yaml"
- $ref: "../../../parameters/accept-application-json.yaml"
- $ref: "../../../../parameters/library/section-key.yaml"
- $ref: "../../../../parameters/type.yaml"
- $ref: "../../../../parameters/accept-application-json.yaml"
responses:
"200":
description: Successful response containing media container data.
@@ -19,18 +19,18 @@ get:
properties:
MediaContainer:
allOf:
- $ref: "../../../models/media-container/size.yaml"
- $ref: "../../../models/media-container/allow-sync.yaml"
- $ref: "../../../models/media-container/art.yaml"
- $ref: "../../../models/media-container/identifier.yaml"
- $ref: "../../../models/media-container/media-tag-prefix.yaml"
- $ref: "../../../models/media-container/media-tag-version.yaml"
- $ref: "../../../models/media-container/nocache.yaml"
- $ref: "../../../models/media-container/thumb.yaml"
- $ref: "../../../models/media-container/title1.yaml"
- $ref: "../../../models/media-container/title2.yaml"
- $ref: "../../../models/media-container/view-group.yaml"
- $ref: "../../../models/media-container/view-mode.yaml"
- $ref: "../../../../models/media-container/size.yaml"
- $ref: "../../../../models/media-container/allow-sync.yaml"
- $ref: "../../../../models/media-container/art.yaml"
- $ref: "../../../../models/media-container/identifier.yaml"
- $ref: "../../../../models/media-container/media-tag-prefix.yaml"
- $ref: "../../../../models/media-container/media-tag-version.yaml"
- $ref: "../../../../models/media-container/nocache.yaml"
- $ref: "../../../../models/media-container/thumb.yaml"
- $ref: "../../../../models/media-container/title1.yaml"
- $ref: "../../../../models/media-container/title2.yaml"
- $ref: "../../../../models/media-container/view-group.yaml"
- $ref: "../../../../models/media-container/view-mode.yaml"
- type: object
properties:
Directory:
@@ -61,8 +61,8 @@ get:
description: "The name of the actor."
example: "Aaron Paul"
"400":
$ref: "../../../responses/400.yaml"
$ref: "../../../../responses/400.yaml"
"401":
$ref: "../../../responses/401.yaml"
$ref: "../../../../responses/401.yaml"
"404":
$ref: "../../../responses/404-html.yaml"
$ref: "../../../../responses/404-html.yaml"

View File

@@ -6,9 +6,9 @@ get:
description: |
Retrieves a list of all the countries that are found for the media in this library.
parameters:
- $ref: "../../../parameters/library/section-key.yaml"
- $ref: "../../../parameters/type.yaml"
- $ref: "../../../parameters/accept-application-json.yaml"
- $ref: "../../../../parameters/library/section-key.yaml"
- $ref: "../../../../parameters/type.yaml"
- $ref: "../../../../parameters/accept-application-json.yaml"
responses:
"200":
description: Successful response containing media container data.
@@ -19,18 +19,18 @@ get:
properties:
MediaContainer:
allOf:
- $ref: "../../../models/media-container/size.yaml"
- $ref: "../../../models/media-container/allow-sync.yaml"
- $ref: "../../../models/media-container/art.yaml"
- $ref: "../../../models/media-container/content.yaml"
- $ref: "../../../models/media-container/identifier.yaml"
- $ref: "../../../models/media-container/media-tag-prefix.yaml"
- $ref: "../../../models/media-container/media-tag-version.yaml"
- $ref: "../../../models/media-container/nocache.yaml"
- $ref: "../../../models/media-container/thumb.yaml"
- $ref: "../../../models/media-container/title1.yaml"
- $ref: "../../../models/media-container/title2.yaml"
- $ref: "../../../models/media-container/view-group.yaml"
- $ref: "../../../../models/media-container/size.yaml"
- $ref: "../../../../models/media-container/allow-sync.yaml"
- $ref: "../../../../models/media-container/art.yaml"
- $ref: "../../../../models/media-container/content.yaml"
- $ref: "../../../../models/media-container/identifier.yaml"
- $ref: "../../../../models/media-container/media-tag-prefix.yaml"
- $ref: "../../../../models/media-container/media-tag-version.yaml"
- $ref: "../../../../models/media-container/nocache.yaml"
- $ref: "../../../../models/media-container/thumb.yaml"
- $ref: "../../../../models/media-container/title1.yaml"
- $ref: "../../../../models/media-container/title2.yaml"
- $ref: "../../../../models/media-container/view-group.yaml"
- type: object
properties:
Directory:
@@ -52,8 +52,8 @@ get:
type: string
example: "Japan"
"400":
$ref: "../../../responses/400.yaml"
$ref: "../../../../responses/400.yaml"
"401":
$ref: "../../../responses/401.yaml"
$ref: "../../../../responses/401.yaml"
"404":
$ref: "../../../responses/404-html.yaml"
$ref: "../../../../responses/404-html.yaml"

View File

@@ -6,9 +6,9 @@ get:
description: |
Retrieves a list of all the genres that are found for the media in this library.
parameters:
- $ref: "../../../parameters/library/section-key.yaml"
- $ref: "../../../parameters/type.yaml"
- $ref: "../../../parameters/accept-application-json.yaml"
- $ref: "../../../../parameters/library/section-key.yaml"
- $ref: "../../../../parameters/type.yaml"
- $ref: "../../../../parameters/accept-application-json.yaml"
responses:
"200":
description: Successful response containing media container data.
@@ -19,18 +19,18 @@ get:
properties:
MediaContainer:
allOf:
- $ref: "../../../models/media-container/size.yaml"
- $ref: "../../../models/media-container/allow-sync.yaml"
- $ref: "../../../models/media-container/art.yaml"
- $ref: "../../../models/media-container/content.yaml"
- $ref: "../../../models/media-container/identifier.yaml"
- $ref: "../../../models/media-container/media-tag-prefix.yaml"
- $ref: "../../../models/media-container/media-tag-version.yaml"
- $ref: "../../../models/media-container/nocache.yaml"
- $ref: "../../../models/media-container/thumb.yaml"
- $ref: "../../../models/media-container/title1.yaml"
- $ref: "../../../models/media-container/title2.yaml"
- $ref: "../../../models/media-container/view-group.yaml"
- $ref: "../../../../models/media-container/size.yaml"
- $ref: "../../../../models/media-container/allow-sync.yaml"
- $ref: "../../../../models/media-container/art.yaml"
- $ref: "../../../../models/media-container/content.yaml"
- $ref: "../../../../models/media-container/identifier.yaml"
- $ref: "../../../../models/media-container/media-tag-prefix.yaml"
- $ref: "../../../../models/media-container/media-tag-version.yaml"
- $ref: "../../../../models/media-container/nocache.yaml"
- $ref: "../../../../models/media-container/thumb.yaml"
- $ref: "../../../../models/media-container/title1.yaml"
- $ref: "../../../../models/media-container/title2.yaml"
- $ref: "../../../../models/media-container/view-group.yaml"
- type: object
properties:
Directory:
@@ -56,8 +56,8 @@ get:
type: string
example: "genre"
"400":
$ref: "../../../responses/400.yaml"
$ref: "../../../../responses/400.yaml"
"401":
$ref: "../../../responses/401.yaml"
$ref: "../../../../responses/401.yaml"
"404":
$ref: "../../../responses/404-html.yaml"
$ref: "../../../../responses/404-html.yaml"

View File

@@ -55,14 +55,14 @@ get:
description: |
Adds the Guids object to the response
schema:
$ref: "../../../models/common/PlexBoolean.yaml"
$ref: "../../../../models/common/PlexBoolean.yaml"
- $ref: "../../../parameters/type.yaml"
- $ref: "../../../parameters/library/section-key.yaml"
- $ref: "../../../parameters/include-meta.yaml"
- $ref: "../../../parameters/container-start.yaml"
- $ref: "../../../parameters/container-size.yaml"
- $ref: "../../../parameters/accept-application-json.yaml"
- $ref: "../../../../parameters/type.yaml"
- $ref: "../../../../parameters/library/section-key.yaml"
- $ref: "../../../../parameters/include-meta.yaml"
- $ref: "../../../../parameters/container-start.yaml"
- $ref: "../../../../parameters/container-size.yaml"
- $ref: "../../../../parameters/accept-application-json.yaml"
responses:
"200":
description: The contents of the library by section and tag
@@ -73,7 +73,7 @@ get:
properties:
MediaContainer:
allOf:
- $ref: "../../../models/Meta.yaml"
- $ref: "../../../../models/Meta.yaml"
- type: object
required:
- size
@@ -160,7 +160,7 @@ get:
Metadata:
type: array
items:
$ref: "../../../models/MetaData.yaml"
$ref: "../../../../models/MetaData.yaml"
Meta:
description: |
The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
@@ -230,9 +230,9 @@ get:
type: boolean
example: false
activeDirection:
$ref: "../../../models/common/PlexSortDirection.yaml"
$ref: "../../../../models/common/PlexSortDirection.yaml"
defaultDirection:
$ref: "../../../models/common/PlexSortDirection.yaml"
$ref: "../../../../models/common/PlexSortDirection.yaml"
descKey:
type: string
example: "titleSort:desc"
@@ -293,6 +293,6 @@ get:
example: "is"
"400":
$ref: "../../../responses/400.yaml"
$ref: "../../../../responses/400.yaml"
"401":
$ref: "../../../responses/401.yaml"
$ref: "../../../../responses/401.yaml"

View File

@@ -0,0 +1,154 @@
get:
tags:
- Library
summary: Get Library section media by tag ALL
operationId: get-library-sections-all
description: |
Retrieves a list of all general media data for this library.
parameters:
- $ref: "../../../../parameters/library/section-key.yaml"
- $ref: "../../../../parameters/type.yaml"
- $ref: "../../../../parameters/include-meta.yaml"
- $ref: "../../../../parameters/include-guids.yaml"
- $ref: "../../../../parameters/include-advanced.yaml"
- $ref: "../../../../parameters/include-collections.yaml"
- $ref: "../../../../parameters/include-external-media.yaml"
- $ref: "../../../../parameters/container-start.yaml"
- $ref: "../../../../parameters/container-size.yaml"
- $ref: "../../../../parameters/accept-application-json.yaml"
responses:
"200":
description: Successful response containing media container data.
content:
application/json:
schema:
type: object
properties:
MediaContainer:
allOf:
- $ref: "../../../../models/media-container/size.yaml"
- $ref: "../../../../models/media-container/total-size.yaml"
- $ref: "../../../../models/media-container/offset.yaml"
- $ref: "../../../../models/media-container/allow-sync.yaml"
- $ref: "../../../../models/media-container/art.yaml"
- $ref: "../../../../models/media-container/content.yaml"
- $ref: "../../../../models/media-container/identifier.yaml"
- $ref: "../../../../models/media-container/library-section-id.yaml"
- $ref: "../../../../models/media-container/library-section-title.yaml"
- $ref: "../../../../models/media-container/library-section-uuid.yaml"
- $ref: "../../../../models/media-container/media-tag-prefix.yaml"
- $ref: "../../../../models/media-container/media-tag-version.yaml"
- $ref: "../../../../models/media-container/thumb.yaml"
- $ref: "../../../../models/media-container/nocache.yaml"
- $ref: "../../../../models/media-container/title1.yaml"
- $ref: "../../../../models/media-container/title2.yaml"
- $ref: "../../../../models/media-container/view-group.yaml"
- type: object
properties:
Meta:
$ref: "../../../../models/Meta.yaml"
Metadata:
type: array
description: "An array of metadata items."
items:
required:
- type
allOf:
- $ref: "../../../../models/meta-data/rating-key.yaml"
- $ref: "../../../../models/meta-data/key.yaml"
- $ref: "../../../../models/meta-data/guid.yaml"
- $ref: "../../../../models/meta-data/slug.yaml"
- $ref: "../../../../models/meta-data/studio.yaml"
- $ref: "../../../../models/meta-data/type.yaml"
- $ref: "../../../../models/meta-data/title.yaml"
- $ref: "../../../../models/meta-data/title-sort.yaml"
- $ref: "../../../../models/meta-data/content-rating.yaml"
- $ref: "../../../../models/meta-data/summary.yaml"
- $ref: "../../../../models/meta-data/rating.yaml"
- $ref: "../../../../models/meta-data/audience-rating.yaml"
- $ref: "../../../../models/meta-data/year.yaml"
- $ref: "../../../../models/meta-data/tagline.yaml"
- $ref: "../../../../models/meta-data/thumb.yaml"
- $ref: "../../../../models/meta-data/art.yaml"
- $ref: "../../../../models/meta-data/theme.yaml"
- $ref: "../../../../models/meta-data/index.yaml"
- $ref: "../../../../models/meta-data/leaf-count.yaml"
- $ref: "../../../../models/meta-data/viewed-leaf-count.yaml"
- $ref: "../../../../models/meta-data/child-count.yaml"
- $ref: "../../../../models/meta-data/season-count.yaml"
- $ref: "../../../../models/meta-data/duration.yaml"
- $ref: "../../../../models/meta-data/originally-available-at.yaml"
- $ref: "../../../../models/meta-data/added-at.yaml"
- $ref: "../../../../models/meta-data/updated-at.yaml"
- $ref: "../../../../models/meta-data/audience-rating-image.yaml"
- $ref: "../../../../models/meta-data/chapter-source.yaml"
- $ref: "../../../../models/meta-data/primary-extra-key.yaml"
- $ref: "../../../../models/meta-data/original-title.yaml"
- $ref: "../../../../models/meta-data/parent-rating-key.yaml"
- $ref: "../../../../models/meta-data/grandparent-rating-key.yaml"
- $ref: "../../../../models/meta-data/parent-guid.yaml"
- $ref: "../../../../models/meta-data/grandparent-guid.yaml"
- $ref: "../../../../models/meta-data/grandparent-slug.yaml"
- $ref: "../../../../models/meta-data/grandparent-key.yaml"
- $ref: "../../../../models/meta-data/parent-key.yaml"
- $ref: "../../../../models/meta-data/grandparent-title.yaml"
- $ref: "../../../../models/meta-data/grandparent-thumb.yaml"
- $ref: "../../../../models/meta-data/grandparent-theme.yaml"
- $ref: "../../../../models/meta-data/grandparent-art.yaml"
- $ref: "../../../../models/meta-data/parent-title.yaml"
- $ref: "../../../../models/meta-data/parent-index.yaml"
- $ref: "../../../../models/meta-data/parent-thumb.yaml"
- $ref: "../../../../models/meta-data/rating-image.yaml"
- $ref: "../../../../models/meta-data/view-count.yaml"
- $ref: "../../../../models/meta-data/view-offset.yaml"
- $ref: "../../../../models/meta-data/skip-count.yaml"
- $ref: "../../../../models/meta-data/subtype.yaml"
- $ref: "../../../../models/meta-data/last-rated-at.yaml"
- $ref: "../../../../models/meta-data/created-at-accuracy.yaml"
- $ref: "../../../../models/meta-data/created-at-tz-offset.yaml"
- $ref: "../../../../models/meta-data/last-viewed-at.yaml"
- $ref: "../../../../models/meta-data/user-rating.yaml"
- $ref: "../../../../models/meta-data/objects/image.yaml"
- $ref: "../../../../models/meta-data/objects/ultra-blur-colors.yaml"
- $ref: "../../../../models/meta-data/guid/guid-array.yaml"
- type: object
properties:
Media:
allOf:
- $ref: "../../../../models/Media-data.yaml"
Genre:
type: array
items:
allOf:
- $ref: "../../../../models/genre/tag.yaml"
Country:
type: array
items:
allOf:
- $ref: "../../../../models/country/tag.yaml"
Director:
type: array
items:
allOf:
- $ref: "../../../../models/director/tag.yaml"
Writer:
type: array
items:
allOf:
- $ref: "../../../../models/writer/tag.yaml"
Role:
type: array
items:
allOf:
- $ref: "../../../../models/role/tag.yaml"
Collection:
type: array
items:
allOf:
- $ref: "../../../../models/collection/tag.yaml"
"400":
$ref: "../../../../responses/400.yaml"
"401":
$ref: "../../../../responses/401.yaml"
"404":
$ref: "../../../../responses/404-html.yaml"

View File

@@ -23,9 +23,9 @@ get:
> **Note**: Filters and sorts are optional; without them, no filtering controls are rendered.
parameters:
- $ref: "../../../parameters/library/section-key.yaml"
- $ref: "../../../parameters/accept-application-json.yaml"
- $ref: "../../../parameters/type.yaml"
- $ref: "../../../../parameters/library/section-key.yaml"
- $ref: "../../../../parameters/accept-application-json.yaml"
- $ref: "../../../../parameters/type.yaml"
responses:
"200":
description: The contents of the library by section and type
@@ -157,6 +157,6 @@ get:
format: int32
example: 1705636920
"400":
$ref: "../../../responses/400.yaml"
$ref: "../../../../responses/400.yaml"
"401":
$ref: "../../../responses/401.yaml"
$ref: "../../../../responses/401.yaml"

View File

@@ -57,7 +57,7 @@ get:
- 1
default: 0
required: false
- $ref: "../../../parameters/library/section-key.yaml"
- $ref: "../../../../parameters/library/section-key.yaml"
responses:
"200":
description: The details of the library
@@ -226,9 +226,9 @@ get:
type: string
example: is
"400":
$ref: "../../../responses/400.yaml"
$ref: "../../../../responses/400.yaml"
"401":
$ref: "../../../responses/401.yaml"
$ref: "../../../../responses/401.yaml"
delete:
tags:
@@ -237,11 +237,11 @@ delete:
description: Delete a library using a specific section id
operationId: deleteLibrary
parameters:
- $ref: "../../../parameters/library/section-key.yaml"
- $ref: "../../../../parameters/library/section-key.yaml"
responses:
"200":
description: The library is deleted
"400":
$ref: "../../../responses/400.yaml"
$ref: "../../../../responses/400.yaml"
"401":
$ref: "../../../responses/401.yaml"
$ref: "../../../../responses/401.yaml"

View File

@@ -16,12 +16,12 @@ get:
- 0
- 1
required: false
- $ref: "../../../../parameters/library/section-key.yaml"
- $ref: "../../../../../parameters/library/section-key.yaml"
responses:
"200":
description: The library is refreshing
"400":
$ref: "../../../../responses/400.yaml"
$ref: "../../../../../responses/400.yaml"
"401":
$ref: "../../../../responses/401.yaml"
$ref: "../../../../../responses/401.yaml"

View File

@@ -157,26 +157,26 @@ paths:
$ref: "./paths/library/get-all-libraries.yaml"
/library/sections/{sectionKey}:
$ref: "./paths/library/[sectionKey]/library-section.yaml"
$ref: "./paths/library/sections/[sectionKey]/library-section.yaml"
# Watchlist
/library/sections/watchlist/{filter}:
$ref: "./paths/library/sections/watchlist/get-watch-list.yaml"
/library/sections/{sectionKey}/{tag}:
$ref: "./paths/library/[sectionKey]/get-library-items.yaml"
$ref: "./paths/library/sections/[sectionKey]/get-library-items.yaml"
/library/sections/{sectionKey}/all:
$ref: "./paths/library/[sectionKey]/get-library-all.yaml"
$ref: "./paths/library/sections/[sectionKey]/get-library-sections-all.yaml"
/library/sections/{sectionKey}/refresh:
$ref: "./paths/library/[sectionKey]/refresh/get-refresh-library-metadata.yaml"
$ref: "./paths/library/sections/[sectionKey]/refresh/get-refresh-library-metadata.yaml"
/library/sections/{sectionKey}/search:
$ref: "./paths/library/[sectionKey]/get-search-library.yaml"
$ref: "./paths/library/sections/[sectionKey]/get-search-library.yaml"
/library/sections/{sectionKey}/genre:
$ref: "./paths/library/[sectionKey]/get-library-genres.yaml"
$ref: "./paths/library/sections/[sectionKey]/get-library-genres.yaml"
/library/sections/{sectionKey}/country:
$ref: "./paths/library/[sectionKey]/get-library-countries.yaml"
$ref: "./paths/library/sections/[sectionKey]/get-library-countries.yaml"
/library/sections/{sectionKey}/actor:
$ref: "./paths/library/[sectionKey]/get-library-actors.yaml"
$ref: "./paths/library/sections/[sectionKey]/get-library-actors.yaml"
/library/search:
$ref: "./paths/library/get-search-all-libraries.yaml"

File diff suppressed because it is too large Load Diff