mirror of
https://github.com/LukeHagar/plex-api-spec.git
synced 2025-12-11 04:20:52 +00:00
added test and fixes for get-library-all
corrected get-media-meta-data response
This commit is contained in:
@@ -4,18 +4,6 @@ items:
|
|||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
- id
|
- id
|
||||||
- duration
|
|
||||||
- bitrate
|
|
||||||
- width
|
|
||||||
- height
|
|
||||||
- aspectRatio
|
|
||||||
- audioChannels
|
|
||||||
- audioCodec
|
|
||||||
- videoCodec
|
|
||||||
- videoResolution
|
|
||||||
- container
|
|
||||||
- videoFrameRate
|
|
||||||
- videoProfile
|
|
||||||
- hasVoiceActivity
|
- hasVoiceActivity
|
||||||
- Part
|
- Part
|
||||||
properties:
|
properties:
|
||||||
@@ -25,20 +13,24 @@ items:
|
|||||||
example: 387322
|
example: 387322
|
||||||
duration:
|
duration:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Duration of the media in milliseconds."
|
description: "Duration of the media in milliseconds."
|
||||||
example: 9610350
|
example: 9610350
|
||||||
bitrate:
|
bitrate:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Bitrate in bits per second."
|
description: "Bitrate in bits per second."
|
||||||
example: 25512
|
example: 25512
|
||||||
width:
|
width:
|
||||||
type: integer
|
type: integer
|
||||||
description: "Video width in pixels."
|
description: "Video width in pixels."
|
||||||
example: 3840
|
example: 3840
|
||||||
|
format: int32
|
||||||
height:
|
height:
|
||||||
type: integer
|
type: integer
|
||||||
description: "Video height in pixels."
|
description: "Video height in pixels."
|
||||||
example: 1602
|
example: 1602
|
||||||
|
format: int32
|
||||||
aspectRatio:
|
aspectRatio:
|
||||||
type: number
|
type: number
|
||||||
format: float
|
format: float
|
||||||
@@ -48,6 +40,11 @@ items:
|
|||||||
type: integer
|
type: integer
|
||||||
description: "Number of audio channels."
|
description: "Number of audio channels."
|
||||||
example: 6
|
example: 6
|
||||||
|
format: int32
|
||||||
|
displayOffset:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
example: 50
|
||||||
audioCodec:
|
audioCodec:
|
||||||
type: string
|
type: string
|
||||||
description: "Audio codec used."
|
description: "Audio codec used."
|
||||||
@@ -66,7 +63,8 @@ items:
|
|||||||
example: "mkv"
|
example: "mkv"
|
||||||
videoFrameRate:
|
videoFrameRate:
|
||||||
type: string
|
type: string
|
||||||
description: "Frame rate of the video (e.g., 24p)."
|
description: |
|
||||||
|
Frame rate of the video. Values found include NTSC, PAL, 24p
|
||||||
example: "24p"
|
example: "24p"
|
||||||
videoProfile:
|
videoProfile:
|
||||||
type: string
|
type: string
|
||||||
@@ -76,6 +74,21 @@ items:
|
|||||||
type: boolean
|
type: boolean
|
||||||
description: "Indicates whether voice activity is detected."
|
description: "Indicates whether voice activity is detected."
|
||||||
example: false
|
example: false
|
||||||
|
audioProfile:
|
||||||
|
type: string
|
||||||
|
description: "The audio profile used for the media (e.g., DTS, Dolby Digital, etc.)."
|
||||||
|
example: "dts"
|
||||||
|
optimizedForStreaming:
|
||||||
|
description: "Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true"
|
||||||
|
oneOf:
|
||||||
|
- type: integer
|
||||||
|
format: int32
|
||||||
|
enum: [0, 1]
|
||||||
|
- type: boolean
|
||||||
|
enum: [true, false]
|
||||||
|
has64bitOffsets:
|
||||||
|
type: boolean
|
||||||
|
example: false
|
||||||
Part:
|
Part:
|
||||||
type: array
|
type: array
|
||||||
description: "An array of parts for this media item."
|
description: "An array of parts for this media item."
|
||||||
@@ -84,12 +97,8 @@ items:
|
|||||||
required:
|
required:
|
||||||
- id
|
- id
|
||||||
- key
|
- key
|
||||||
- duration
|
|
||||||
- file
|
- file
|
||||||
- size
|
- size
|
||||||
- container
|
|
||||||
- videoProfile
|
|
||||||
- Stream
|
|
||||||
properties:
|
properties:
|
||||||
accessible:
|
accessible:
|
||||||
type: boolean
|
type: boolean
|
||||||
@@ -112,6 +121,7 @@ items:
|
|||||||
example: "sd"
|
example: "sd"
|
||||||
duration:
|
duration:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Duration of the part in milliseconds."
|
description: "Duration of the part in milliseconds."
|
||||||
example: 9610350
|
example: 9610350
|
||||||
file:
|
file:
|
||||||
@@ -119,9 +129,13 @@ items:
|
|||||||
description: "File path for the part."
|
description: "File path for the part."
|
||||||
example: "/mnt/Movies_1/W/Wicked (2024).mkv"
|
example: "/mnt/Movies_1/W/Wicked (2024).mkv"
|
||||||
size:
|
size:
|
||||||
type: integer
|
|
||||||
description: "File size in bytes."
|
description: "File size in bytes."
|
||||||
|
type: integer
|
||||||
example: 30649952104
|
example: 30649952104
|
||||||
|
packetLength:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
example: 188
|
||||||
container:
|
container:
|
||||||
type: string
|
type: string
|
||||||
description: "Container format of the part."
|
description: "Container format of the part."
|
||||||
@@ -130,6 +144,25 @@ items:
|
|||||||
type: string
|
type: string
|
||||||
description: "Video profile for the part."
|
description: "Video profile for the part."
|
||||||
example: "main 10"
|
example: "main 10"
|
||||||
|
audioProfile:
|
||||||
|
type: string
|
||||||
|
description: "The audio profile used for the media (e.g., DTS, Dolby Digital, etc.)."
|
||||||
|
example: "dts"
|
||||||
|
has64bitOffsets:
|
||||||
|
type: boolean
|
||||||
|
example: false
|
||||||
|
optimizedForStreaming:
|
||||||
|
description: "Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true"
|
||||||
|
oneOf:
|
||||||
|
- type: integer
|
||||||
|
format: int32
|
||||||
|
enum: [0, 1]
|
||||||
|
- type: boolean
|
||||||
|
enum: [true, false]
|
||||||
|
hasThumbnail:
|
||||||
|
allOf:
|
||||||
|
- description: "Indicates if the part has a thumbnail."
|
||||||
|
- $ref: "../models/common/PlexBooleanString.yaml"
|
||||||
Stream:
|
Stream:
|
||||||
type: array
|
type: array
|
||||||
description: "An array of streams for this part."
|
description: "An array of streams for this part."
|
||||||
@@ -140,7 +173,6 @@ items:
|
|||||||
- streamType
|
- streamType
|
||||||
- codec
|
- codec
|
||||||
- index
|
- index
|
||||||
- bitrate
|
|
||||||
- language
|
- language
|
||||||
- languageTag
|
- languageTag
|
||||||
- languageCode
|
- languageCode
|
||||||
@@ -153,6 +185,7 @@ items:
|
|||||||
example: 1002625
|
example: 1002625
|
||||||
streamType:
|
streamType:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Stream type (1=video, 2=audio, 3=subtitle)."
|
description: "Stream type (1=video, 2=audio, 3=subtitle)."
|
||||||
example: 1
|
example: 1
|
||||||
default:
|
default:
|
||||||
@@ -165,10 +198,12 @@ items:
|
|||||||
example: "hevc"
|
example: "hevc"
|
||||||
index:
|
index:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Index of the stream."
|
description: "Index of the stream."
|
||||||
example: 0
|
example: 0
|
||||||
bitrate:
|
bitrate:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Bitrate of the stream."
|
description: "Bitrate of the stream."
|
||||||
example: 24743
|
example: 24743
|
||||||
language:
|
language:
|
||||||
@@ -183,8 +218,13 @@ items:
|
|||||||
type: string
|
type: string
|
||||||
description: "ISO language code."
|
description: "ISO language code."
|
||||||
example: "eng"
|
example: "eng"
|
||||||
|
headerCompression:
|
||||||
|
type: boolean
|
||||||
|
description: "Indicates whether header compression is enabled."
|
||||||
|
example: true
|
||||||
DOVIBLCompatID:
|
DOVIBLCompatID:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Dolby Vision BL compatibility ID."
|
description: "Dolby Vision BL compatibility ID."
|
||||||
example: 1
|
example: 1
|
||||||
DOVIBLPresent:
|
DOVIBLPresent:
|
||||||
@@ -197,6 +237,7 @@ items:
|
|||||||
example: false
|
example: false
|
||||||
DOVILevel:
|
DOVILevel:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Dolby Vision level."
|
description: "Dolby Vision level."
|
||||||
example: 6
|
example: 6
|
||||||
DOVIPresent:
|
DOVIPresent:
|
||||||
@@ -205,6 +246,7 @@ items:
|
|||||||
example: true
|
example: true
|
||||||
DOVIProfile:
|
DOVIProfile:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Dolby Vision profile."
|
description: "Dolby Vision profile."
|
||||||
example: 8
|
example: 8
|
||||||
DOVIRPUPresent:
|
DOVIRPUPresent:
|
||||||
@@ -217,6 +259,7 @@ items:
|
|||||||
example: "1.0"
|
example: "1.0"
|
||||||
bitDepth:
|
bitDepth:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Bit depth of the video stream."
|
description: "Bit depth of the video stream."
|
||||||
example: 10
|
example: 10
|
||||||
chromaLocation:
|
chromaLocation:
|
||||||
@@ -229,10 +272,12 @@ items:
|
|||||||
example: "4:2:0"
|
example: "4:2:0"
|
||||||
codedHeight:
|
codedHeight:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Coded video height."
|
description: "Coded video height."
|
||||||
example: 1608
|
example: 1608
|
||||||
codedWidth:
|
codedWidth:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Coded video width."
|
description: "Coded video width."
|
||||||
example: 3840
|
example: 3840
|
||||||
colorPrimaries:
|
colorPrimaries:
|
||||||
@@ -258,10 +303,12 @@ items:
|
|||||||
example: 23.976
|
example: 23.976
|
||||||
height:
|
height:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Height of the video stream."
|
description: "Height of the video stream."
|
||||||
example: 1602
|
example: 1602
|
||||||
level:
|
level:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Video level."
|
description: "Video level."
|
||||||
example: 150
|
example: 150
|
||||||
original:
|
original:
|
||||||
@@ -280,10 +327,12 @@ items:
|
|||||||
example: "progressive"
|
example: "progressive"
|
||||||
refFrames:
|
refFrames:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Number of reference frames."
|
description: "Number of reference frames."
|
||||||
example: 1
|
example: 1
|
||||||
width:
|
width:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Width of the video stream."
|
description: "Width of the video stream."
|
||||||
example: 3840
|
example: 3840
|
||||||
displayTitle:
|
displayTitle:
|
||||||
@@ -303,6 +352,7 @@ items:
|
|||||||
example: true
|
example: true
|
||||||
channels:
|
channels:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Number of audio channels (for audio streams)."
|
description: "Number of audio channels (for audio streams)."
|
||||||
example: 6
|
example: 6
|
||||||
audioChannelLayout:
|
audioChannelLayout:
|
||||||
@@ -311,6 +361,7 @@ items:
|
|||||||
example: "5.1(side)"
|
example: "5.1(side)"
|
||||||
samplingRate:
|
samplingRate:
|
||||||
type: integer
|
type: integer
|
||||||
|
format: int32
|
||||||
description: "Sampling rate for the audio stream."
|
description: "Sampling rate for the audio stream."
|
||||||
example: 48000
|
example: 48000
|
||||||
canAutoSync:
|
canAutoSync:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ required:
|
|||||||
- size
|
- size
|
||||||
properties:
|
properties:
|
||||||
size:
|
size:
|
||||||
type: number
|
type: integer
|
||||||
example: 50
|
example: 50
|
||||||
offset:
|
offset:
|
||||||
type: integer
|
type: integer
|
||||||
|
|||||||
@@ -17,7 +17,10 @@ properties:
|
|||||||
example: "/library/sections/2/all?type=2"
|
example: "/library/sections/2/all?type=2"
|
||||||
type:
|
type:
|
||||||
type: string
|
type: string
|
||||||
example: "show"
|
example: filter
|
||||||
|
subtype:
|
||||||
|
type: string
|
||||||
|
example: "clip"
|
||||||
title:
|
title:
|
||||||
type: string
|
type: string
|
||||||
example: "TV Shows"
|
example: "TV Shows"
|
||||||
@@ -50,6 +53,10 @@ properties:
|
|||||||
type:
|
type:
|
||||||
type: string
|
type: string
|
||||||
example: "filter"
|
example: "filter"
|
||||||
|
advanced:
|
||||||
|
type: boolean
|
||||||
|
example: true
|
||||||
|
|
||||||
Sort:
|
Sort:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
|
|||||||
8
src/models/collection/tag.yaml
Normal file
8
src/models/collection/tag.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- tag
|
||||||
|
properties:
|
||||||
|
tag:
|
||||||
|
type: string
|
||||||
|
description: The user made collection this media item belongs too
|
||||||
|
example: My Awesome Collection
|
||||||
@@ -4,6 +4,8 @@ enum:
|
|||||||
- show
|
- show
|
||||||
- season
|
- season
|
||||||
- episode
|
- episode
|
||||||
|
- artist
|
||||||
|
- album
|
||||||
example: "movie"
|
example: "movie"
|
||||||
description: |
|
description: |
|
||||||
The type of media content
|
The type of media content
|
||||||
@@ -12,3 +14,5 @@ x-speakeasy-enums:
|
|||||||
- TV_SHOW
|
- TV_SHOW
|
||||||
- SEASON
|
- SEASON
|
||||||
- EPISODE
|
- EPISODE
|
||||||
|
- ARTIST
|
||||||
|
- ALBUM
|
||||||
|
|||||||
8
src/models/country/tag.yaml
Normal file
8
src/models/country/tag.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- tag
|
||||||
|
properties:
|
||||||
|
tag:
|
||||||
|
type: string
|
||||||
|
description: The country of origin of this media item
|
||||||
|
example: United States of America
|
||||||
8
src/models/director/tag.yaml
Normal file
8
src/models/director/tag.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- tag
|
||||||
|
properties:
|
||||||
|
tag:
|
||||||
|
type: string
|
||||||
|
description: The role of Director
|
||||||
|
example: Danny Boyle
|
||||||
9
src/models/genre/tag.yaml
Normal file
9
src/models/genre/tag.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- tag
|
||||||
|
properties:
|
||||||
|
tag:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
The genre name of this media-item
|
||||||
|
example: "Crime"
|
||||||
8
src/models/media-container/content.yaml
Normal file
8
src/models/media-container/content.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- content
|
||||||
|
properties:
|
||||||
|
content:
|
||||||
|
type: string
|
||||||
|
description: "The content type or mode."
|
||||||
|
example: "secondary"
|
||||||
8
src/models/media-container/offset.yaml
Normal file
8
src/models/media-container/offset.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- offset
|
||||||
|
properties:
|
||||||
|
offset:
|
||||||
|
type: integer
|
||||||
|
description: "Offset value for pagination."
|
||||||
|
example: 0
|
||||||
@@ -3,5 +3,7 @@ required:
|
|||||||
- size
|
- size
|
||||||
properties:
|
properties:
|
||||||
size:
|
size:
|
||||||
type: number
|
description: "Number of media items returned in this response."
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
example: 50
|
example: 50
|
||||||
|
|||||||
9
src/models/media-container/total-size.yaml
Normal file
9
src/models/media-container/total-size.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- totalSize
|
||||||
|
properties:
|
||||||
|
totalSize:
|
||||||
|
description: "Total number of media items in the library."
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
example: 50
|
||||||
8
src/models/meta-data/added-at.yaml
Normal file
8
src/models/meta-data/added-at.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- addedAt
|
||||||
|
properties:
|
||||||
|
addedAt:
|
||||||
|
allOf:
|
||||||
|
- description: "Unix timestamp when the item was added."
|
||||||
|
- $ref: "../../models/common/PlexDateTime.yaml"
|
||||||
8
src/models/meta-data/art.yaml
Normal file
8
src/models/meta-data/art.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- art
|
||||||
|
properties:
|
||||||
|
art:
|
||||||
|
type: string
|
||||||
|
description: "The art image URL for the media item."
|
||||||
|
example: "/library/metadata/58683/art/1703239236"
|
||||||
6
src/models/meta-data/audience-rating-image.yaml
Normal file
6
src/models/meta-data/audience-rating-image.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
audienceRatingImage:
|
||||||
|
type: string
|
||||||
|
description: "The URL for the audience rating image."
|
||||||
|
example: "rottentomatoes://image.rating.upright"
|
||||||
8
src/models/meta-data/audience-rating.yaml
Normal file
8
src/models/meta-data/audience-rating.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- audienceRating
|
||||||
|
properties:
|
||||||
|
audienceRating:
|
||||||
|
type: number
|
||||||
|
description: "The audience rating for the media item."
|
||||||
|
example: 9.2
|
||||||
8
src/models/meta-data/banner.yaml
Normal file
8
src/models/meta-data/banner.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- banner
|
||||||
|
properties:
|
||||||
|
banner:
|
||||||
|
type: string
|
||||||
|
description: "The banner image URL for the media item."
|
||||||
|
example: "/library/metadata/58683/banner/1703239236"
|
||||||
6
src/models/meta-data/chapter-source.yaml
Normal file
6
src/models/meta-data/chapter-source.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
chapterSource:
|
||||||
|
type: string
|
||||||
|
description: "The source from which chapter data is derived."
|
||||||
|
example: "media"
|
||||||
9
src/models/meta-data/child-count.yaml
Normal file
9
src/models/meta-data/child-count.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- childCount
|
||||||
|
properties:
|
||||||
|
childCount:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The number of child items associated with this media item."
|
||||||
|
example: 1
|
||||||
6
src/models/meta-data/content-rating.yaml
Normal file
6
src/models/meta-data/content-rating.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
contentRating:
|
||||||
|
type: string
|
||||||
|
description: "The content rating for the media item."
|
||||||
|
example: "PG-13"
|
||||||
6
src/models/meta-data/created-at-accuracy.yaml
Normal file
6
src/models/meta-data/created-at-accuracy.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
createdAtAccuracy:
|
||||||
|
type: string
|
||||||
|
description: "The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available)."
|
||||||
|
example: "epoch,local"
|
||||||
6
src/models/meta-data/created-at-tz-offset.yaml
Normal file
6
src/models/meta-data/created-at-tz-offset.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
createdAtTZOffset:
|
||||||
|
type: string
|
||||||
|
description: "The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC."
|
||||||
|
example: "0"
|
||||||
9
src/models/meta-data/duration.yaml
Normal file
9
src/models/meta-data/duration.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- duration
|
||||||
|
properties:
|
||||||
|
duration:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The duration of the media item in milliseconds."
|
||||||
|
example: 11558112
|
||||||
16
src/models/meta-data/enable-credits-marker-generation.yaml
Normal file
16
src/models/meta-data/enable-credits-marker-generation.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- enableCreditsMarkerGeneration
|
||||||
|
properties:
|
||||||
|
enableCreditsMarkerGeneration:
|
||||||
|
type: string
|
||||||
|
description: >
|
||||||
|
Setting that indicates if credits marker detection is enabled.
|
||||||
|
(-1 = Library default, 0 = Disabled).
|
||||||
|
enum:
|
||||||
|
- "-1"
|
||||||
|
- "0"
|
||||||
|
x-speakeasy-enums:
|
||||||
|
- LIBRARY_DEFAULT
|
||||||
|
- DISABLED
|
||||||
|
example: "-1"
|
||||||
18
src/models/meta-data/episode-sort.yaml
Normal file
18
src/models/meta-data/episode-sort.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- episodeSort
|
||||||
|
properties:
|
||||||
|
episodeSort:
|
||||||
|
type: string
|
||||||
|
description: >
|
||||||
|
Setting that indicates how episodes are sorted for the show.
|
||||||
|
(-1 = Library default, 0 = Oldest first, 1 = Newest first).
|
||||||
|
enum:
|
||||||
|
- "-1"
|
||||||
|
- "0"
|
||||||
|
- "1"
|
||||||
|
x-speakeasy-enums:
|
||||||
|
- LIBRARY_DEFAULT
|
||||||
|
- OLDEST_FIRST
|
||||||
|
- NEWEST_FIRST
|
||||||
|
example: "0"
|
||||||
18
src/models/meta-data/flatten-seasons.yaml
Normal file
18
src/models/meta-data/flatten-seasons.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- flattenSeasons
|
||||||
|
properties:
|
||||||
|
flattenSeasons:
|
||||||
|
type: string
|
||||||
|
description: >
|
||||||
|
Setting that indicates if seasons are set to hidden for the show.
|
||||||
|
(-1 = Library default, 0 = Hide, 1 = Show).
|
||||||
|
enum:
|
||||||
|
- "-1"
|
||||||
|
- "0"
|
||||||
|
- "1"
|
||||||
|
x-speakeasy-enums:
|
||||||
|
- LIBRARY_DEFAULT
|
||||||
|
- HIDE
|
||||||
|
- SHOW
|
||||||
|
example: "1"
|
||||||
6
src/models/meta-data/grandparent-art.yaml
Normal file
6
src/models/meta-data/grandparent-art.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
grandparentArt:
|
||||||
|
type: string
|
||||||
|
description: "The art URL for the grandparent media item."
|
||||||
|
example: "/library/metadata/66/art/1705716261"
|
||||||
6
src/models/meta-data/grandparent-guid.yaml
Normal file
6
src/models/meta-data/grandparent-guid.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
grandparentGuid:
|
||||||
|
type: string
|
||||||
|
description: "The GUID of the grandparent media item."
|
||||||
|
example: "plex://show/5d9c081b170e24001f2a7be4"
|
||||||
6
src/models/meta-data/grandparent-key.yaml
Normal file
6
src/models/meta-data/grandparent-key.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
grandparentKey:
|
||||||
|
type: string
|
||||||
|
description: "The key of the grandparent media item."
|
||||||
|
example: "/library/metadata/66"
|
||||||
6
src/models/meta-data/grandparent-rating-key.yaml
Normal file
6
src/models/meta-data/grandparent-rating-key.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
grandparentRatingKey:
|
||||||
|
type: string
|
||||||
|
description: "The rating key of the grandparent media item."
|
||||||
|
example: "66"
|
||||||
6
src/models/meta-data/grandparent-slug.yaml
Normal file
6
src/models/meta-data/grandparent-slug.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
grandparentSlug:
|
||||||
|
type: string
|
||||||
|
description: "The slug for the grandparent media item."
|
||||||
|
example: "alice-in-borderland-2020"
|
||||||
6
src/models/meta-data/grandparent-theme.yaml
Normal file
6
src/models/meta-data/grandparent-theme.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
grandparentTheme:
|
||||||
|
type: string
|
||||||
|
description: "The theme URL for the grandparent media item."
|
||||||
|
example: "/library/metadata/66/theme/1705716261"
|
||||||
6
src/models/meta-data/grandparent-thumb.yaml
Normal file
6
src/models/meta-data/grandparent-thumb.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
grandparentThumb:
|
||||||
|
type: string
|
||||||
|
description: "The thumbnail URL for the grandparent media item."
|
||||||
|
example: "/library/metadata/66/thumb/1705716261"
|
||||||
6
src/models/meta-data/grandparent-title.yaml
Normal file
6
src/models/meta-data/grandparent-title.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
grandparentTitle:
|
||||||
|
type: string
|
||||||
|
description: "The title of the grandparent media item."
|
||||||
|
example: "Caprica"
|
||||||
8
src/models/meta-data/guid.yaml
Normal file
8
src/models/meta-data/guid.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- guid
|
||||||
|
properties:
|
||||||
|
guid:
|
||||||
|
type: string
|
||||||
|
description: "The globally unique identifier for the media item."
|
||||||
|
example: "plex://movie/5d7768ba96b655001fdc0408"
|
||||||
8
src/models/meta-data/has-premium-extras.yaml
Normal file
8
src/models/meta-data/has-premium-extras.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- hasPremiumExtras
|
||||||
|
properties:
|
||||||
|
hasPremiumExtras:
|
||||||
|
type: string
|
||||||
|
description: "Indicates if premium extras are available (as a string value)."
|
||||||
|
example: "1"
|
||||||
8
src/models/meta-data/has-premium-primary-extra.yaml
Normal file
8
src/models/meta-data/has-premium-primary-extra.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- hasPremiumPrimaryExtra
|
||||||
|
properties:
|
||||||
|
hasPremiumPrimaryExtra:
|
||||||
|
type: string
|
||||||
|
description: "Indicates if a premium primary extra is available (as a string value)."
|
||||||
|
example: "1"
|
||||||
9
src/models/meta-data/index.yaml
Normal file
9
src/models/meta-data/index.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- index
|
||||||
|
properties:
|
||||||
|
index:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The index position of the media item."
|
||||||
|
example: 1
|
||||||
8
src/models/meta-data/key.yaml
Normal file
8
src/models/meta-data/key.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
description: "The unique key for the media item."
|
||||||
|
example: "/library/metadata/58683"
|
||||||
7
src/models/meta-data/last-rated-at.yaml
Normal file
7
src/models/meta-data/last-rated-at.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
lastRatedAt:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
description: "The Unix timestamp representing the last time the item was rated."
|
||||||
|
example: 1721813113
|
||||||
7
src/models/meta-data/last-viewed-at.yaml
Normal file
7
src/models/meta-data/last-viewed-at.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
lastViewedAt:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "Unix timestamp for when the media item was last viewed."
|
||||||
|
example: 1682752242
|
||||||
7
src/models/meta-data/leaf-count.yaml
Normal file
7
src/models/meta-data/leaf-count.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
leafCount:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The number of leaf items (end nodes) under this media item."
|
||||||
|
example: 14
|
||||||
8
src/models/meta-data/library-section-id.yaml
Normal file
8
src/models/meta-data/library-section-id.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- librarySectionID
|
||||||
|
properties:
|
||||||
|
librarySectionID:
|
||||||
|
type: integer
|
||||||
|
description: "The identifier for the library section."
|
||||||
|
example: 1
|
||||||
8
src/models/meta-data/library-section-key.yaml
Normal file
8
src/models/meta-data/library-section-key.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- librarySectionKey
|
||||||
|
properties:
|
||||||
|
librarySectionKey:
|
||||||
|
type: string
|
||||||
|
description: "The key corresponding to the library section."
|
||||||
|
example: "/library/sections/1"
|
||||||
8
src/models/meta-data/library-section-title.yaml
Normal file
8
src/models/meta-data/library-section-title.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- librarySectionTitle
|
||||||
|
properties:
|
||||||
|
librarySectionTitle:
|
||||||
|
type: string
|
||||||
|
description: "The title of the library section."
|
||||||
|
example: "Movies"
|
||||||
27
src/models/meta-data/objects/image.yaml
Normal file
27
src/models/meta-data/objects/image.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
type: object
|
||||||
|
description: |
|
||||||
|
The available images for this media item
|
||||||
|
properties:
|
||||||
|
Image:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- alt
|
||||||
|
- type
|
||||||
|
- url
|
||||||
|
properties:
|
||||||
|
alt:
|
||||||
|
type: string
|
||||||
|
example: "Episode 1"
|
||||||
|
type:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- coverPoster
|
||||||
|
- background
|
||||||
|
- snapshot
|
||||||
|
- clearLogo
|
||||||
|
example: "background"
|
||||||
|
url:
|
||||||
|
type: string
|
||||||
|
example: "/library/metadata/45521/thumb/1644710589"
|
||||||
24
src/models/meta-data/objects/ultra-blur-colors.yaml
Normal file
24
src/models/meta-data/objects/ultra-blur-colors.yaml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
type: object
|
||||||
|
description: |
|
||||||
|
Unknown
|
||||||
|
properties:
|
||||||
|
UltraBlurColors:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- topLeft
|
||||||
|
- topRight
|
||||||
|
- bottomRight
|
||||||
|
- bottomLeft
|
||||||
|
properties:
|
||||||
|
topLeft:
|
||||||
|
type: string
|
||||||
|
example: "11333b"
|
||||||
|
topRight:
|
||||||
|
type: string
|
||||||
|
example: "0a232d"
|
||||||
|
bottomRight:
|
||||||
|
type: string
|
||||||
|
example: "073958"
|
||||||
|
bottomLeft:
|
||||||
|
type: string
|
||||||
|
example: "1f5066"
|
||||||
6
src/models/meta-data/original-title.yaml
Normal file
6
src/models/meta-data/original-title.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
originalTitle:
|
||||||
|
type: string
|
||||||
|
description: "The original title of the media item (if different)."
|
||||||
|
example: "映画 ブラッククローバー 魔法帝の剣"
|
||||||
9
src/models/meta-data/originally-available-at.yaml
Normal file
9
src/models/meta-data/originally-available-at.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- originallyAvailableAt
|
||||||
|
properties:
|
||||||
|
originallyAvailableAt:
|
||||||
|
type: string
|
||||||
|
format: date
|
||||||
|
description: "The original release date of the media item."
|
||||||
|
example: "2022-12-14"
|
||||||
6
src/models/meta-data/parent-guid.yaml
Normal file
6
src/models/meta-data/parent-guid.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
parentGuid:
|
||||||
|
type: string
|
||||||
|
description: "The GUID of the parent media item."
|
||||||
|
example: "plex://show/5d9c081b170e24001f2a7be4"
|
||||||
7
src/models/meta-data/parent-index.yaml
Normal file
7
src/models/meta-data/parent-index.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
parentIndex:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The index position of the parent media item."
|
||||||
|
example: 1
|
||||||
6
src/models/meta-data/parent-key.yaml
Normal file
6
src/models/meta-data/parent-key.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
parentKey:
|
||||||
|
type: string
|
||||||
|
description: "The key of the parent media item."
|
||||||
|
example: "/library/metadata/66"
|
||||||
6
src/models/meta-data/parent-rating-key.yaml
Normal file
6
src/models/meta-data/parent-rating-key.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
parentRatingKey:
|
||||||
|
type: string
|
||||||
|
description: "The rating key of the parent media item."
|
||||||
|
example: "66"
|
||||||
8
src/models/meta-data/parent-slug.yaml
Normal file
8
src/models/meta-data/parent-slug.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- parentSlug
|
||||||
|
properties:
|
||||||
|
parentSlug:
|
||||||
|
type: string
|
||||||
|
description: "The slug for the parent media item."
|
||||||
|
example: "alice-in-borderland-2020"
|
||||||
8
src/models/meta-data/parent-studio.yaml
Normal file
8
src/models/meta-data/parent-studio.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- parentStudio
|
||||||
|
properties:
|
||||||
|
parentStudio:
|
||||||
|
type: string
|
||||||
|
description: "The studio of the parent media item."
|
||||||
|
example: "UCP"
|
||||||
8
src/models/meta-data/parent-theme.yaml
Normal file
8
src/models/meta-data/parent-theme.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- parentTheme
|
||||||
|
properties:
|
||||||
|
parentTheme:
|
||||||
|
type: string
|
||||||
|
description: "The theme URL for the parent media item."
|
||||||
|
example: "/library/metadata/66/theme/1705716261"
|
||||||
6
src/models/meta-data/parent-thumb.yaml
Normal file
6
src/models/meta-data/parent-thumb.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
parentThumb:
|
||||||
|
type: string
|
||||||
|
description: "The thumbnail URL for the parent media item."
|
||||||
|
example: "/library/metadata/66/thumb/1705716261"
|
||||||
6
src/models/meta-data/parent-title.yaml
Normal file
6
src/models/meta-data/parent-title.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
parentTitle:
|
||||||
|
type: string
|
||||||
|
description: "The title of the parent media item."
|
||||||
|
example: "Caprica"
|
||||||
9
src/models/meta-data/parent-year.yaml
Normal file
9
src/models/meta-data/parent-year.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- parentYear
|
||||||
|
properties:
|
||||||
|
parentYear:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The release year of the parent media item."
|
||||||
|
example: 2010
|
||||||
6
src/models/meta-data/primary-extra-key.yaml
Normal file
6
src/models/meta-data/primary-extra-key.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
primaryExtraKey:
|
||||||
|
type: string
|
||||||
|
description: "The primary extra key associated with this media item."
|
||||||
|
example: "/library/metadata/58684"
|
||||||
6
src/models/meta-data/rating-image.yaml
Normal file
6
src/models/meta-data/rating-image.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
ratingImage:
|
||||||
|
type: string
|
||||||
|
description: "The URL for the rating image."
|
||||||
|
example: "rottentomatoes://image.rating.ripe"
|
||||||
8
src/models/meta-data/rating-key.yaml
Normal file
8
src/models/meta-data/rating-key.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- ratingKey
|
||||||
|
properties:
|
||||||
|
ratingKey:
|
||||||
|
type: string
|
||||||
|
description: "The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API."
|
||||||
|
example: "58683"
|
||||||
9
src/models/meta-data/rating.yaml
Normal file
9
src/models/meta-data/rating.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- rating
|
||||||
|
properties:
|
||||||
|
rating:
|
||||||
|
type: number
|
||||||
|
format: float
|
||||||
|
description: "The critic rating for the media item."
|
||||||
|
example: 7.6
|
||||||
9
src/models/meta-data/season-count.yaml
Normal file
9
src/models/meta-data/season-count.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- seasonCount
|
||||||
|
properties:
|
||||||
|
seasonCount:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The total number of seasons (for TV shows)."
|
||||||
|
example: 2022
|
||||||
27
src/models/meta-data/show-ordering.yaml
Normal file
27
src/models/meta-data/show-ordering.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- showOrdering
|
||||||
|
properties:
|
||||||
|
showOrdering:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Setting that indicates the episode ordering for the show.
|
||||||
|
Options:
|
||||||
|
- None = Library default
|
||||||
|
- tmdbAiring = The Movie Database (Aired)
|
||||||
|
- aired = TheTVDB (Aired)
|
||||||
|
- dvd = TheTVDB (DVD)
|
||||||
|
- absolute = TheTVDB (Absolute)
|
||||||
|
enum:
|
||||||
|
- None
|
||||||
|
- tmdbAiring
|
||||||
|
- aired
|
||||||
|
- dvd
|
||||||
|
- absolute
|
||||||
|
x-speakeasy-enums:
|
||||||
|
- NONE
|
||||||
|
- TMDB_AIRING
|
||||||
|
- TVDB_AIRED
|
||||||
|
- TVDB_DVD
|
||||||
|
- TVDB_ABSOLUTE
|
||||||
|
example: "absolute"
|
||||||
8
src/models/meta-data/skip-children.yaml
Normal file
8
src/models/meta-data/skip-children.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- skipChildren
|
||||||
|
properties:
|
||||||
|
skipChildren:
|
||||||
|
type: boolean
|
||||||
|
description: "Indicates whether child items should be skipped."
|
||||||
|
example: false
|
||||||
7
src/models/meta-data/skip-count.yaml
Normal file
7
src/models/meta-data/skip-count.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
skipCount:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The number of times this media item has been skipped."
|
||||||
|
example: 1
|
||||||
8
src/models/meta-data/slug.yaml
Normal file
8
src/models/meta-data/slug.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- slug
|
||||||
|
properties:
|
||||||
|
slug:
|
||||||
|
type: string
|
||||||
|
description: "A URL‐friendly version of the media title."
|
||||||
|
example: "4-for-texas"
|
||||||
6
src/models/meta-data/studio.yaml
Normal file
6
src/models/meta-data/studio.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
studio:
|
||||||
|
type: string
|
||||||
|
description: "The studio that produced the media item."
|
||||||
|
example: "20th Century Studios"
|
||||||
6
src/models/meta-data/subtype.yaml
Normal file
6
src/models/meta-data/subtype.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
subtype:
|
||||||
|
type: string
|
||||||
|
description: "A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip."
|
||||||
|
example: "clip"
|
||||||
11
src/models/meta-data/summary.yaml
Normal file
11
src/models/meta-data/summary.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- summary
|
||||||
|
properties:
|
||||||
|
summary:
|
||||||
|
type: string
|
||||||
|
description: "A synopsis of the media item."
|
||||||
|
example: |
|
||||||
|
Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.
|
||||||
|
Once a familiar threat returns to finish what was previously started, Jake must
|
||||||
|
work with Neytiri and the army of the Na'vi race to protect their home.
|
||||||
8
src/models/meta-data/tagline.yaml
Normal file
8
src/models/meta-data/tagline.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- tagline
|
||||||
|
properties:
|
||||||
|
tagline:
|
||||||
|
type: string
|
||||||
|
description: "A brief tagline for the media item."
|
||||||
|
example: "Return to Pandora."
|
||||||
8
src/models/meta-data/theme.yaml
Normal file
8
src/models/meta-data/theme.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- theme
|
||||||
|
properties:
|
||||||
|
theme:
|
||||||
|
type: string
|
||||||
|
description: "The theme URL for the media item."
|
||||||
|
example: "/library/metadata/1/theme/1705636920"
|
||||||
8
src/models/meta-data/thumb.yaml
Normal file
8
src/models/meta-data/thumb.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- thumb
|
||||||
|
properties:
|
||||||
|
thumb:
|
||||||
|
type: string
|
||||||
|
description: "The thumbnail image URL for the media item."
|
||||||
|
example: "/library/metadata/58683/thumb/1703239236"
|
||||||
8
src/models/meta-data/title-sort.yaml
Normal file
8
src/models/meta-data/title-sort.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- titleSort
|
||||||
|
properties:
|
||||||
|
titleSort:
|
||||||
|
type: string
|
||||||
|
description: "The sort title used for ordering media items."
|
||||||
|
example: "Whale"
|
||||||
8
src/models/meta-data/title.yaml
Normal file
8
src/models/meta-data/title.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- title
|
||||||
|
properties:
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
description: "The title of the media item."
|
||||||
|
example: "Avatar: The Way of Water"
|
||||||
7
src/models/meta-data/type.yaml
Normal file
7
src/models/meta-data/type.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- type
|
||||||
|
properties:
|
||||||
|
type:
|
||||||
|
allOf:
|
||||||
|
- $ref: "../common/PlexMediaTypeString.yaml"
|
||||||
4
src/models/meta-data/updated-at.yaml
Normal file
4
src/models/meta-data/updated-at.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
updatedAt:
|
||||||
|
$ref: "../../models/common/PlexDateTime.yaml"
|
||||||
7
src/models/meta-data/user-rating.yaml
Normal file
7
src/models/meta-data/user-rating.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
userRating:
|
||||||
|
type: number
|
||||||
|
format: float
|
||||||
|
description: "The rating provided by a user for the item. This value is expressed as a decimal number."
|
||||||
|
example: 10.0
|
||||||
7
src/models/meta-data/view-count.yaml
Normal file
7
src/models/meta-data/view-count.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
viewCount:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The number of times this media item has been viewed."
|
||||||
|
example: 1
|
||||||
7
src/models/meta-data/view-offset.yaml
Normal file
7
src/models/meta-data/view-offset.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
viewOffset:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The current playback offset (in milliseconds)."
|
||||||
|
example: 5222500
|
||||||
7
src/models/meta-data/viewed-leaf-count.yaml
Normal file
7
src/models/meta-data/viewed-leaf-count.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
viewedLeafCount:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The number of leaf items that have been viewed."
|
||||||
|
example: 0
|
||||||
9
src/models/meta-data/year.yaml
Normal file
9
src/models/meta-data/year.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- year
|
||||||
|
properties:
|
||||||
|
year:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
description: "The release year of the media item."
|
||||||
|
example: 2022
|
||||||
8
src/models/role/tag.yaml
Normal file
8
src/models/role/tag.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- tag
|
||||||
|
properties:
|
||||||
|
tag:
|
||||||
|
type: string
|
||||||
|
description: The name of the actor for this role
|
||||||
|
example: Danny Boyle
|
||||||
8
src/models/writer/tag.yaml
Normal file
8
src/models/writer/tag.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- tag
|
||||||
|
properties:
|
||||||
|
tag:
|
||||||
|
type: string
|
||||||
|
description: The role of Writer
|
||||||
|
example: Danny Boyle
|
||||||
4
src/parameters/include-advanced.yaml
Normal file
4
src/parameters/include-advanced.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
name: includeAdvanced
|
||||||
|
in: query
|
||||||
|
schema:
|
||||||
|
$ref: "../models/common/PlexBoolean.yaml"
|
||||||
4
src/parameters/include-collections.yaml
Normal file
4
src/parameters/include-collections.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
name: includeCollections
|
||||||
|
in: query
|
||||||
|
schema:
|
||||||
|
$ref: "../models/common/PlexBoolean.yaml"
|
||||||
4
src/parameters/include-external-media.yaml
Normal file
4
src/parameters/include-external-media.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
name: includeExternalMedia
|
||||||
|
in: query
|
||||||
|
schema:
|
||||||
|
$ref: "../models/common/PlexBoolean.yaml"
|
||||||
6
src/parameters/include-guids.yaml
Normal file
6
src/parameters/include-guids.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
name: includeGuids
|
||||||
|
in: query
|
||||||
|
description: |
|
||||||
|
Adds the Guid object to the response
|
||||||
|
schema:
|
||||||
|
$ref: "../models/common/PlexBoolean.yaml"
|
||||||
6
src/parameters/unwatched-leaves.yaml
Normal file
6
src/parameters/unwatched-leaves.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
name: unwatchedLeaves
|
||||||
|
in: query
|
||||||
|
description: |
|
||||||
|
Adds the Meta object to the response
|
||||||
|
schema:
|
||||||
|
$ref: "../models/common/PlexBoolean.yaml"
|
||||||
164
src/paths/library/[sectionKey]/get-library-all.yaml
Normal file
164
src/paths/library/[sectionKey]/get-library-all.yaml
Normal file
@@ -0,0 +1,164 @@
|
|||||||
|
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/country/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"
|
||||||
@@ -19,49 +19,20 @@ get:
|
|||||||
properties:
|
properties:
|
||||||
MediaContainer:
|
MediaContainer:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: "../../../models/MediaContainer.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
|
- type: object
|
||||||
required:
|
|
||||||
- size
|
|
||||||
- allowSync
|
|
||||||
- art
|
|
||||||
- content
|
|
||||||
- identifier
|
|
||||||
- mediaTagPrefix
|
|
||||||
- mediaTagVersion
|
|
||||||
- nocache
|
|
||||||
- thumb
|
|
||||||
- title1
|
|
||||||
- title2
|
|
||||||
- viewGroup
|
|
||||||
properties:
|
properties:
|
||||||
art:
|
|
||||||
type: string
|
|
||||||
example: "/:/resources/show-fanart.jpg"
|
|
||||||
content:
|
|
||||||
type: string
|
|
||||||
example: "secondary"
|
|
||||||
mediaTagPrefix:
|
|
||||||
type: string
|
|
||||||
example: "/system/bundle/media/flags/"
|
|
||||||
mediaTagVersion:
|
|
||||||
type: integer
|
|
||||||
example: 1734362201
|
|
||||||
nocache:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
thumb:
|
|
||||||
type: string
|
|
||||||
example: "/:/resources/show.png"
|
|
||||||
title1:
|
|
||||||
type: string
|
|
||||||
example: "TV Series"
|
|
||||||
title2:
|
|
||||||
type: string
|
|
||||||
example: "By Country"
|
|
||||||
viewGroup:
|
|
||||||
type: string
|
|
||||||
example: "secondary"
|
|
||||||
Directory:
|
Directory:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
|
|||||||
@@ -19,49 +19,20 @@ get:
|
|||||||
properties:
|
properties:
|
||||||
MediaContainer:
|
MediaContainer:
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: "../../../models/MediaContainer.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
|
- type: object
|
||||||
required:
|
|
||||||
- size
|
|
||||||
- allowSync
|
|
||||||
- art
|
|
||||||
- content
|
|
||||||
- identifier
|
|
||||||
- mediaTagPrefix
|
|
||||||
- mediaTagVersion
|
|
||||||
- nocache
|
|
||||||
- thumb
|
|
||||||
- title1
|
|
||||||
- title2
|
|
||||||
- viewGroup
|
|
||||||
properties:
|
properties:
|
||||||
art:
|
|
||||||
type: string
|
|
||||||
example: "/:/resources/show-fanart.jpg"
|
|
||||||
content:
|
|
||||||
type: string
|
|
||||||
example: "secondary"
|
|
||||||
mediaTagPrefix:
|
|
||||||
type: string
|
|
||||||
example: "/system/bundle/media/flags/"
|
|
||||||
mediaTagVersion:
|
|
||||||
type: integer
|
|
||||||
example: 1734362201
|
|
||||||
nocache:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
thumb:
|
|
||||||
type: string
|
|
||||||
example: "/:/resources/show.png"
|
|
||||||
title1:
|
|
||||||
type: string
|
|
||||||
example: "TV Shows (Reality)"
|
|
||||||
title2:
|
|
||||||
type: string
|
|
||||||
example: "By Genre"
|
|
||||||
viewGroup:
|
|
||||||
type: string
|
|
||||||
example: "secondary"
|
|
||||||
Directory:
|
Directory:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ get:
|
|||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
enum:
|
enum:
|
||||||
- all
|
|
||||||
- unwatched
|
- unwatched
|
||||||
- newest
|
- newest
|
||||||
- recentlyAdded
|
- recentlyAdded
|
||||||
@@ -41,12 +40,9 @@ get:
|
|||||||
- onDeck
|
- onDeck
|
||||||
- collection
|
- collection
|
||||||
- edition
|
- edition
|
||||||
- genre
|
|
||||||
- year
|
- year
|
||||||
- decade
|
- decade
|
||||||
- director
|
- director
|
||||||
- actor
|
|
||||||
- country
|
|
||||||
- contentRating
|
- contentRating
|
||||||
- rating
|
- rating
|
||||||
- resolution
|
- resolution
|
||||||
|
|||||||
@@ -140,21 +140,15 @@ get:
|
|||||||
- librarySectionTitle
|
- librarySectionTitle
|
||||||
- librarySectionID
|
- librarySectionID
|
||||||
- librarySectionKey
|
- librarySectionKey
|
||||||
- contentRating
|
|
||||||
- summary
|
- summary
|
||||||
- audienceRating
|
|
||||||
- year
|
- year
|
||||||
- thumb
|
- thumb
|
||||||
- art
|
- art
|
||||||
- duration
|
- duration
|
||||||
- originallyAvailableAt
|
|
||||||
- addedAt
|
- addedAt
|
||||||
- updatedAt
|
- updatedAt
|
||||||
- audienceRatingImage
|
|
||||||
- Image
|
- Image
|
||||||
- UltraBlurColors
|
- UltraBlurColors
|
||||||
- Guid
|
|
||||||
- Rating
|
|
||||||
properties:
|
properties:
|
||||||
ratingKey:
|
ratingKey:
|
||||||
type: string
|
type: string
|
||||||
@@ -268,7 +262,17 @@ get:
|
|||||||
year:
|
year:
|
||||||
type: integer
|
type: integer
|
||||||
description: "The release year."
|
description: "The release year."
|
||||||
|
format: int32
|
||||||
example: 2015
|
example: 2015
|
||||||
|
rating:
|
||||||
|
type: number
|
||||||
|
format: float
|
||||||
|
description: "The general rating"
|
||||||
|
example: 6.0
|
||||||
|
ratingImage:
|
||||||
|
type: string
|
||||||
|
description: "The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image)."
|
||||||
|
example: "rottentomatoes://image.rating.ripe"
|
||||||
tagline:
|
tagline:
|
||||||
type: string
|
type: string
|
||||||
description: "The tagline of the content."
|
description: "The tagline of the content."
|
||||||
@@ -295,6 +299,7 @@ get:
|
|||||||
type: integer
|
type: integer
|
||||||
description: "Duration of the content in milliseconds."
|
description: "Duration of the content in milliseconds."
|
||||||
example: 2700000
|
example: 2700000
|
||||||
|
format: int32
|
||||||
originallyAvailableAt:
|
originallyAvailableAt:
|
||||||
type: string
|
type: string
|
||||||
format: date
|
format: date
|
||||||
@@ -311,15 +316,16 @@ get:
|
|||||||
childCount:
|
childCount:
|
||||||
type: integer
|
type: integer
|
||||||
description: "The number of child items."
|
description: "The number of child items."
|
||||||
|
format: int32
|
||||||
example: 6
|
example: 6
|
||||||
addedAt:
|
addedAt:
|
||||||
type: integer
|
allOf:
|
||||||
description: "Unix timestamp when the item was added."
|
- description: "Unix timestamp when the item was added."
|
||||||
example: 1625505101
|
- $ref: "../../../../models/common/PlexDateTime.yaml"
|
||||||
updatedAt:
|
updatedAt:
|
||||||
type: integer
|
allOf:
|
||||||
description: "Unix timestamp when the item was last updated."
|
- description: "Unix timestamp when the item was last updated."
|
||||||
example: 1736487993
|
- $ref: "../../../../models/common/PlexDateTime.yaml"
|
||||||
audienceRatingImage:
|
audienceRatingImage:
|
||||||
type: string
|
type: string
|
||||||
description: "The URL for the audience rating image."
|
description: "The URL for the audience rating image."
|
||||||
@@ -424,6 +430,7 @@ get:
|
|||||||
id:
|
id:
|
||||||
type: integer
|
type: integer
|
||||||
description: "The unique country identifier."
|
description: "The unique country identifier."
|
||||||
|
format: int32
|
||||||
example: 58591
|
example: 58591
|
||||||
filter:
|
filter:
|
||||||
type: string
|
type: string
|
||||||
@@ -447,6 +454,7 @@ get:
|
|||||||
description: "The GUID value."
|
description: "The GUID value."
|
||||||
example: "imdb://tt3032476"
|
example: "imdb://tt3032476"
|
||||||
Rating:
|
Rating:
|
||||||
|
x-speakeasy-name-override: Ratings
|
||||||
type: array
|
type: array
|
||||||
description: "An array of rating objects."
|
description: "An array of rating objects."
|
||||||
items:
|
items:
|
||||||
|
|||||||
@@ -165,6 +165,8 @@ paths:
|
|||||||
|
|
||||||
/library/sections/{sectionKey}/{tag}:
|
/library/sections/{sectionKey}/{tag}:
|
||||||
$ref: "./paths/library/[sectionKey]/get-library-items.yaml"
|
$ref: "./paths/library/[sectionKey]/get-library-items.yaml"
|
||||||
|
/library/sections/{sectionKey}/all:
|
||||||
|
$ref: "./paths/library/[sectionKey]/get-library-all.yaml"
|
||||||
/library/sections/{sectionKey}/refresh:
|
/library/sections/{sectionKey}/refresh:
|
||||||
$ref: "./paths/library/[sectionKey]/refresh/get-refresh-library-metadata.yaml"
|
$ref: "./paths/library/[sectionKey]/refresh/get-refresh-library-metadata.yaml"
|
||||||
/library/sections/{sectionKey}/search:
|
/library/sections/{sectionKey}/search:
|
||||||
|
|||||||
78247
tests/paths/library/[sectionKey]/get-library-all.spec.ts
Normal file
78247
tests/paths/library/[sectionKey]/get-library-all.spec.ts
Normal file
File diff suppressed because it is too large
Load Diff
@@ -4488,4 +4488,900 @@ describe("GET /library/metadata/[RatingKey]/", () => {
|
|||||||
|
|
||||||
validateResponseSpec("/library/metadata/{ratingKey}", "get", 200, response)
|
validateResponseSpec("/library/metadata/{ratingKey}", "get", 200, response)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it("should validate the 200 response when the response is from Episode", () => {
|
||||||
|
const response = {
|
||||||
|
MediaContainer: {
|
||||||
|
size: 1,
|
||||||
|
allowSync: true,
|
||||||
|
identifier: "com.plexapp.plugins.library",
|
||||||
|
librarySectionID: 1,
|
||||||
|
librarySectionTitle: "Movies",
|
||||||
|
librarySectionUUID: "0e71027d-88bc-4413-9927-5aad992d3d19",
|
||||||
|
mediaTagPrefix: "/system/bundle/media/flags/",
|
||||||
|
mediaTagVersion: 1734362201,
|
||||||
|
Metadata: [
|
||||||
|
{
|
||||||
|
ratingKey: "9881",
|
||||||
|
key: "/library/metadata/9881",
|
||||||
|
guid: "plex://movie/5d776834961905001eb939ac",
|
||||||
|
slug: "91-2-weeks",
|
||||||
|
studio: "Jonesfilm",
|
||||||
|
type: "movie",
|
||||||
|
title: "9½ Weeks",
|
||||||
|
librarySectionTitle: "Movies",
|
||||||
|
librarySectionID: 1,
|
||||||
|
librarySectionKey: "/library/sections/1",
|
||||||
|
originalTitle: "Nine 1/2 Weeks",
|
||||||
|
contentRating: "nl/12",
|
||||||
|
summary:
|
||||||
|
"An erotic story about a woman, the assistant of an art gallery, who gets involved in an impersonal affair with a man. She barely knows about his life, only about the sex games they play, so the relationship begins to get complicated.",
|
||||||
|
rating: 6.0,
|
||||||
|
audienceRating: 5.5,
|
||||||
|
year: 1986,
|
||||||
|
tagline: "They Broke Every Rule.",
|
||||||
|
thumb: "/library/metadata/9881/thumb/1732511607",
|
||||||
|
art: "/library/metadata/9881/art/1732511607",
|
||||||
|
duration: 7011007,
|
||||||
|
originallyAvailableAt: "1986-02-09",
|
||||||
|
addedAt: 1560801795,
|
||||||
|
updatedAt: 1732511607,
|
||||||
|
audienceRatingImage: "rottentomatoes://image.rating.spilled",
|
||||||
|
chapterSource: "media",
|
||||||
|
ratingImage: "rottentomatoes://image.rating.ripe",
|
||||||
|
Media: [
|
||||||
|
{
|
||||||
|
id: 12306,
|
||||||
|
duration: 7011007,
|
||||||
|
bitrate: 13003,
|
||||||
|
width: 1920,
|
||||||
|
height: 1080,
|
||||||
|
aspectRatio: 1.78,
|
||||||
|
audioChannels: 6,
|
||||||
|
audioCodec: "dca",
|
||||||
|
videoCodec: "h264",
|
||||||
|
videoResolution: "1080",
|
||||||
|
container: "mkv",
|
||||||
|
videoFrameRate: "24p",
|
||||||
|
audioProfile: "dts",
|
||||||
|
videoProfile: "high",
|
||||||
|
hasVoiceActivity: false,
|
||||||
|
Part: [
|
||||||
|
{
|
||||||
|
id: 41930,
|
||||||
|
key: "/library/parts/41930/1501053187/file.mkv",
|
||||||
|
duration: 7011007,
|
||||||
|
file: "/Movies/Nine 1+2 Weeks (1986)/Nine.and.a.Half.Weeks.1986.1080p.BluRay.DTS.x264-HDMaNiAcS.mkv",
|
||||||
|
size: 11394952434,
|
||||||
|
audioProfile: "dts",
|
||||||
|
container: "mkv",
|
||||||
|
indexes: "sd",
|
||||||
|
videoProfile: "high",
|
||||||
|
Stream: [
|
||||||
|
{
|
||||||
|
id: 100031,
|
||||||
|
streamType: 1,
|
||||||
|
default: true,
|
||||||
|
codec: "h264",
|
||||||
|
index: 0,
|
||||||
|
bitrate: 11494,
|
||||||
|
language: "English",
|
||||||
|
languageTag: "en",
|
||||||
|
languageCode: "eng",
|
||||||
|
bitDepth: 8,
|
||||||
|
chromaLocation: "left",
|
||||||
|
chromaSubsampling: "4:2:0",
|
||||||
|
codedHeight: 1088,
|
||||||
|
codedWidth: 1920,
|
||||||
|
frameRate: 23.976,
|
||||||
|
hasScalingMatrix: false,
|
||||||
|
headerCompression: true,
|
||||||
|
height: 1080,
|
||||||
|
level: 41,
|
||||||
|
profile: "high",
|
||||||
|
refFrames: 4,
|
||||||
|
scanType: "progressive",
|
||||||
|
title:
|
||||||
|
"Nine.Half.Weeks.1986.1080p.BluRay.DTS.x264-HDMaNiAcS",
|
||||||
|
width: 1920,
|
||||||
|
displayTitle: "1080p",
|
||||||
|
extendedDisplayTitle:
|
||||||
|
"Nine.Half.Weeks.1986.1080p.BluRay.DTS.x264-HDMaNiAcS (1080p H.264)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 100032,
|
||||||
|
streamType: 2,
|
||||||
|
selected: true,
|
||||||
|
default: true,
|
||||||
|
codec: "dca",
|
||||||
|
index: 1,
|
||||||
|
channels: 6,
|
||||||
|
bitrate: 1509,
|
||||||
|
language: "English",
|
||||||
|
languageTag: "en",
|
||||||
|
languageCode: "eng",
|
||||||
|
audioChannelLayout: "5.1(side)",
|
||||||
|
bitDepth: 24,
|
||||||
|
headerCompression: true,
|
||||||
|
profile: "dts",
|
||||||
|
samplingRate: 48000,
|
||||||
|
displayTitle: "English (DTS 5.1)",
|
||||||
|
extendedDisplayTitle: "English (DTS 5.1)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 100033,
|
||||||
|
streamType: 3,
|
||||||
|
canAutoSync: false,
|
||||||
|
default: true,
|
||||||
|
codec: "srt",
|
||||||
|
index: 2,
|
||||||
|
bitrate: 0,
|
||||||
|
language: "English",
|
||||||
|
languageTag: "en",
|
||||||
|
languageCode: "eng",
|
||||||
|
displayTitle: "English",
|
||||||
|
extendedDisplayTitle: "English (SRT)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 100034,
|
||||||
|
streamType: 3,
|
||||||
|
canAutoSync: false,
|
||||||
|
codec: "srt",
|
||||||
|
index: 3,
|
||||||
|
bitrate: 0,
|
||||||
|
language: "Greek",
|
||||||
|
languageTag: "el",
|
||||||
|
languageCode: "ell",
|
||||||
|
displayTitle: "Greek",
|
||||||
|
extendedDisplayTitle: "Greek (SRT)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 100035,
|
||||||
|
streamType: 3,
|
||||||
|
canAutoSync: false,
|
||||||
|
codec: "srt",
|
||||||
|
index: 4,
|
||||||
|
bitrate: 0,
|
||||||
|
language: "Dutch",
|
||||||
|
languageTag: "nl",
|
||||||
|
languageCode: "nld",
|
||||||
|
displayTitle: "Dutch",
|
||||||
|
extendedDisplayTitle: "Dutch (SRT)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 100036,
|
||||||
|
streamType: 3,
|
||||||
|
canAutoSync: false,
|
||||||
|
codec: "srt",
|
||||||
|
index: 5,
|
||||||
|
bitrate: 0,
|
||||||
|
language: "French",
|
||||||
|
languageTag: "fr",
|
||||||
|
languageCode: "fra",
|
||||||
|
displayTitle: "French",
|
||||||
|
extendedDisplayTitle: "French (SRT)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 100037,
|
||||||
|
streamType: 3,
|
||||||
|
canAutoSync: false,
|
||||||
|
codec: "srt",
|
||||||
|
index: 6,
|
||||||
|
bitrate: 0,
|
||||||
|
language: "Spanish",
|
||||||
|
languageTag: "es",
|
||||||
|
languageCode: "spa",
|
||||||
|
displayTitle: "Spanish",
|
||||||
|
extendedDisplayTitle: "Spanish (SRT)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Image: [
|
||||||
|
{
|
||||||
|
alt: "9½ Weeks",
|
||||||
|
type: "coverPoster",
|
||||||
|
url: "/library/metadata/9881/thumb/1732511607"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
alt: "9½ Weeks",
|
||||||
|
type: "background",
|
||||||
|
url: "/library/metadata/9881/art/1732511607"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
alt: "9½ Weeks",
|
||||||
|
type: "clearLogo",
|
||||||
|
url: "/library/metadata/9881/clearLogo/1732511607"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
UltraBlurColors: {
|
||||||
|
topLeft: "452410",
|
||||||
|
topRight: "0d0202",
|
||||||
|
bottomRight: "0d0202",
|
||||||
|
bottomLeft: "272223"
|
||||||
|
},
|
||||||
|
Genre: [
|
||||||
|
{ id: 91, filter: "genre=91", tag: "Drama" },
|
||||||
|
{ id: 2313, filter: "genre=2313", tag: "Romance" }
|
||||||
|
],
|
||||||
|
Country: [
|
||||||
|
{
|
||||||
|
id: 58591,
|
||||||
|
filter: "country=58591",
|
||||||
|
tag: "United States of America"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Guid: [
|
||||||
|
{ id: "imdb://tt0091635" },
|
||||||
|
{ id: "tmdb://10068" },
|
||||||
|
{ id: "tvdb://1165" }
|
||||||
|
],
|
||||||
|
Rating: [
|
||||||
|
{ image: "imdb://image.rating", value: 5.9, type: "audience" },
|
||||||
|
{
|
||||||
|
image: "rottentomatoes://image.rating.ripe",
|
||||||
|
value: 6.0,
|
||||||
|
type: "critic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
image: "rottentomatoes://image.rating.spilled",
|
||||||
|
value: 5.5,
|
||||||
|
type: "audience"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
image: "themoviedb://image.rating",
|
||||||
|
value: 6.1,
|
||||||
|
type: "audience"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Director: [
|
||||||
|
{
|
||||||
|
id: 115243,
|
||||||
|
filter: "director=115243",
|
||||||
|
tag: "Adrian Lyne",
|
||||||
|
tagKey: "5d776827151a60001f24aac6",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/6/people/6f6d8e5aefcae45e3ccb7843de68c905.jpg"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Writer: [
|
||||||
|
{
|
||||||
|
id: 119473,
|
||||||
|
filter: "writer=119473",
|
||||||
|
tag: "Sarah Kernochan",
|
||||||
|
tagKey: "5d776829eb5d26001f1ddfcd",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/9/people/96dfb2020c32ddae0345c4a0aee59414.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119474,
|
||||||
|
filter: "writer=119474",
|
||||||
|
tag: "Zalman King",
|
||||||
|
tagKey: "5d77682ff54112001f5bcc2e",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/5/people/57a351f9a4343dca762ee432544bf34e.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119475,
|
||||||
|
filter: "writer=119475",
|
||||||
|
tag: "Patricia Louisianna Knop",
|
||||||
|
tagKey: "5d77682ff54112001f5bcc3f",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/4/people/46956d0e94d2446fb7c1e46d247d645a.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119476,
|
||||||
|
filter: "writer=119476",
|
||||||
|
tag: "Elizabeth McNeill",
|
||||||
|
tagKey: "5dcd37dc27f42b001fe2a264"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Role: [
|
||||||
|
{
|
||||||
|
id: 112471,
|
||||||
|
filter: "actor=112471",
|
||||||
|
tag: "Mickey Rourke",
|
||||||
|
tagKey: "5d7768254de0ee001fcc8142",
|
||||||
|
role: "John",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/9/people/957b644e5f8a141ae9715d7208ed11c7.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 114907,
|
||||||
|
filter: "actor=114907",
|
||||||
|
tag: "Kim Basinger",
|
||||||
|
tagKey: "5d776826e6d55c002040af92",
|
||||||
|
role: "Elizabeth",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/4/people/4b7cdc723474d2effa3e53e37db88f0b.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119477,
|
||||||
|
filter: "actor=119477",
|
||||||
|
tag: "Margaret Whitton",
|
||||||
|
tagKey: "5d77683454f42c001f8c42c9",
|
||||||
|
role: "Molly",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/b/people/ba5f44eec74e0c12e4cb8924e88bb688.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119478,
|
||||||
|
filter: "actor=119478",
|
||||||
|
tag: "David Margulies",
|
||||||
|
tagKey: "5d7768273c3c2a001fbcb1ca",
|
||||||
|
role: "Harvey",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/people/5d7768273c3c2a001fbcb1ca.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 118305,
|
||||||
|
filter: "actor=118305",
|
||||||
|
tag: "Christine Baranski",
|
||||||
|
tagKey: "5d776828151a60001f24af12",
|
||||||
|
role: "Thea",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/f/people/f9f3e932357029ab6ec4bf0c128c2cb4.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119479,
|
||||||
|
filter: "actor=119479",
|
||||||
|
tag: "Karen Young",
|
||||||
|
tagKey: "5d77682754f42c001f8c2a3c",
|
||||||
|
role: "Sue",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/3/people/36d0e412b0d58d6939d1976d306c10c4.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119480,
|
||||||
|
filter: "actor=119480",
|
||||||
|
tag: "Dwight Weist",
|
||||||
|
tagKey: "5d776835961905001eb93cd7",
|
||||||
|
role: "Farnsworth",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/4/people/4cf65442c74948fcd6758c6b77165019.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119481,
|
||||||
|
filter: "actor=119481",
|
||||||
|
tag: "Roderick Cook",
|
||||||
|
tagKey: "5d776825151a60001f24a6d2",
|
||||||
|
role: "Sinclair - the Critic",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/people/5d776825151a60001f24a6d2.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119482,
|
||||||
|
filter: "actor=119482",
|
||||||
|
tag: "Victor Truro",
|
||||||
|
tagKey: "5d7768278718ba001e311e97",
|
||||||
|
role: "Gallery Client",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/a/people/ac35e61b7f92d7e71f676c5742972a6f.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119483,
|
||||||
|
filter: "actor=119483",
|
||||||
|
tag: "Justine Johnston",
|
||||||
|
tagKey: "5d776835961905001eb93cd8",
|
||||||
|
role: "Bedding Saleswoman",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/people/5d776835961905001eb93cd8.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119484,
|
||||||
|
filter: "actor=119484",
|
||||||
|
tag: "Julian Beck",
|
||||||
|
tagKey: "5d776835961905001eb93cd9",
|
||||||
|
role: "Dinner Guest",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/people/5d776835961905001eb93cd9.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 203253,
|
||||||
|
filter: "actor=203253",
|
||||||
|
tag: "Michael Margotta",
|
||||||
|
tagKey: "5d776835961905001eb93cda",
|
||||||
|
role: "Michael",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/people/5d776835961905001eb93cda.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 203254,
|
||||||
|
filter: "actor=203254",
|
||||||
|
tag: "Petina Cole",
|
||||||
|
tagKey: "5dd2c65235afd6001e030cf2",
|
||||||
|
role: "Woman on Stage at Porno House",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/f/people/f9ab0a292d3d5d2a59a99bd80341a11d.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119487,
|
||||||
|
filter: "actor=119487",
|
||||||
|
tag: "Joey Silvera",
|
||||||
|
tagKey: "5d776835961905001eb93cdc",
|
||||||
|
role: "Man on Stage at Porno House",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/8/people/8c4772b1fb3490c51e723d7aa8a1ed27.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119488,
|
||||||
|
filter: "actor=119488",
|
||||||
|
tag: "Sarah Kernochan",
|
||||||
|
tagKey: "5d776829eb5d26001f1ddfcd",
|
||||||
|
role: "Gallery Guest",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/9/people/96dfb2020c32ddae0345c4a0aee59414.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 113440,
|
||||||
|
filter: "actor=113440",
|
||||||
|
tag: "Helen Hanft",
|
||||||
|
tagKey: "5d7768278718ba001e311e99",
|
||||||
|
role: "Flea Market Shawl Seller",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/5/people/5f0b6b7603e7201abc7ae7a178dd7a3b.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 203255,
|
||||||
|
filter: "actor=203255",
|
||||||
|
tag: "William De Acutis",
|
||||||
|
tagKey: "5d77683185719b001f3a2bb3",
|
||||||
|
role: "Ted",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/e/people/ebf48881699b18061c49cea38d8a8768.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 203256,
|
||||||
|
filter: "actor=203256",
|
||||||
|
tag: "Cintia Cruz",
|
||||||
|
tagKey: "5d776835961905001eb93cdd",
|
||||||
|
role: "Whore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119491,
|
||||||
|
filter: "actor=119491",
|
||||||
|
tag: "Kim Chan",
|
||||||
|
tagKey: "5d776824103a2d001f563ad5",
|
||||||
|
role: "Chinatown Butcher",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/people/5d776824103a2d001f563ad5.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 181883,
|
||||||
|
filter: "actor=181883",
|
||||||
|
tag: "Lee Lai Sing",
|
||||||
|
tagKey: "632092957b6301b7f349c8d4",
|
||||||
|
role: "Angry Chinese Customer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119493,
|
||||||
|
filter: "actor=119493",
|
||||||
|
tag: "Rudolph Willrich",
|
||||||
|
tagKey: "5d776835961905001eb93cdf",
|
||||||
|
role: "Chinatown Shopper",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/8/people/82fa468de3861338bfe4959523a8cb0a.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119494,
|
||||||
|
filter: "actor=119494",
|
||||||
|
tag: "Michael P. Moran",
|
||||||
|
tagKey: "5d7768262e80df001ebdce0b",
|
||||||
|
role: "Flea Market Chicken Seller",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/f/people/fd5f72c277bcd9935d3e29241e220714.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 118024,
|
||||||
|
filter: "actor=118024",
|
||||||
|
tag: "Raynor Scheine",
|
||||||
|
tagKey: "5d776827880197001ec90a05",
|
||||||
|
role: "Flower Delivery Boy",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/5/people/58ba341047a2498f2eb90ffef11c29b4.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119495,
|
||||||
|
filter: "actor=119495",
|
||||||
|
tag: "Olek Krupa",
|
||||||
|
tagKey: "5d7768265af944001f1f6658",
|
||||||
|
role: "Bruce",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/d/people/db7a5a43bba485d18322846dc2f37bf4.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119496,
|
||||||
|
filter: "actor=119496",
|
||||||
|
tag: "John P. Connolly",
|
||||||
|
tagKey: "5d776835961905001eb93ce0",
|
||||||
|
role: "Dinner Guest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119497,
|
||||||
|
filter: "actor=119497",
|
||||||
|
tag: "Cassandra Danz",
|
||||||
|
tagKey: "5d776835961905001eb93ce1",
|
||||||
|
role: "Dinner Guest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119498,
|
||||||
|
filter: "actor=119498",
|
||||||
|
tag: "Beata Jachulski",
|
||||||
|
tagKey: "5d776835961905001eb93ce2",
|
||||||
|
role: "Dinner Guest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119499,
|
||||||
|
filter: "actor=119499",
|
||||||
|
tag: "Peter Pagan",
|
||||||
|
tagKey: "5d776835961905001eb93ce3",
|
||||||
|
role: "Riding Crop Salesman"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119500,
|
||||||
|
filter: "actor=119500",
|
||||||
|
tag: "Terri Perri",
|
||||||
|
tagKey: "5d776826a091de001f2e61f9",
|
||||||
|
role: "Italian Singer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119501,
|
||||||
|
filter: "actor=119501",
|
||||||
|
tag: "Charles Malota",
|
||||||
|
tagKey: "5d776835961905001eb93ce4",
|
||||||
|
role: "Coney Island Boy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119502,
|
||||||
|
filter: "actor=119502",
|
||||||
|
tag: "Daniel E. Amrich",
|
||||||
|
tagKey: "5d776835961905001eb93ce5",
|
||||||
|
role: "Coney Island Boy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119503,
|
||||||
|
filter: "actor=119503",
|
||||||
|
tag: "Salvatore Sciangula",
|
||||||
|
tagKey: "5d776835961905001eb93ce6",
|
||||||
|
role: "Coney Island Boy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119504,
|
||||||
|
filter: "actor=119504",
|
||||||
|
tag: "Kim Michel",
|
||||||
|
tagKey: "5d776835961905001eb93ce7",
|
||||||
|
role: "Soap Opera Woman"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119505,
|
||||||
|
filter: "actor=119505",
|
||||||
|
tag: "Jeff Severson",
|
||||||
|
tagKey: "5d776835961905001eb93ce8",
|
||||||
|
role: "Soap Opera Man"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119506,
|
||||||
|
filter: "actor=119506",
|
||||||
|
tag: "Dan Lauria",
|
||||||
|
tagKey: "5d77682cf59e580021897bee",
|
||||||
|
role: "Janitor",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/d/people/d222064496a31fbcaa8992db0d2283dc.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119507,
|
||||||
|
filter: "actor=119507",
|
||||||
|
tag: "Corey Parker",
|
||||||
|
tagKey: "5d776835961905001eb93ce9",
|
||||||
|
role: "Janitor",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/3/people/3f539205130ec7b6729a7b4af0de2db9.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119508,
|
||||||
|
filter: "actor=119508",
|
||||||
|
tag: "Joe Maruzzo",
|
||||||
|
tagKey: "5d776835961905001eb93cea",
|
||||||
|
role: "Garbageman",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/people/5d776835961905001eb93cea.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119509,
|
||||||
|
filter: "actor=119509",
|
||||||
|
tag: "Tom Traino",
|
||||||
|
tagKey: "5d776835961905001eb93ceb",
|
||||||
|
role: "Garbageman"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119510,
|
||||||
|
filter: "actor=119510",
|
||||||
|
tag: "Corvova Choy Lee",
|
||||||
|
tagKey: "5d776835961905001eb93cec",
|
||||||
|
role: "Clothing Saleswoman"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119511,
|
||||||
|
filter: "actor=119511",
|
||||||
|
tag: "Ellen Barber",
|
||||||
|
tagKey: "5d776835961905001eb93ced",
|
||||||
|
role: "John's Secretary",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/8/people/8c94f4c0c043cdcbfb1ebdfdd5c3b7cc.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119512,
|
||||||
|
filter: "actor=119512",
|
||||||
|
tag: "Ethel Ayler",
|
||||||
|
tagKey: "5d7768276f4521001ea99134",
|
||||||
|
role: "Jewelry Saleswoman",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/6/people/6455789c1c3f3e7225a1274637a2d279.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119513,
|
||||||
|
filter: "actor=119513",
|
||||||
|
tag: "Elisabeth Senn",
|
||||||
|
tagKey: "5d776835961905001eb93cee",
|
||||||
|
role: "Perfume Lady"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119514,
|
||||||
|
filter: "actor=119514",
|
||||||
|
tag: "Gittan Goding",
|
||||||
|
tagKey: "5d776835961905001eb93cef",
|
||||||
|
role: "Dancer at Porno House"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119515,
|
||||||
|
filter: "actor=119515",
|
||||||
|
tag: "David M. Everard",
|
||||||
|
tagKey: "5d776835961905001eb93cf0",
|
||||||
|
role: "Bearded Man at Porno House"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119516,
|
||||||
|
filter: "actor=119516",
|
||||||
|
tag: "Luther Rucker",
|
||||||
|
tagKey: "5d776835961905001eb93cf1",
|
||||||
|
role: "Barker at Porno House"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119517,
|
||||||
|
filter: "actor=119517",
|
||||||
|
tag: "Merry Clayton",
|
||||||
|
tagKey: "5d77682b999c64001ec2d6c9",
|
||||||
|
role: "Background Vocal at Porno House",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/1/people/1a4a170d5cf2ba3eecacb9e54002e5c0.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119518,
|
||||||
|
filter: "actor=119518",
|
||||||
|
tag: "Kim Isaacson",
|
||||||
|
tagKey: "5d776835961905001eb93cf2",
|
||||||
|
role: "Gallery Guest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 255665,
|
||||||
|
filter: "actor=255665",
|
||||||
|
tag: "David Tabor",
|
||||||
|
tagKey: "5d776835961905001eb93cf3",
|
||||||
|
role: "Leon Berger"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Producer: [
|
||||||
|
{
|
||||||
|
id: 203257,
|
||||||
|
filter: "producer=203257",
|
||||||
|
tag: "Alan M. Harris",
|
||||||
|
tagKey: "5d77682f151a60001f24c92f",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/c/people/cb6864282bb169e153b82f642af74010.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119521,
|
||||||
|
filter: "producer=119521",
|
||||||
|
tag: "Sidney Kimmel",
|
||||||
|
tagKey: "5d776831103a2d001f566d79",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/5/people/533a50f9436f9ba20ecd5b0d164c374c.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119522,
|
||||||
|
filter: "producer=119522",
|
||||||
|
tag: "Zalman King",
|
||||||
|
tagKey: "5d77682ff54112001f5bcc2e",
|
||||||
|
thumb:
|
||||||
|
"https://metadata-static.plex.tv/5/people/57a351f9a4343dca762ee432544bf34e.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 119523,
|
||||||
|
filter: "producer=119523",
|
||||||
|
tag: "Antony Rufus-Isaacs",
|
||||||
|
tagKey: "5d776835961905001eb93cd6"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Similar: [
|
||||||
|
{ id: 16619, filter: "similar=16619", tag: "Wild Orchid" },
|
||||||
|
{ id: 16521, filter: "similar=16521", tag: "Fatal Attraction" },
|
||||||
|
{ id: 16522, filter: "similar=16522", tag: "Indecent Proposal" },
|
||||||
|
{ id: 16485, filter: "similar=16485", tag: "Striptease" },
|
||||||
|
{ id: 5014, filter: "similar=5014", tag: "Disclosure" },
|
||||||
|
{ id: 16434, filter: "similar=16434", tag: "Tequila Sunrise" },
|
||||||
|
{ id: 16614, filter: "similar=16614", tag: "No Way Out" },
|
||||||
|
{
|
||||||
|
id: 5641,
|
||||||
|
filter: "similar=5641",
|
||||||
|
tag: "The Jewel of the Nile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 16617,
|
||||||
|
filter: "similar=16617",
|
||||||
|
tag: "The Witches of Eastwick"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 16616,
|
||||||
|
filter: "similar=16616",
|
||||||
|
tag: "The Bonfire of the Vanities"
|
||||||
|
},
|
||||||
|
{ id: 16436, filter: "similar=16436", tag: "The Getaway" },
|
||||||
|
{ id: 16610, filter: "similar=16610", tag: "Cocktail" },
|
||||||
|
{ id: 12196, filter: "similar=12196", tag: "Working Girl" },
|
||||||
|
{ id: 16609, filter: "similar=16609", tag: "Blind Date" },
|
||||||
|
{
|
||||||
|
id: 46198,
|
||||||
|
filter: "similar=46198",
|
||||||
|
tag: "The War of the Roses"
|
||||||
|
},
|
||||||
|
{ id: 16484, filter: "similar=16484", tag: "Sliver" },
|
||||||
|
{
|
||||||
|
id: 46199,
|
||||||
|
filter: "similar=46199",
|
||||||
|
tag: "The Postman Always Rings Twice"
|
||||||
|
},
|
||||||
|
{ id: 5639, filter: "similar=5639", tag: "Romancing the Stone" },
|
||||||
|
{ id: 16615, filter: "similar=16615", tag: "Sea of Love" },
|
||||||
|
{ id: 16611, filter: "similar=16611", tag: "Frankie and Johnny" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
validateResponseSpec("/library/metadata/{ratingKey}", "get", 200, response)
|
||||||
|
})
|
||||||
|
it("should validate the 200 response when the response is from Episode", () => {
|
||||||
|
const response = {
|
||||||
|
MediaContainer: {
|
||||||
|
size: 1,
|
||||||
|
allowSync: true,
|
||||||
|
identifier: "com.plexapp.plugins.library",
|
||||||
|
librarySectionID: 6,
|
||||||
|
librarySectionTitle: "Movies (Documentaries)",
|
||||||
|
librarySectionUUID: "d6a09f3a-3027-4a2f-bb0d-14d6d2b93533",
|
||||||
|
mediaTagPrefix: "/system/bundle/media/flags/",
|
||||||
|
mediaTagVersion: 1734362201,
|
||||||
|
Metadata: [
|
||||||
|
{
|
||||||
|
ratingKey: "56939",
|
||||||
|
key: "/library/metadata/56939",
|
||||||
|
guid: "local://56939",
|
||||||
|
type: "movie",
|
||||||
|
title: "Boiling Point",
|
||||||
|
librarySectionTitle: "Movies (Documentaries)",
|
||||||
|
librarySectionID: 6,
|
||||||
|
librarySectionKey: "/library/sections/6",
|
||||||
|
summary: "",
|
||||||
|
year: 1999,
|
||||||
|
thumb: "/library/metadata/56939/thumb/1737312638",
|
||||||
|
art: "/library/metadata/56939/art/1737312638",
|
||||||
|
duration: 8109499,
|
||||||
|
addedAt: 1622054437,
|
||||||
|
updatedAt: 1737312638,
|
||||||
|
Media: [
|
||||||
|
{
|
||||||
|
id: 60981,
|
||||||
|
duration: 8109499,
|
||||||
|
bitrate: 11710,
|
||||||
|
width: 2880,
|
||||||
|
height: 2160,
|
||||||
|
aspectRatio: 1.33,
|
||||||
|
audioChannels: 2,
|
||||||
|
audioCodec: "aac",
|
||||||
|
videoCodec: "vp9",
|
||||||
|
videoResolution: "4k",
|
||||||
|
container: "mkv",
|
||||||
|
videoFrameRate: "PAL",
|
||||||
|
audioProfile: "lc",
|
||||||
|
videoProfile: "profile 0",
|
||||||
|
hasVoiceActivity: false,
|
||||||
|
Part: [
|
||||||
|
{
|
||||||
|
id: 92023,
|
||||||
|
key: "/library/parts/92023/1602116112/file.mkv",
|
||||||
|
duration: 8109499,
|
||||||
|
file: "/Movies (Documentaries)/Boiling Point (1999)/Boiling Point (1999) WEBDL-2160p.mkv",
|
||||||
|
size: 11874057616,
|
||||||
|
audioProfile: "lc",
|
||||||
|
container: "mkv",
|
||||||
|
indexes: "sd",
|
||||||
|
videoProfile: "profile 0",
|
||||||
|
Stream: [
|
||||||
|
{
|
||||||
|
id: 304223,
|
||||||
|
streamType: 1,
|
||||||
|
default: true,
|
||||||
|
codec: "vp9",
|
||||||
|
index: 0,
|
||||||
|
bitrate: 11582,
|
||||||
|
language: "English",
|
||||||
|
languageTag: "en",
|
||||||
|
languageCode: "eng",
|
||||||
|
bitDepth: 8,
|
||||||
|
chromaSubsampling: "4:2:0",
|
||||||
|
codedHeight: 2160,
|
||||||
|
codedWidth: 2880,
|
||||||
|
colorPrimaries: "bt709",
|
||||||
|
colorRange: "tv",
|
||||||
|
colorSpace: "bt709",
|
||||||
|
colorTrc: "bt709",
|
||||||
|
frameRate: 25.0,
|
||||||
|
height: 2160,
|
||||||
|
profile: "profile 0",
|
||||||
|
refFrames: 1,
|
||||||
|
width: 2880,
|
||||||
|
displayTitle: "4K",
|
||||||
|
extendedDisplayTitle: "4K (VP9)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 304224,
|
||||||
|
streamType: 2,
|
||||||
|
selected: true,
|
||||||
|
default: true,
|
||||||
|
codec: "aac",
|
||||||
|
index: 1,
|
||||||
|
channels: 2,
|
||||||
|
bitrate: 128,
|
||||||
|
language: "English",
|
||||||
|
languageTag: "en",
|
||||||
|
languageCode: "eng",
|
||||||
|
audioChannelLayout: "stereo",
|
||||||
|
profile: "lc",
|
||||||
|
samplingRate: 44100,
|
||||||
|
displayTitle: "English (AAC Stereo)",
|
||||||
|
extendedDisplayTitle: "English (AAC Stereo)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
Image: [
|
||||||
|
{
|
||||||
|
alt: "Boiling Point",
|
||||||
|
type: "coverPoster",
|
||||||
|
url: "/library/metadata/56939/thumb/1737312638"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
alt: "Boiling Point",
|
||||||
|
type: "background",
|
||||||
|
url: "/library/metadata/56939/art/1737312638"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
UltraBlurColors: {
|
||||||
|
topLeft: "421b15",
|
||||||
|
topRight: "170405",
|
||||||
|
bottomRight: "2a174e",
|
||||||
|
bottomLeft: "6f5b24"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
validateResponseSpec("/library/metadata/{ratingKey}", "get", 200, response)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user