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,25 +17,14 @@ get:
type: object type: object
properties: properties:
MediaContainer: MediaContainer:
type: object 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: 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: Metadata:
type: array type: array
items: items:

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