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 type: integer
x-speakeasy-unknown-values: allow x-speakeasy-unknown-values: allow
enum: enum:
- 1 - 1 # MOVIE
- 2 - 2 # TV_SHOW
- 3 - 3 # SEASON
- 4 - 4 # EPISODE
- 8 - 5 # ARTIST
- 9 - 6 # ALBUM
- 10 - 7 # TRACK
- 8 # PHOTO_ALBUM
- 9 # PHOTO
example: 2 example: 2
x-speakeasy-enums: x-speakeasy-enums:
- MOVIE - MOVIE
- TV_SHOW - TV_SHOW
- SEASON - SEASON
- EPISODE - EPISODE
- AUDIO - ARTIST
- ALBUM - ALBUM
- TRACK - TRACK
- PHOTO_ALBUM
- PHOTO

View File

@@ -7,9 +7,13 @@ enum:
- episode - episode
- artist - artist
- album - album
- track
- photoalbum
- photo
- collection
example: "movie" example: "movie"
description: | 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: x-speakeasy-enums:
- MOVIE - MOVIE
- TV_SHOW - TV_SHOW
@@ -17,3 +21,7 @@ x-speakeasy-enums:
- EPISODE - EPISODE
- ARTIST - ARTIST
- ALBUM - ALBUM
- TRACK
- PHOTO_ALBUM
- PHOTO
- COLLECTION

View File

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

View File

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

View File

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

View File

@@ -1,7 +1,9 @@
type: object type: object
required:
- tagKey
properties: properties:
tagKey: 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 type: string
pattern: "^[a-fA-F0-9]{24}$" pattern: "^[a-fA-F0-9]{24}$"
example: "5d776831151a60001f24d031" example: "5d776831151a60001f24d031"

View File

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

View File

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

View File

@@ -1,7 +1,12 @@
type: object type: object
required:
- tagKey
properties: properties:
tagKey: 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 type: string
pattern: "^[a-fA-F0-9]{24}$" pattern: "^[a-fA-F0-9]{24}$"
example: "5d77683d85719b001f3a535e" example: "5d77683d85719b001f3a535e"

View File

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

View File

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

View File

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

View File

@@ -3,6 +3,10 @@ required:
- id - id
properties: properties:
id: 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 type: integer
format: int32
minimum: 1
example: 126522 example: 126522

View File

@@ -1,6 +1,11 @@
type: object type: object
required:
- tagKey
properties: properties:
tagKey: 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 type: string
pattern: "^[a-fA-F0-9]{24}$"
example: "5d77683d85719b001f3a535e" example: "5d77683d85719b001f3a535e"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
type: object type: object
properties: properties:
tagKey: 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 type: string
pattern: "^[a-fA-F0-9]{24}$" pattern: "^[a-fA-F0-9]{24}$"
example: "5d77683d85719b001f3a535e" example: "5d77683d85719b001f3a535e"

View File

@@ -1,6 +1,6 @@
type: object type: object
properties: properties:
thumb: thumb:
description: "The URL of the thumbnail image for the writer." description: "The absolute URL of the thumbnail image for the writer."
type: string type: string
example: "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg" 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/year.yaml"
- $ref: "../../../models/meta-data/objects/image.yaml" - $ref: "../../../models/meta-data/objects/image.yaml"
- $ref: "../../../models/meta-data/objects/ultra-blur-colors.yaml" - $ref: "../../../models/meta-data/objects/ultra-blur-colors.yaml"
- $ref: "../../../models/meta-data/guid/guid-array.yaml"
- type: object - type: object
properties: properties:
Media: Media:
@@ -135,7 +136,11 @@ get:
type: array type: array
items: items:
allOf: allOf:
- $ref: "../../../models/director/id.yaml"
- $ref: "../../../models/director/filter.yaml"
- $ref: "../../../models/director/tag.yaml" - $ref: "../../../models/director/tag.yaml"
- $ref: "../../../models/director/tag-key.yaml"
- $ref: "../../../models/director/thumb.yaml"
Writer: Writer:
type: array type: array
items: items:
@@ -144,6 +149,7 @@ get:
- $ref: "../../../models/writer/filter.yaml" - $ref: "../../../models/writer/filter.yaml"
- $ref: "../../../models/writer/tag.yaml" - $ref: "../../../models/writer/tag.yaml"
- $ref: "../../../models/writer/tag-key.yaml" - $ref: "../../../models/writer/tag-key.yaml"
- $ref: "../../../models/writer/thumb.yaml"
Role: Role:
type: array type: array
items: items:
@@ -182,17 +188,6 @@ get:
items: items:
allOf: allOf:
- $ref: "../../../models/meta-data/location/path.yaml" - $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: Collection:
type: array type: array
items: 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 This endpoint will return the top watched content from libraries of a certain type
operationId: getTopWatchedContent operationId: getTopWatchedContent
parameters: 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/type.yaml"
- $ref: "../../parameters/include-guids.yaml"
responses: responses:
"200": "200":
description: The metadata of the library item. description: The metadata of the library item.
@@ -24,194 +17,183 @@ get:
type: object type: object
properties: properties:
MediaContainer: MediaContainer:
type: object allOf:
properties: - $ref: "../../models/media-container/size.yaml"
size: - $ref: "../../models/media-container/allow-sync.yaml"
type: integer - $ref: "../../models/media-container/identifier.yaml"
format: int32 - $ref: "../../models/media-container/media-tag-prefix.yaml"
example: 1 - $ref: "../../models/media-container/media-tag-version.yaml"
allowSync: - type: object
type: boolean properties:
example: true Metadata:
identifier: type: array
type: string items:
example: com.plexapp.plugins.library type: object
mediaTagPrefix: properties:
type: string ratingKey:
example: /system/bundle/media/flags/ type: string
mediaTagVersion: example: "17"
type: integer key:
format: int32 type: string
example: 1698860922 example: /library/metadata/17
Metadata: guid:
type: array type: string
items: example: plex://movie/5d77683f6f4521001ea9dc53
type: object slug:
properties: type: string
ratingKey: example: waterloo-road
type: string studio:
example: "17" type: string
key: example: Universal Pictures
type: string type:
example: /library/metadata/17 type: string
guid: example: movie
type: string title:
example: plex://movie/5d77683f6f4521001ea9dc53 type: string
slug: example: Serenity
type: string librarySectionTitle:
example: waterloo-road type: string
studio: example: Movies
type: string librarySectionID:
example: Universal Pictures type: integer
type: format: int32
type: string example: 1
example: movie librarySectionKey:
title: type: string
type: string example: /library/sections/1
example: Serenity contentRating:
librarySectionTitle: type: string
type: string example: PG-13
example: Movies summary:
librarySectionID: type: string
type: integer example:
format: int32 Serenity continues the story of the TV series it was based upon
example: 1 ("Firefly"). River Tam had a secret - one in which she's not
librarySectionKey: even aware - so dangerous, no one's safe, as an Alliance
type: string operative's sent to capture her, and all others are considered
example: /library/sections/1 irrelevant to his job.
contentRating: index:
type: string type: integer
example: PG-13 example: 1
summary: audienceRating:
type: string type: number
example: example: 9.1
Serenity continues the story of the TV series it was based upon year:
("Firefly"). River Tam had a secret - one in which she's not type: integer
even aware - so dangerous, no one's safe, as an Alliance format: int32
operative's sent to capture her, and all others are considered example: 2005
irrelevant to his job. tagline:
index: type: string
type: integer example: They aim to misbehave.
example: 1 thumb:
audienceRating: type: string
type: number example: /library/metadata/17/thumb/1705637165
example: 9.1 art:
year: type: string
type: integer example: /library/metadata/17/art/1705637165
format: int32 duration:
example: 2005 type: integer
tagline: format: int32
type: string example: 141417
example: They aim to misbehave. originallyAvailableAt:
thumb: type: string
type: string format: date
example: /library/metadata/17/thumb/1705637165 example: 2005-09-29
art: leafCount:
type: string type: integer
example: /library/metadata/17/art/1705637165 example: 222
duration: viewedLeafCount:
type: integer type: integer
format: int32 example: 100
example: 141417 childCount:
originallyAvailableAt: type: integer
type: string example: 13
format: date addedAt:
example: 2005-09-29 type: integer
leafCount: format: int32
type: integer example: 1705637164
example: 222 updatedAt:
viewedLeafCount: type: integer
type: integer format: int32
example: 100 example: 1705637165
childCount: globalViewCount:
type: integer type: integer
example: 13 example: 80
addedAt: audienceRatingImage:
type: integer type: string
format: int32 example: rottentomatoes://image.rating.upright
example: 1705637164 Genre:
updatedAt: type: array
type: integer items:
format: int32 type: object
example: 1705637165 properties:
globalViewCount: id:
type: integer type: integer
example: 80 format: int32
audienceRatingImage: example: 184
type: string filter:
example: rottentomatoes://image.rating.upright type: string
Genre: example: genre=184
type: array tag:
items: type: string
type: object example: Thriller
properties: Country:
id: type: array
type: integer items:
format: int32 type: object
example: 184 properties:
filter: id:
type: string type: integer
example: genre=184 format: int32
tag: example: 116
type: string filter:
example: Thriller type: string
Country: example: country=116
type: array tag:
items: type: string
type: object example: United States of America
properties: Guid:
id: x-speakeasy-name-override: guids
type: integer type: array
format: int32 items:
example: 116 type: object
filter: properties:
type: string id:
example: country=116 type: string
tag: example: tvdb://2337
type: string Role:
example: United States of America type: array
Guid: items:
x-speakeasy-name-override: guids type: object
type: array properties:
items: id:
type: object type: integer
properties: format: int32
id: example: 220
type: string filter:
example: tvdb://2337 type: string
Role: example: actor=220
type: array tag:
items: type: string
type: object example: Dennis Keiffer
properties: tagKey:
id: type: string
type: integer example: 5d77683554f42c001f8c4708
format: int32 role:
example: 220 type: string
filter: example: Bar Guy (uncredited)
type: string thumb:
example: actor=220 type: string
tag: example: https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg
type: string User:
example: Dennis Keiffer type: array
tagKey: items:
type: string type: object
example: 5d77683554f42c001f8c4708 properties:
role: id:
type: string type: integer
example: Bar Guy (uncredited) format: int32
thumb: example: 220
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": "400":
$ref: "../../responses/400.yaml" $ref: "../../responses/400.yaml"
"401": "401":

View File

@@ -3,15 +3,17 @@ get:
- Library - Library
summary: Get Media Metadata summary: Get Media Metadata
description: | 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 operationId: get-media-meta-data
parameters: parameters:
- name: ratingKey - name: ratingKey
in: path 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: schema:
type: integer type: string
example: 9518 pattern: "^[0-9]+(,[0-9]+)*$"
example: "21119,21617"
required: true required: true
- name: includeConcerts - name: includeConcerts
in: query in: query
@@ -192,6 +194,7 @@ get:
- $ref: "../../../../models/meta-data/library-section-id.yaml" - $ref: "../../../../models/meta-data/library-section-id.yaml"
- $ref: "../../../../models/meta-data/library-section-title.yaml" - $ref: "../../../../models/meta-data/library-section-title.yaml"
- $ref: "../../../../models/meta-data/library-section-key.yaml" - $ref: "../../../../models/meta-data/library-section-key.yaml"
- $ref: "../../../../models/meta-data/guid/guid-array.yaml"
- type: object - type: object
properties: properties:
Media: Media:
@@ -244,18 +247,6 @@ get:
- $ref: "../../../../models/role/filter.yaml" - $ref: "../../../../models/role/filter.yaml"
- $ref: "../../../../models/role/tag-key.yaml" - $ref: "../../../../models/role/tag-key.yaml"
- $ref: "../../../../models/role/thumb.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: Rating:
x-speakeasy-name-override: Ratings x-speakeasy-name-override: Ratings
type: array type: array

View File

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

View File

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

View File

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

View File

@@ -55,14 +55,14 @@ get:
description: | description: |
Adds the Guids object to the response Adds the Guids object to the response
schema: schema:
$ref: "../../../models/common/PlexBoolean.yaml" $ref: "../../../../models/common/PlexBoolean.yaml"
- $ref: "../../../parameters/type.yaml" - $ref: "../../../../parameters/type.yaml"
- $ref: "../../../parameters/library/section-key.yaml" - $ref: "../../../../parameters/library/section-key.yaml"
- $ref: "../../../parameters/include-meta.yaml" - $ref: "../../../../parameters/include-meta.yaml"
- $ref: "../../../parameters/container-start.yaml" - $ref: "../../../../parameters/container-start.yaml"
- $ref: "../../../parameters/container-size.yaml" - $ref: "../../../../parameters/container-size.yaml"
- $ref: "../../../parameters/accept-application-json.yaml" - $ref: "../../../../parameters/accept-application-json.yaml"
responses: responses:
"200": "200":
description: The contents of the library by section and tag description: The contents of the library by section and tag
@@ -73,7 +73,7 @@ get:
properties: properties:
MediaContainer: MediaContainer:
allOf: allOf:
- $ref: "../../../models/Meta.yaml" - $ref: "../../../../models/Meta.yaml"
- type: object - type: object
required: required:
- size - size
@@ -160,7 +160,7 @@ get:
Metadata: Metadata:
type: array type: array
items: items:
$ref: "../../../models/MetaData.yaml" $ref: "../../../../models/MetaData.yaml"
Meta: Meta:
description: | description: |
The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
@@ -230,9 +230,9 @@ get:
type: boolean type: boolean
example: false example: false
activeDirection: activeDirection:
$ref: "../../../models/common/PlexSortDirection.yaml" $ref: "../../../../models/common/PlexSortDirection.yaml"
defaultDirection: defaultDirection:
$ref: "../../../models/common/PlexSortDirection.yaml" $ref: "../../../../models/common/PlexSortDirection.yaml"
descKey: descKey:
type: string type: string
example: "titleSort:desc" example: "titleSort:desc"
@@ -293,6 +293,6 @@ get:
example: "is" example: "is"
"400": "400":
$ref: "../../../responses/400.yaml" $ref: "../../../../responses/400.yaml"
"401": "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. > **Note**: Filters and sorts are optional; without them, no filtering controls are rendered.
parameters: parameters:
- $ref: "../../../parameters/library/section-key.yaml" - $ref: "../../../../parameters/library/section-key.yaml"
- $ref: "../../../parameters/accept-application-json.yaml" - $ref: "../../../../parameters/accept-application-json.yaml"
- $ref: "../../../parameters/type.yaml" - $ref: "../../../../parameters/type.yaml"
responses: responses:
"200": "200":
description: The contents of the library by section and type description: The contents of the library by section and type
@@ -157,6 +157,6 @@ get:
format: int32 format: int32
example: 1705636920 example: 1705636920
"400": "400":
$ref: "../../../responses/400.yaml" $ref: "../../../../responses/400.yaml"
"401": "401":
$ref: "../../../responses/401.yaml" $ref: "../../../../responses/401.yaml"

View File

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

View File

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

View File

@@ -157,26 +157,26 @@ paths:
$ref: "./paths/library/get-all-libraries.yaml" $ref: "./paths/library/get-all-libraries.yaml"
/library/sections/{sectionKey}: /library/sections/{sectionKey}:
$ref: "./paths/library/[sectionKey]/library-section.yaml" $ref: "./paths/library/sections/[sectionKey]/library-section.yaml"
# Watchlist # Watchlist
/library/sections/watchlist/{filter}: /library/sections/watchlist/{filter}:
$ref: "./paths/library/sections/watchlist/get-watch-list.yaml" $ref: "./paths/library/sections/watchlist/get-watch-list.yaml"
/library/sections/{sectionKey}/{tag}: /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: /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: /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: /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: /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: /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: /library/sections/{sectionKey}/actor:
$ref: "./paths/library/[sectionKey]/get-library-actors.yaml" $ref: "./paths/library/sections/[sectionKey]/get-library-actors.yaml"
/library/search: /library/search:
$ref: "./paths/library/get-search-all-libraries.yaml" $ref: "./paths/library/get-search-all-libraries.yaml"

File diff suppressed because it is too large Load Diff