## Go SDK Changes:

* `PlexApi.LibraryPlaylists.AddPlaylistItems()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetMetadataHubs()`: 
  *  `request.Request.OnlyTransient` **Changed**
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryCollections.MoveCollectionItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryCollections.DeleteCollectionItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryCollections.AddCollectionItems()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetSonicallySimilar()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Butler.StopTask()`:  `request.Request` **Changed** **Breaking** ⚠️
* `PlexApi.Butler.StartTask()`:  `request.Request` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetSonicPath()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.DownloadQueue.GetItemDecision()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetAllHubs()`: 
  *  `request.Request.OnlyTransient` **Changed**
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetContinueWatching()`:  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetPromotedHubs()`:  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetAllLeaves()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetPostplayHubs()`: 
  *  `request.Request.OnlyTransient` **Changed**
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetRelatedHubs()`: 
  *  `request.Request.OnlyTransient` **Changed**
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Hubs.GetSectionHubs()`: 
  *  `request.Request.OnlyTransient` **Changed**
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Content.ListContent()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetAlbums()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Search.SearchHubs()`:  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Search.VoiceSearchHubs()`: 
  *  `request.Request.Type` **Changed** **Breaking** ⚠️
  *  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetLibraryItems()`: 
  *  `request.Request.MediaQuery` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.IngestTransientItem()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetLibraryMatches()`: 
  *  `request.Request` **Changed** **Breaking** ⚠️
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetMetadataItem()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetSections()`:  `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.AddSection()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetTags()`: 
  *  `request.Request.Type` **Changed** **Breaking** ⚠️
* `PlexApi.Content.GetCollectionItems()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetAllItemLeaves()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Status.ListSessions()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.MovePlayQueueItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetExtras()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.DeletePlayQueueItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.Unshuffle()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.ListMatches()`: 
  *  `request.Request.Manual` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.ListSonicallySimilar()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.ResetPlayQueue()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetRelatedItems()`:  `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.ListSimilar()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.ClearPlayQueue()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetItemTree()`:  `response.MediaContainer.MetadataItem.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.AddToPlayQueue()`: 
  *  `request.Request.Next` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.GetPlayQueue()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.MovePlaylistItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetPerson()`:  `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.ListPersonMedia()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.GetPlaylistGeneratorItems()`:  `response.MediaContainer.Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetLibraryDetails()`: 
  *  `request.Request.IncludeDetails` **Changed**
  *  `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.ModifyPlaylistGenerator()`: 
  *  `request.Request.Item` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.Autocomplete()`: 
  *  `request.Request.MediaQuery` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetCollections()`: 
  *  `request.Request.MediaQuery` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.GetCommon()`: 
  *  `request.Request.MediaQuery` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.DeletePlaylistItem()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.ClearPlaylistItems()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.PlayQueue.Shuffle()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LibraryPlaylists.CreatePlaylist()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Playlist.GetPlaylistItems()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Playlist.GetPlaylist()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Collections.CreateCollection()`: 
  *  `request.Request.Type` **Changed** **Breaking** ⚠️
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.DvRs.TuneChannel()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LiveTv.GetSessions()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.LiveTv.GetLiveTvSession()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Playlist.ListPlaylists()`:  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.GetAllSubscriptions()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.CreateSubscription()`:  `response.MediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.GetScheduledRecordings()`:  `response.MediaContainer.MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.GetTemplate()`:  `response.MediaContainer.SubscriptionTemplate.[].MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.GetSubscription()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.EditSubscriptionPreferences()`:  `response.MediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Subscriptions.ReorderSubscription()`:  `response.MediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️
* `PlexApi.Transcoder.MakeDecision()`: 
  *  `request.Request` **Changed**
  *  `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️
* `PlexApi.Library.RefreshItemsMetadata()`: 
  *  `request.Request.MarkUpdated` **Changed**
* `PlexApi.Authentication.Post-Users-Sign-In-Data()`: **Added**
* `PlexApi.Transcoder.StartTranscodeSession()`:  `request.Request` **Changed**
* `PlexApi.Devices.ModifyDevice()`: 
  *  `request.Request.Enabled` **Changed**
* `PlexApi.Library.GetMediaPart()`: 
  *  `request.Request.Download` **Changed**
* `PlexApi.Library.DetectIntros()`: 
  *  `request.Request.Force` **Changed**
* `PlexApi.Library.RefreshSection()`: 
  *  `request.Request.Force` **Changed**
* `PlexApi.LibraryPlaylists.UploadPlaylist()`: 
  *  `request.Request.Force` **Changed**
* `PlexApi.Library.DeleteMediaItem()`: 
  *  `request.Request.Proxy` **Changed**
* `PlexApi.Authentication.GetTokenDetails()`: **Added**
* `PlexApi.Library.GetFirstCharacters()`: 
  *  `request.Request.MediaQuery` **Changed**
* `PlexApi.Library.UpdateItems()`: 
  *  `request.Request.Field.locked` **Changed**
* `PlexApi.Library.DeleteLibrarySection()`: 
  *  `request.Request.Async` **Changed**
* `PlexApi.Library.SetStreamSelection()`: 
  *  `request.Request.AllParts` **Changed**
* `PlexApi.PlayQueue.CreatePlayQueue()`:  `request.Request` **Changed**
* `PlexApi.Library.GetAugmentationStatus()`: 
  *  `request.Request.Wait` **Changed**
* `PlexApi.Library.DetectVoiceActivity()`:  `request.Request` **Changed**
* `PlexApi.Transcoder.TranscodeImage()`:  `request.Request` **Changed**
* `PlexApi.Transcoder.TranscodeSubtitles()`:  `request.Request` **Changed**
* `PlexApi.Library.AddSubtitles()`:  `request.Request` **Changed**
* `PlexApi.Library.GetStream()`: 
  *  `request.Request.AutoAdjustSubtitle` **Changed**
* `PlexApi.Library.StartBifGeneration()`: 
  *  `request.Request.Force` **Changed**
* `PlexApi.Library.DetectCredits()`:  `request.Request` **Changed**
* `PlexApi.UltraBlur.GetImage()`: 
  *  `request.Request.Noise` **Changed**
* `PlexApi.Library.GenerateThumbs()`: 
  *  `request.Request.Force` **Changed**
* `PlexApi.Updater.ApplyUpdates()`:  `request.Request` **Changed**
* `PlexApi.Updater.CheckUpdates()`: 
  *  `request.Request.Download` **Changed**
* `PlexApi.Library.DeleteMetadataItem()`: 
  *  `request.Request.Proxy` **Changed**
* `PlexApi.Library.OptimizeDatabase()`: 
  *  `request.Request.Async` **Changed**
* `PlexApi.Hubs.UpdateHubVisibility()`:  `request.Request` **Changed**
* `PlexApi.Hubs.CreateCustomHub()`:  `request.Request` **Changed**
* `PlexApi.Library.GetSectionImage()`: 
  *  `request.Request.MediaQuery` **Changed**
* `PlexApi.DownloadQueue.AddDownloadQueueItems()`:  `request.Request` **Changed**
* `PlexApi.Timeline.Report()`:  `request.Request` **Changed**
* `PlexApi.General.GetSourceConnectionInformation()`: 
  *  `request.Request.Refresh` **Changed**
* `PlexApi.Plex.Get-Server-Resources()`: **Added**
* `PlexApi.Users.Get-Users()`: **Added**
This commit is contained in:
speakeasybot
2025-12-01 00:15:28 +00:00
parent 3ca57c37e9
commit 3ae6d27c3c
273 changed files with 11257 additions and 2531 deletions

File diff suppressed because one or more lines are too long

View File

@@ -25,7 +25,7 @@ generation:
generateNewTests: false
skipResponseBodyAssertions: false
go:
version: 0.27.0
version: 0.28.0
additionalDependencies: {}
allowUnknownFieldsInWeakUnions: false
baseErrorName: PlexAPIError
@@ -41,14 +41,16 @@ go:
shared: models/components
webhooks: models/webhooks
includeEmptyObjects: false
inferUnionDiscriminators: false
inputModelSuffix: input
maxMethodParams: 4
methodArguments: require-security-and-request
modulePath: ""
multipartArrayFormat: legacy
nullableOptionalWrapper: false
outputModelSuffix: output
packageName: github.com/LukeHagar/plexgo
respectRequiredFields: false
responseFormat: envelope
sdkPackageName: ""
unionDeserializationStrategy: left-to-right
unionStrategy: left-to-right

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.656.1
speakeasyVersion: 1.665.0
sources:
my-source:
sourceNamespace: my-source
@@ -9,20 +9,20 @@ sources:
- main
plexapi:
sourceNamespace: plexapi
sourceRevisionDigest: sha256:56fc783b16af019db4eb0fe52df504315e8e7c7ae41e319a61bba8823f19df4b
sourceBlobDigest: sha256:b62613477fd824bb42cf0bf5d0f9980448259c9c7456e03ca6a10eef39a3994f
sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
tags:
- latest
- speakeasy-sdk-regen-1762992653
- speakeasy-sdk-regen-1764548025
- 1.1.1
targets:
plexgo:
source: plexapi
sourceNamespace: plexapi
sourceRevisionDigest: sha256:56fc783b16af019db4eb0fe52df504315e8e7c7ae41e319a61bba8823f19df4b
sourceBlobDigest: sha256:b62613477fd824bb42cf0bf5d0f9980448259c9c7456e03ca6a10eef39a3994f
sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
codeSamplesNamespace: code-samples-go-plexgo
codeSamplesRevisionDigest: sha256:6774f9c76b07cc1baeec3bfaab50b0770e51dc3b36da8ff5b92889168d5a538e
codeSamplesRevisionDigest: sha256:d79ec0f33d0e234749ae5970ad2528646cdd6ec28c7e8d7e29cc39b857f58cde
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest

121
README.md
View File

@@ -25,6 +25,7 @@
* [Server Selection](#server-selection)
* [Custom HTTP Client](#custom-http-client)
* [Authentication](#authentication)
* [Special Types](#special-types)
* [Development](#development)
* [Maturity](#maturity)
* [Contributions](#contributions)
@@ -80,13 +81,13 @@ func main() {
AdvancedSubtitles: components.AdvancedSubtitlesBurn.ToPointer(),
AudioBoost: plexgo.Pointer[int64](50),
AudioChannelCount: plexgo.Pointer[int64](5),
AutoAdjustQuality: components.BoolIntOne.ToPointer(),
AutoAdjustSubtitle: components.BoolIntOne.ToPointer(),
DirectPlay: components.BoolIntOne.ToPointer(),
DirectStream: components.BoolIntOne.ToPointer(),
DirectStreamAudio: components.BoolIntOne.ToPointer(),
DisableResolutionRotation: components.BoolIntOne.ToPointer(),
HasMDE: components.BoolIntOne.ToPointer(),
AutoAdjustQuality: components.BoolIntTrue.ToPointer(),
AutoAdjustSubtitle: components.BoolIntTrue.ToPointer(),
DirectPlay: components.BoolIntTrue.ToPointer(),
DirectStream: components.BoolIntTrue.ToPointer(),
DirectStreamAudio: components.BoolIntTrue.ToPointer(),
DisableResolutionRotation: components.BoolIntTrue.ToPointer(),
HasMDE: components.BoolIntTrue.ToPointer(),
Location: operations.StartTranscodeSessionQueryParamLocationWan.ToPointer(),
MediaBufferSize: plexgo.Pointer[int64](102400),
MediaIndex: plexgo.Pointer[int64](0),
@@ -127,6 +128,11 @@ func main() {
* [ListActivities](docs/sdks/activities/README.md#listactivities) - Get all activities
* [CancelActivity](docs/sdks/activities/README.md#cancelactivity) - Cancel a running activity
### [Authentication](docs/sdks/authentication/README.md)
* [GetTokenDetails](docs/sdks/authentication/README.md#gettokendetails) - Get Token Details
* [PostUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata) - Get User Sign In Data
### [Butler](docs/sdks/butler/README.md)
* [StopTasks](docs/sdks/butler/README.md#stoptasks) - Stop all Butler tasks
@@ -374,6 +380,10 @@ func main() {
* [DeletePlayQueueItem](docs/sdks/playqueue/README.md#deleteplayqueueitem) - Delete an item from a play queue
* [MovePlayQueueItem](docs/sdks/playqueue/README.md#moveplayqueueitem) - Move an item in a play queue
### [Plex](docs/sdks/plex/README.md)
* [GetServerResources](docs/sdks/plex/README.md#getserverresources) - Get Server Resources
### [Preferences](docs/sdks/preferences/README.md)
* [GetAllPreferences](docs/sdks/preferences/README.md#getallpreferences) - Get all preferences
@@ -443,6 +453,10 @@ func main() {
* [CheckUpdates](docs/sdks/updater/README.md#checkupdates) - Checking for updates
* [GetUpdatesStatus](docs/sdks/updater/README.md#getupdatesstatus) - Querying status of updates
### [Users](docs/sdks/users/README.md)
* [GetUsers](docs/sdks/users/README.md#getusers) - Get list of all connected users
</details>
<!-- End Available Resources and Operations [operations] -->
@@ -565,11 +579,13 @@ Handling errors in this SDK should largely match your expectations. All operatio
By Default, an API error will return `sdkerrors.SDKError`. When custom error responses are specified for an operation, the SDK may also return their associated error. You can refer to respective *Errors* tables in SDK docs for more details on possible error types for each operation.
For example, the `GetServerInfo` function may return the following errors:
For example, the `GetTokenDetails` function may return the following errors:
| Error Type | Status Code | Content Type |
| ------------------ | ----------- | ------------ |
| sdkerrors.SDKError | 4XX, 5XX | \*/\* |
| Error Type | Status Code | Content Type |
| ------------------------------------- | ----------- | ---------------- |
| sdkerrors.GetTokenDetailsBadRequest | 400 | application/json |
| sdkerrors.GetTokenDetailsUnauthorized | 401 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | \*/\* |
### Example
@@ -604,9 +620,21 @@ func main() {
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.General.GetServerInfo(ctx, operations.GetServerInfoRequest{})
res, err := s.Authentication.GetTokenDetails(ctx, operations.GetTokenDetailsRequest{})
if err != nil {
var e *sdkerrors.GetTokenDetailsBadRequest
if errors.As(err, &e) {
// handle error
log.Fatal(e.Error())
}
var e *sdkerrors.GetTokenDetailsUnauthorized
if errors.As(err, &e) {
// handle error
log.Fatal(e.Error())
}
var e *sdkerrors.SDKError
if errors.As(err, &e) {
// handle error
@@ -730,6 +758,49 @@ func main() {
}
}
```
### Override Server URL Per-Operation
The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example:
```go
package main
import (
"context"
"github.com/LukeHagar/plexgo"
"github.com/LukeHagar/plexgo/models/components"
"github.com/LukeHagar/plexgo/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithAccepts(components.AcceptsApplicationXML),
plexgo.WithClientIdentifier("abc123"),
plexgo.WithProduct("Plex for Roku"),
plexgo.WithVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithPlatformVersion("4.3 build 1057"),
plexgo.WithDevice("Roku 3"),
plexgo.WithModel("4200X"),
plexgo.WithDeviceVendor("Roku"),
plexgo.WithDeviceName("Living Room TV"),
plexgo.WithMarketplace("googlePlay"),
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Authentication.GetTokenDetails(ctx, operations.GetTokenDetailsRequest{}, operations.WithServerURL("https://plex.tv/api/v2"))
if err != nil {
log.Fatal(err)
}
if res.UserPlexAccount != nil {
// handle response
}
}
```
<!-- End Server Selection [server] -->
@@ -816,6 +887,32 @@ func main() {
```
<!-- End Authentication [security] -->
<!-- Start Special Types [types] -->
## Special Types
This SDK defines the following custom types to assist with marshalling and unmarshalling data.
### Date
`types.Date` is a wrapper around time.Time that allows for JSON marshaling a date string formatted as "2006-01-02".
#### Usage
```go
d1 := types.NewDate(time.Now()) // returns *types.Date
d2 := types.DateFromTime(time.Now()) // returns types.Date
d3, err := types.NewDateFromString("2019-01-01") // returns *types.Date, error
d4, err := types.DateFromString("2019-01-01") // returns types.Date, error
d5 := types.MustNewDateFromString("2019-01-01") // returns *types.Date and panics on error
d6 := types.MustDateFromString("2019-01-01") // returns types.Date and panics on error
```
<!-- End Special Types [types] -->
<!-- Placeholder for Future Speakeasy SDK Sections -->
# Development

View File

@@ -1243,3 +1243,13 @@ Based on:
- [go v0.27.0] .
### Releases
- [Go v0.27.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.27.0 - .
## 2025-12-01 00:13:26
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.665.0 (2.767.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.28.0] .
### Releases
- [Go v0.28.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.28.0 - .

View File

@@ -34,13 +34,13 @@ func main() {
AdvancedSubtitles: components.AdvancedSubtitlesBurn.ToPointer(),
AudioBoost: plexgo.Pointer[int64](50),
AudioChannelCount: plexgo.Pointer[int64](5),
AutoAdjustQuality: components.BoolIntOne.ToPointer(),
AutoAdjustSubtitle: components.BoolIntOne.ToPointer(),
DirectPlay: components.BoolIntOne.ToPointer(),
DirectStream: components.BoolIntOne.ToPointer(),
DirectStreamAudio: components.BoolIntOne.ToPointer(),
DisableResolutionRotation: components.BoolIntOne.ToPointer(),
HasMDE: components.BoolIntOne.ToPointer(),
AutoAdjustQuality: components.BoolIntTrue.ToPointer(),
AutoAdjustSubtitle: components.BoolIntTrue.ToPointer(),
DirectPlay: components.BoolIntTrue.ToPointer(),
DirectStream: components.BoolIntTrue.ToPointer(),
DirectStreamAudio: components.BoolIntTrue.ToPointer(),
DisableResolutionRotation: components.BoolIntTrue.ToPointer(),
HasMDE: components.BoolIntTrue.ToPointer(),
Location: operations.StartTranscodeSessionQueryParamLocationWan.ToPointer(),
MediaBufferSize: plexgo.Pointer[int64](102400),
MediaIndex: plexgo.Pointer[int64](0),

563
authentication.go Normal file
View File

@@ -0,0 +1,563 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
package plexgo
import (
"bytes"
"context"
"fmt"
"github.com/LukeHagar/plexgo/internal/config"
"github.com/LukeHagar/plexgo/internal/hooks"
"github.com/LukeHagar/plexgo/internal/utils"
"github.com/LukeHagar/plexgo/models/components"
"github.com/LukeHagar/plexgo/models/operations"
"github.com/LukeHagar/plexgo/models/sdkerrors"
"github.com/LukeHagar/plexgo/retry"
"net/http"
"net/url"
)
type Authentication struct {
rootSDK *PlexAPI
sdkConfiguration config.SDKConfiguration
hooks *hooks.Hooks
}
func newAuthentication(rootSDK *PlexAPI, sdkConfig config.SDKConfiguration, hooks *hooks.Hooks) *Authentication {
return &Authentication{
rootSDK: rootSDK,
sdkConfiguration: sdkConfig,
hooks: hooks,
}
}
// GetTokenDetails - Get Token Details
// Get the User data from the provided X-Plex-Token
func (s *Authentication) GetTokenDetails(ctx context.Context, request operations.GetTokenDetailsRequest, opts ...operations.Option) (*operations.GetTokenDetailsResponse, error) {
globals := operations.GetTokenDetailsGlobals{
Accepts: s.sdkConfiguration.Globals.Accepts,
ClientIdentifier: s.sdkConfiguration.Globals.ClientIdentifier,
Product: s.sdkConfiguration.Globals.Product,
Version: s.sdkConfiguration.Globals.Version,
Platform: s.sdkConfiguration.Globals.Platform,
PlatformVersion: s.sdkConfiguration.Globals.PlatformVersion,
Device: s.sdkConfiguration.Globals.Device,
Model: s.sdkConfiguration.Globals.Model,
DeviceVendor: s.sdkConfiguration.Globals.DeviceVendor,
DeviceName: s.sdkConfiguration.Globals.DeviceName,
Marketplace: s.sdkConfiguration.Globals.Marketplace,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
operations.SupportedOptionTimeout,
}
for _, opt := range opts {
if err := opt(&o, supportedOptions...); err != nil {
return nil, fmt.Errorf("error applying option: %w", err)
}
}
baseURL := utils.ReplaceParameters(operations.GetTokenDetailsServerList[0], map[string]string{})
if o.ServerURL != nil {
baseURL = *o.ServerURL
}
opURL, err := url.JoinPath(baseURL, "/user")
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
SDK: s.rootSDK,
SDKConfiguration: s.sdkConfiguration,
BaseURL: baseURL,
Context: ctx,
OperationID: "getTokenDetails",
OAuth2Scopes: nil,
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
}
if timeout != nil {
var cancel context.CancelFunc
ctx, cancel = context.WithTimeout(ctx, *timeout)
defer cancel()
}
req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil {
return nil, err
}
for k, v := range o.SetHeaders {
req.Header.Set(k, v)
}
globalRetryConfig := s.sdkConfiguration.RetryConfig
retryConfig := o.Retries
if retryConfig == nil {
if globalRetryConfig != nil {
retryConfig = globalRetryConfig
}
}
var httpRes *http.Response
if retryConfig != nil {
httpRes, err = utils.Retry(ctx, utils.Retries{
Config: retryConfig,
StatusCodes: []string{
"429",
"500",
"502",
"503",
"504",
},
}, func() (*http.Response, error) {
if req.Body != nil && req.Body != http.NoBody && req.GetBody != nil {
copyBody, err := req.GetBody()
if err != nil {
return nil, err
}
req.Body = copyBody
}
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
return nil, err
}
return nil, retry.Permanent(err)
}
httpRes, err := s.sdkConfiguration.Client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
}
return httpRes, err
})
if err != nil {
return nil, err
} else {
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
} else {
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, err
}
httpRes, err = s.sdkConfiguration.Client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
_httpRes, err := s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
} else if _httpRes != nil {
httpRes = _httpRes
}
} else {
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
}
res := &operations.GetTokenDetailsResponse{
StatusCode: httpRes.StatusCode,
ContentType: httpRes.Header.Get("Content-Type"),
RawResponse: httpRes,
}
switch {
case httpRes.StatusCode == 200:
switch {
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
var out components.UserPlexAccount
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
return nil, err
}
res.UserPlexAccount = &out
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
}
case httpRes.StatusCode == 400:
switch {
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
var out sdkerrors.GetTokenDetailsBadRequest
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
return nil, err
}
out.RawResponse = httpRes
return nil, &out
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
}
case httpRes.StatusCode == 401:
switch {
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
var out sdkerrors.GetTokenDetailsUnauthorized
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
return nil, err
}
out.RawResponse = httpRes
return nil, &out
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
}
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes)
}
return res, nil
}
// PostUsersSignInData - Get User Sign In Data
// Sign in user with username and password and return user data with Plex authentication token
func (s *Authentication) PostUsersSignInData(ctx context.Context, request operations.PostUsersSignInDataRequest, opts ...operations.Option) (*operations.PostUsersSignInDataResponse, error) {
globals := operations.PostUsersSignInDataGlobals{
Accepts: s.sdkConfiguration.Globals.Accepts,
ClientIdentifier: s.sdkConfiguration.Globals.ClientIdentifier,
Product: s.sdkConfiguration.Globals.Product,
Version: s.sdkConfiguration.Globals.Version,
Platform: s.sdkConfiguration.Globals.Platform,
PlatformVersion: s.sdkConfiguration.Globals.PlatformVersion,
Device: s.sdkConfiguration.Globals.Device,
Model: s.sdkConfiguration.Globals.Model,
DeviceVendor: s.sdkConfiguration.Globals.DeviceVendor,
DeviceName: s.sdkConfiguration.Globals.DeviceName,
Marketplace: s.sdkConfiguration.Globals.Marketplace,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
operations.SupportedOptionTimeout,
}
for _, opt := range opts {
if err := opt(&o, supportedOptions...); err != nil {
return nil, fmt.Errorf("error applying option: %w", err)
}
}
baseURL := utils.ReplaceParameters(operations.PostUsersSignInDataServerList[0], map[string]string{})
if o.ServerURL != nil {
baseURL = *o.ServerURL
}
opURL, err := url.JoinPath(baseURL, "/users/signin")
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
SDK: s.rootSDK,
SDKConfiguration: s.sdkConfiguration,
BaseURL: baseURL,
Context: ctx,
OperationID: "post-users-sign-in-data",
OAuth2Scopes: nil,
SecuritySource: nil,
}
bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "form", `request:"mediaType=application/x-www-form-urlencoded"`)
if err != nil {
return nil, err
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
}
if timeout != nil {
var cancel context.CancelFunc
ctx, cancel = context.WithTimeout(ctx, *timeout)
defer cancel()
}
req, err := http.NewRequestWithContext(ctx, "POST", opURL, bodyReader)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
if reqContentType != "" {
req.Header.Set("Content-Type", reqContentType)
}
utils.PopulateHeaders(ctx, req, request, globals)
for k, v := range o.SetHeaders {
req.Header.Set(k, v)
}
globalRetryConfig := s.sdkConfiguration.RetryConfig
retryConfig := o.Retries
if retryConfig == nil {
if globalRetryConfig != nil {
retryConfig = globalRetryConfig
}
}
var httpRes *http.Response
if retryConfig != nil {
httpRes, err = utils.Retry(ctx, utils.Retries{
Config: retryConfig,
StatusCodes: []string{
"429",
"500",
"502",
"503",
"504",
},
}, func() (*http.Response, error) {
if req.Body != nil && req.Body != http.NoBody && req.GetBody != nil {
copyBody, err := req.GetBody()
if err != nil {
return nil, err
}
req.Body = copyBody
}
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
return nil, err
}
return nil, retry.Permanent(err)
}
httpRes, err := s.sdkConfiguration.Client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
}
return httpRes, err
})
if err != nil {
return nil, err
} else {
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
} else {
req, err = s.hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, err
}
httpRes, err = s.sdkConfiguration.Client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
_httpRes, err := s.hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
} else if _httpRes != nil {
httpRes = _httpRes
}
} else {
httpRes, err = s.hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
}
res := &operations.PostUsersSignInDataResponse{
StatusCode: httpRes.StatusCode,
ContentType: httpRes.Header.Get("Content-Type"),
RawResponse: httpRes,
}
switch {
case httpRes.StatusCode == 201:
switch {
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
var out operations.PostUsersSignInDataUserPlexAccount
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
return nil, err
}
res.UserPlexAccount = &out
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
}
case httpRes.StatusCode == 400:
switch {
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
var out sdkerrors.PostUsersSignInDataBadRequest
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
return nil, err
}
out.RawResponse = httpRes
return nil, &out
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
}
case httpRes.StatusCode == 401:
switch {
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
var out sdkerrors.PostUsersSignInDataUnauthorized
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
return nil, err
}
out.RawResponse = httpRes
return nil, &out
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
}
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes)
}
return res, nil
}

View File

@@ -646,7 +646,7 @@ func (s *Butler) StopTask(ctx context.Context, request operations.StopTaskReques
} else {
baseURL = *o.ServerURL
}
opURL, err := utils.GenerateURL(ctx, baseURL, "/butler/{task}", request, globals)
opURL, err := utils.GenerateURL(ctx, baseURL, "/butler/{butlerTask}", request, globals)
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
@@ -849,7 +849,7 @@ func (s *Butler) StartTask(ctx context.Context, request operations.StartTaskRequ
} else {
baseURL = *o.ServerURL
}
opURL, err := utils.GenerateURL(ctx, baseURL, "/butler/{task}", request, globals)
opURL, err := utils.GenerateURL(ctx, baseURL, "/butler/{butlerTask}", request, globals)
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}

View File

@@ -333,9 +333,9 @@ actions:
PlayQueueItemID: plexgo.Pointer("123"),
Time: plexgo.Pointer[int64](0),
Duration: plexgo.Pointer[int64](10000),
Continuing: components.BoolIntOne.ToPointer(),
Continuing: components.BoolIntTrue.ToPointer(),
Updated: plexgo.Pointer[int64](14200000),
Offline: components.BoolIntOne.ToPointer(),
Offline: components.BoolIntTrue.ToPointer(),
TimeToFirstFrame: plexgo.Pointer[int64](1000),
TimeStalled: plexgo.Pointer[int64](1000),
Bandwidth: plexgo.Pointer[int64](100),
@@ -595,7 +595,7 @@ actions:
// handle response
}
}
- target: $["paths"]["/butler/{task}"]["delete"]
- target: $["paths"]["/butler/{butlerTask}"]["delete"]
update:
x-codeSamples:
- lang: go
@@ -630,7 +630,7 @@ actions:
)
res, err := s.Butler.StopTask(ctx, operations.StopTaskRequest{
Task: operations.TaskCleanOldBundles,
ButlerTask: operations.ButlerTaskCleanOldBundles,
})
if err != nil {
log.Fatal(err)
@@ -639,7 +639,7 @@ actions:
// handle response
}
}
- target: $["paths"]["/butler/{task}"]["post"]
- target: $["paths"]["/butler/{butlerTask}"]["post"]
update:
x-codeSamples:
- lang: go
@@ -674,7 +674,7 @@ actions:
)
res, err := s.Butler.StartTask(ctx, operations.StartTaskRequest{
Task: operations.PathParamTaskRefreshLocalMedia,
ButlerTask: operations.PathParamButlerTaskRefreshLocalMedia,
})
if err != nil {
log.Fatal(err)
@@ -799,13 +799,13 @@ actions:
AdvancedSubtitles: components.AdvancedSubtitlesBurn.ToPointer(),
AudioBoost: plexgo.Pointer[int64](50),
AudioChannelCount: plexgo.Pointer[int64](5),
AutoAdjustQuality: components.BoolIntOne.ToPointer(),
AutoAdjustSubtitle: components.BoolIntOne.ToPointer(),
DirectPlay: components.BoolIntOne.ToPointer(),
DirectStream: components.BoolIntOne.ToPointer(),
DirectStreamAudio: components.BoolIntOne.ToPointer(),
DisableResolutionRotation: components.BoolIntOne.ToPointer(),
HasMDE: components.BoolIntOne.ToPointer(),
AutoAdjustQuality: components.BoolIntTrue.ToPointer(),
AutoAdjustSubtitle: components.BoolIntTrue.ToPointer(),
DirectPlay: components.BoolIntTrue.ToPointer(),
DirectStream: components.BoolIntTrue.ToPointer(),
DirectStreamAudio: components.BoolIntTrue.ToPointer(),
DisableResolutionRotation: components.BoolIntTrue.ToPointer(),
HasMDE: components.BoolIntTrue.ToPointer(),
Location: components.LocationWan.ToPointer(),
MediaBufferSize: plexgo.Pointer[int64](102400),
MediaIndex: plexgo.Pointer[int64](0),
@@ -1145,7 +1145,7 @@ actions:
)
res, err := s.Hubs.GetAllHubs(ctx, operations.GetAllHubsRequest{
OnlyTransient: components.BoolIntOne.ToPointer(),
OnlyTransient: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -1280,7 +1280,7 @@ actions:
res, err := s.Hubs.GetMetadataHubs(ctx, operations.GetMetadataHubsRequest{
MetadataID: 605482,
OnlyTransient: components.BoolIntOne.ToPointer(),
OnlyTransient: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -1325,7 +1325,7 @@ actions:
res, err := s.Hubs.GetPostplayHubs(ctx, operations.GetPostplayHubsRequest{
MetadataID: 441419,
OnlyTransient: components.BoolIntOne.ToPointer(),
OnlyTransient: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -1370,7 +1370,7 @@ actions:
res, err := s.Hubs.GetRelatedHubs(ctx, operations.GetRelatedHubsRequest{
MetadataID: 8858,
OnlyTransient: components.BoolIntOne.ToPointer(),
OnlyTransient: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -1502,6 +1502,7 @@ actions:
res, err := s.Search.VoiceSearchHubs(ctx, operations.VoiceSearchHubsRequest{
Query: "<value>",
Type: components.MediaTypeTvShow.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -1546,7 +1547,7 @@ actions:
res, err := s.Hubs.GetSectionHubs(ctx, operations.GetSectionHubsRequest{
SectionID: 336924,
OnlyTransient: components.BoolIntOne.ToPointer(),
OnlyTransient: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -1680,9 +1681,9 @@ actions:
res, err := s.Hubs.CreateCustomHub(ctx, operations.CreateCustomHubRequest{
SectionID: 869922,
MetadataItemID: 703843,
PromotedToRecommended: components.BoolIntOne.ToPointer(),
PromotedToOwnHome: components.BoolIntOne.ToPointer(),
PromotedToSharedHome: components.BoolIntOne.ToPointer(),
PromotedToRecommended: components.BoolIntTrue.ToPointer(),
PromotedToOwnHome: components.BoolIntTrue.ToPointer(),
PromotedToSharedHome: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -1818,9 +1819,9 @@ actions:
res, err := s.Hubs.UpdateHubVisibility(ctx, operations.UpdateHubVisibilityRequest{
SectionID: 341650,
Identifier: "<value>",
PromotedToRecommended: components.BoolIntOne.ToPointer(),
PromotedToOwnHome: components.BoolIntOne.ToPointer(),
PromotedToSharedHome: components.BoolIntOne.ToPointer(),
PromotedToRecommended: components.BoolIntTrue.ToPointer(),
PromotedToOwnHome: components.BoolIntTrue.ToPointer(),
PromotedToSharedHome: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -1890,7 +1891,13 @@ actions:
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Library.GetLibraryItems(ctx, operations.GetLibraryItemsRequest{})
res, err := s.Library.GetLibraryItems(ctx, operations.GetLibraryItemsRequest{
MediaQuery: &components.MediaQuery{
Type: components.MediaTypeEpisode.ToPointer(),
SourceType: plexgo.Pointer[int64](2),
Sort: plexgo.Pointer("duration:desc,index"),
},
})
if err != nil {
log.Fatal(err)
}
@@ -1992,6 +1999,7 @@ actions:
res, err := s.Collections.CreateCollection(ctx, operations.CreateCollectionRequest{
SectionID: "<id>",
Type: components.MediaTypeTvShow.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -2261,8 +2269,8 @@ actions:
res, err := s.Library.IngestTransientItem(ctx, operations.IngestTransientItemRequest{
URL: plexgo.Pointer("file:///storage%2Femulated%2F0%2FArcher-S01E01.mkv"),
VirtualFilePath: plexgo.Pointer("/Avatar.mkv"),
ComputeHashes: components.BoolIntOne.ToPointer(),
IngestNonMatches: components.BoolIntOne.ToPointer(),
ComputeHashes: components.BoolIntTrue.ToPointer(),
IngestNonMatches: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -2306,9 +2314,10 @@ actions:
)
res, err := s.Library.GetLibraryMatches(ctx, operations.GetLibraryMatchesRequest{
IncludeFullMetadata: components.BoolIntOne.ToPointer(),
IncludeAncestorMetadata: components.BoolIntOne.ToPointer(),
IncludeAlternateMetadataSources: components.BoolIntOne.ToPointer(),
Type: components.MediaTypeTvShow.ToPointer(),
IncludeFullMetadata: components.BoolIntTrue.ToPointer(),
IncludeAncestorMetadata: components.BoolIntTrue.ToPointer(),
IncludeAlternateMetadataSources: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -2398,7 +2407,7 @@ actions:
res, err := s.Library.GetAugmentationStatus(ctx, operations.GetAugmentationStatusRequest{
AugmentationID: "<id>",
Wait: components.BoolIntOne.ToPointer(),
Wait: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -2443,7 +2452,7 @@ actions:
res, err := s.Library.DeleteMetadataItem(ctx, operations.DeleteMetadataItemRequest{
Ids: "<value>",
Proxy: components.BoolIntOne.ToPointer(),
Proxy: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -2488,14 +2497,14 @@ actions:
res, err := s.Content.GetMetadataItem(ctx, operations.GetMetadataItemRequest{
Ids: []string{},
AsyncCheckFiles: components.BoolIntOne.ToPointer(),
AsyncRefreshLocalMediaAgent: components.BoolIntOne.ToPointer(),
AsyncRefreshAnalysis: components.BoolIntOne.ToPointer(),
CheckFiles: components.BoolIntOne.ToPointer(),
SkipRefresh: components.BoolIntOne.ToPointer(),
CheckFileAvailability: components.BoolIntOne.ToPointer(),
AsyncAugmentMetadata: components.BoolIntOne.ToPointer(),
AugmentCount: components.BoolIntOne.ToPointer(),
AsyncCheckFiles: components.BoolIntTrue.ToPointer(),
AsyncRefreshLocalMediaAgent: components.BoolIntTrue.ToPointer(),
AsyncRefreshAnalysis: components.BoolIntTrue.ToPointer(),
CheckFiles: components.BoolIntTrue.ToPointer(),
SkipRefresh: components.BoolIntTrue.ToPointer(),
CheckFileAvailability: components.BoolIntTrue.ToPointer(),
AsyncAugmentMetadata: components.BoolIntTrue.ToPointer(),
AugmentCount: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -2719,7 +2728,7 @@ actions:
res, err := s.Library.GenerateThumbs(ctx, operations.GenerateThumbsRequest{
Ids: "<value>",
Force: components.BoolIntOne.ToPointer(),
Force: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -2764,8 +2773,8 @@ actions:
res, err := s.Library.DetectCredits(ctx, operations.DetectCreditsRequest{
Ids: "<value>",
Force: components.BoolIntOne.ToPointer(),
Manual: components.BoolIntOne.ToPointer(),
Force: components.BoolIntTrue.ToPointer(),
Manual: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -2943,7 +2952,7 @@ actions:
res, err := s.Library.StartBifGeneration(ctx, operations.StartBifGenerationRequest{
Ids: "<value>",
Force: components.BoolIntOne.ToPointer(),
Force: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -2988,7 +2997,7 @@ actions:
res, err := s.Library.DetectIntros(ctx, operations.DetectIntrosRequest{
Ids: "<value>",
Force: components.BoolIntOne.ToPointer(),
Force: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -3217,7 +3226,7 @@ actions:
res, err := s.Library.ListMatches(ctx, operations.ListMatchesRequest{
Ids: "<value>",
Manual: components.BoolIntOne.ToPointer(),
Manual: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -3263,7 +3272,7 @@ actions:
res, err := s.Library.DeleteMediaItem(ctx, operations.DeleteMediaItemRequest{
Ids: "<value>",
MediaItem: "<value>",
Proxy: components.BoolIntOne.ToPointer(),
Proxy: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -3440,7 +3449,7 @@ actions:
res, err := s.Library.RefreshItemsMetadata(ctx, operations.RefreshItemsMetadataRequest{
Ids: "<value>",
MarkUpdated: components.BoolIntOne.ToPointer(),
MarkUpdated: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -3617,8 +3626,8 @@ actions:
res, err := s.Library.AddSubtitles(ctx, operations.AddSubtitlesRequest{
Ids: "<value>",
Forced: components.BoolIntOne.ToPointer(),
HearingImpaired: components.BoolIntOne.ToPointer(),
Forced: components.BoolIntTrue.ToPointer(),
HearingImpaired: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -3795,8 +3804,8 @@ actions:
res, err := s.Library.DetectVoiceActivity(ctx, operations.DetectVoiceActivityRequest{
Ids: "<value>",
Force: components.BoolIntOne.ToPointer(),
Manual: components.BoolIntOne.ToPointer(),
Force: components.BoolIntTrue.ToPointer(),
Manual: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -3976,7 +3985,7 @@ actions:
)
res, err := s.Library.OptimizeDatabase(ctx, operations.OptimizeDatabaseRequest{
Async: components.BoolIntOne.ToPointer(),
Async: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -4021,7 +4030,7 @@ actions:
res, err := s.Library.SetStreamSelection(ctx, operations.SetStreamSelectionRequest{
PartID: 360489,
AllParts: components.BoolIntOne.ToPointer(),
AllParts: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -4159,7 +4168,7 @@ actions:
PartID: 877105,
Changestamp: 970622,
Filename: "example.file",
Download: components.BoolIntOne.ToPointer(),
Download: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -4376,8 +4385,8 @@ actions:
"O:\fatboy\\Media\\My Music",
},
Prefs: &operations.QueryParamPrefs{},
Relative: components.BoolIntOne.ToPointer(),
ImportFromiTunes: components.BoolIntOne.ToPointer(),
Relative: components.BoolIntTrue.ToPointer(),
ImportFromiTunes: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -4537,7 +4546,7 @@ actions:
res, err := s.Library.DeleteLibrarySection(ctx, operations.DeleteLibrarySectionRequest{
SectionID: "<id>",
Async: components.BoolIntOne.ToPointer(),
Async: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -4582,7 +4591,7 @@ actions:
res, err := s.Library.GetLibraryDetails(ctx, operations.GetLibraryDetailsRequest{
SectionID: "<id>",
IncludeDetails: components.BoolIntOne.ToPointer(),
IncludeDetails: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -4720,6 +4729,13 @@ actions:
)
res, err := s.Content.ListContent(ctx, operations.ListContentRequest{
MediaQuery: &components.MediaQuery{
Type: components.MediaTypeEpisode.ToPointer(),
SourceType: plexgo.Pointer[int64](2),
Sort: plexgo.Pointer("duration:desc,index"),
},
IncludeMeta: components.BoolIntTrue.ToPointer(),
IncludeGuids: components.BoolIntTrue.ToPointer(),
SectionID: "<id>",
})
if err != nil {
@@ -4765,7 +4781,7 @@ actions:
res, err := s.Library.UpdateItems(ctx, operations.UpdateItemsRequest{
SectionID: "<id>",
FieldLocked: components.BoolIntOne.ToPointer(),
FieldLocked: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -4942,6 +4958,11 @@ actions:
res, err := s.Library.Autocomplete(ctx, operations.AutocompleteRequest{
SectionID: 942007,
MediaQuery: &components.MediaQuery{
Type: components.MediaTypeEpisode.ToPointer(),
SourceType: plexgo.Pointer[int64](2),
Sort: plexgo.Pointer("duration:desc,index"),
},
})
if err != nil {
log.Fatal(err)
@@ -5119,6 +5140,11 @@ actions:
res, err := s.Library.GetCollections(ctx, operations.GetCollectionsRequest{
SectionID: 348838,
MediaQuery: &components.MediaQuery{
Type: components.MediaTypeEpisode.ToPointer(),
SourceType: plexgo.Pointer[int64](2),
Sort: plexgo.Pointer("duration:desc,index"),
},
})
if err != nil {
log.Fatal(err)
@@ -5163,6 +5189,11 @@ actions:
res, err := s.Library.GetCommon(ctx, operations.GetCommonRequest{
SectionID: 298154,
MediaQuery: &components.MediaQuery{
Type: components.MediaTypeEpisode.ToPointer(),
SourceType: plexgo.Pointer[int64](2),
Sort: plexgo.Pointer("duration:desc,index"),
},
})
if err != nil {
log.Fatal(err)
@@ -5208,6 +5239,11 @@ actions:
res, err := s.Library.GetSectionImage(ctx, operations.GetSectionImageRequest{
SectionID: 925611,
UpdatedAt: 117413,
MediaQuery: &components.MediaQuery{
Type: components.MediaTypeEpisode.ToPointer(),
SourceType: plexgo.Pointer[int64](2),
Sort: plexgo.Pointer("duration:desc,index"),
},
})
if err != nil {
log.Fatal(err)
@@ -5386,6 +5422,11 @@ actions:
res, err := s.Library.GetFirstCharacters(ctx, operations.GetFirstCharactersRequest{
SectionID: 3947,
MediaQuery: &components.MediaQuery{
Type: components.MediaTypeEpisode.ToPointer(),
SourceType: plexgo.Pointer[int64](2),
Sort: plexgo.Pointer("duration:desc,index"),
},
})
if err != nil {
log.Fatal(err)
@@ -5784,7 +5825,7 @@ actions:
res, err := s.Library.RefreshSection(ctx, operations.RefreshSectionRequest{
SectionID: 450300,
Force: components.BoolIntOne.ToPointer(),
Force: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -5919,7 +5960,7 @@ actions:
res, err := s.Library.GetStream(ctx, operations.GetStreamRequest{
StreamID: 314506,
Ext: "<value>",
AutoAdjustSubtitle: components.BoolIntOne.ToPointer(),
AutoAdjustSubtitle: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -6095,7 +6136,9 @@ actions:
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Library.GetTags(ctx, operations.GetTagsRequest{})
res, err := s.Library.GetTags(ctx, operations.GetTagsRequest{
Type: components.MediaTypeTvShow.ToPointer(),
})
if err != nil {
log.Fatal(err)
}
@@ -7605,7 +7648,7 @@ actions:
res, err := s.Devices.ModifyDevice(ctx, operations.ModifyDeviceRequest{
DeviceID: 879135,
Enabled: components.BoolIntOne.ToPointer(),
Enabled: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -8123,8 +8166,8 @@ actions:
)
res, err := s.Subscriptions.GetAllSubscriptions(ctx, operations.GetAllSubscriptionsRequest{
IncludeGrabs: components.BoolIntOne.ToPointer(),
IncludeStorage: components.BoolIntOne.ToPointer(),
IncludeGrabs: components.BoolIntTrue.ToPointer(),
IncludeStorage: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -8364,8 +8407,8 @@ actions:
res, err := s.Subscriptions.GetSubscription(ctx, operations.GetSubscriptionRequest{
SubscriptionID: 186713,
IncludeGrabs: components.BoolIntOne.ToPointer(),
IncludeStorage: components.BoolIntOne.ToPointer(),
IncludeGrabs: components.BoolIntTrue.ToPointer(),
IncludeStorage: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -8500,9 +8543,9 @@ actions:
res, err := s.Transcoder.TranscodeImage(ctx, operations.TranscodeImageRequest{
URL: plexgo.Pointer("/library/metadata/265/thumb/1715112705"),
Background: plexgo.Pointer("#ff5522"),
Upscale: components.BoolIntOne.ToPointer(),
MinSize: components.BoolIntOne.ToPointer(),
Rotate: components.BoolIntOne.ToPointer(),
Upscale: components.BoolIntTrue.ToPointer(),
MinSize: components.BoolIntTrue.ToPointer(),
Rotate: components.BoolIntTrue.ToPointer(),
BlendColor: plexgo.Pointer("#ff5522"),
})
if err != nil {
@@ -8548,11 +8591,11 @@ actions:
res, err := s.PlayQueue.CreatePlayQueue(ctx, operations.CreatePlayQueueRequest{
Type: operations.TypeAudio,
Shuffle: components.BoolIntOne.ToPointer(),
Repeat: components.BoolIntOne.ToPointer(),
Continuous: components.BoolIntOne.ToPointer(),
Recursive: components.BoolIntOne.ToPointer(),
OnDeck: components.BoolIntOne.ToPointer(),
Shuffle: components.BoolIntTrue.ToPointer(),
Repeat: components.BoolIntTrue.ToPointer(),
Continuous: components.BoolIntTrue.ToPointer(),
Recursive: components.BoolIntTrue.ToPointer(),
OnDeck: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -8597,9 +8640,9 @@ actions:
res, err := s.PlayQueue.GetPlayQueue(ctx, operations.GetPlayQueueRequest{
PlayQueueID: 210646,
Own: components.BoolIntOne.ToPointer(),
IncludeBefore: components.BoolIntOne.ToPointer(),
IncludeAfter: components.BoolIntOne.ToPointer(),
Own: components.BoolIntTrue.ToPointer(),
IncludeBefore: components.BoolIntTrue.ToPointer(),
IncludeAfter: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -8644,7 +8687,7 @@ actions:
res, err := s.PlayQueue.AddToPlayQueue(ctx, operations.AddToPlayQueueRequest{
PlayQueueID: 919248,
Next: components.BoolIntOne.ToPointer(),
Next: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -9039,7 +9082,7 @@ actions:
res, err := s.LibraryPlaylists.UploadPlaylist(ctx, operations.UploadPlaylistRequest{
Path: plexgo.Pointer("/home/barkley/playlist.m3u"),
Force: components.BoolIntOne.ToPointer(),
Force: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -9491,7 +9534,6 @@ actions:
Policy: &operations.Policy{
Value: plexgo.Pointer[int64](),
Scope: operations.QueryParamScopeAll.ToPointer(),
Unwatched: components.BoolIntZero.ToPointer(),
},
Target: plexgo.Pointer(""),
TargetTagID: plexgo.Pointer[int64](1),
@@ -9643,6 +9685,43 @@ actions:
// handle response
}
}
- target: $["paths"]["/resources"]["get"]
update:
x-codeSamples:
- lang: go
label: PlexGO
source: |-
package main
import(
"context"
"github.com/LukeHagar/plexgo/models/components"
"github.com/LukeHagar/plexgo"
"github.com/LukeHagar/plexgo/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithAccepts(components.AcceptsApplicationXML),
plexgo.WithClientIdentifier("abc123"),
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Plex.GetServerResources(ctx, operations.GetServerResourcesRequest{
IncludeHTTPS: operations.IncludeHTTPSTrue.ToPointer(),
IncludeRelay: operations.IncludeRelayTrue.ToPointer(),
IncludeIPv6: operations.IncludeIPv6True.ToPointer(),
})
if err != nil {
log.Fatal(err)
}
if res.PlexDevices != nil {
// handle response
}
}
- target: $["paths"]["/security/resources"]["get"]
update:
x-codeSamples:
@@ -9679,7 +9758,7 @@ actions:
res, err := s.General.GetSourceConnectionInformation(ctx, operations.GetSourceConnectionInformationRequest{
Source: "<value>",
Refresh: components.BoolIntOne.ToPointer(),
Refresh: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -9818,7 +9897,7 @@ actions:
BottomLeft: plexgo.Pointer("1c425d"),
Width: plexgo.Pointer[int64](1920),
Height: plexgo.Pointer[int64](1080),
Noise: components.BoolIntOne.ToPointer(),
Noise: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -10121,8 +10200,8 @@ actions:
)
res, err := s.Updater.ApplyUpdates(ctx, operations.ApplyUpdatesRequest{
Tonight: components.BoolIntOne.ToPointer(),
Skip: components.BoolIntOne.ToPointer(),
Tonight: components.BoolIntTrue.ToPointer(),
Skip: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -10166,7 +10245,7 @@ actions:
)
res, err := s.Updater.CheckUpdates(ctx, operations.CheckUpdatesRequest{
Download: components.BoolIntOne.ToPointer(),
Download: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
@@ -10204,6 +10283,137 @@ actions:
// handle response
}
}
- target: $["paths"]["/user"]["get"]
update:
x-codeSamples:
- lang: go
label: PlexGO
source: |-
package main
import(
"context"
"github.com/LukeHagar/plexgo/models/components"
"github.com/LukeHagar/plexgo"
"github.com/LukeHagar/plexgo/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithAccepts(components.AcceptsApplicationXML),
plexgo.WithClientIdentifier("abc123"),
plexgo.WithProduct("Plex for Roku"),
plexgo.WithVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithPlatformVersion("4.3 build 1057"),
plexgo.WithDevice("Roku 3"),
plexgo.WithModel("4200X"),
plexgo.WithDeviceVendor("Roku"),
plexgo.WithDeviceName("Living Room TV"),
plexgo.WithMarketplace("googlePlay"),
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Authentication.GetTokenDetails(ctx, operations.GetTokenDetailsRequest{})
if err != nil {
log.Fatal(err)
}
if res.UserPlexAccount != nil {
// handle response
}
}
- target: $["paths"]["/users"]["get"]
update:
x-codeSamples:
- lang: go
label: PlexGO
source: |-
package main
import(
"context"
"github.com/LukeHagar/plexgo/models/components"
"github.com/LukeHagar/plexgo"
"github.com/LukeHagar/plexgo/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithAccepts(components.AcceptsApplicationXML),
plexgo.WithClientIdentifier("abc123"),
plexgo.WithProduct("Plex for Roku"),
plexgo.WithVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithPlatformVersion("4.3 build 1057"),
plexgo.WithDevice("Roku 3"),
plexgo.WithModel("4200X"),
plexgo.WithDeviceVendor("Roku"),
plexgo.WithDeviceName("Living Room TV"),
plexgo.WithMarketplace("googlePlay"),
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Users.GetUsers(ctx, operations.GetUsersRequest{})
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
- target: $["paths"]["/users/signin"]["post"]
update:
x-codeSamples:
- lang: go
label: PlexGO
source: |-
package main
import(
"context"
"github.com/LukeHagar/plexgo/models/components"
"github.com/LukeHagar/plexgo"
"github.com/LukeHagar/plexgo/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithAccepts(components.AcceptsApplicationXML),
plexgo.WithClientIdentifier("abc123"),
plexgo.WithProduct("Plex for Roku"),
plexgo.WithVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithPlatformVersion("4.3 build 1057"),
plexgo.WithDevice("Roku 3"),
plexgo.WithModel("4200X"),
plexgo.WithDeviceVendor("Roku"),
plexgo.WithDeviceName("Living Room TV"),
plexgo.WithMarketplace("googlePlay"),
)
res, err := s.Authentication.PostUsersSignInData(ctx, operations.PostUsersSignInDataRequest{
RequestBody: &operations.PostUsersSignInDataRequestBody{
Login: "username@email.com",
Password: "password123",
VerificationCode: plexgo.Pointer("123456"),
},
})
if err != nil {
log.Fatal(err)
}
if res.UserPlexAccount != nil {
// handle response
}
}
- target: $["paths"]["/{transcodeType}/:/transcode/universal/decision"]["get"]
update:
x-codeSamples:
@@ -10243,13 +10453,13 @@ actions:
AdvancedSubtitles: components.AdvancedSubtitlesBurn.ToPointer(),
AudioBoost: plexgo.Pointer[int64](50),
AudioChannelCount: plexgo.Pointer[int64](5),
AutoAdjustQuality: components.BoolIntOne.ToPointer(),
AutoAdjustSubtitle: components.BoolIntOne.ToPointer(),
DirectPlay: components.BoolIntOne.ToPointer(),
DirectStream: components.BoolIntOne.ToPointer(),
DirectStreamAudio: components.BoolIntOne.ToPointer(),
DisableResolutionRotation: components.BoolIntOne.ToPointer(),
HasMDE: components.BoolIntOne.ToPointer(),
AutoAdjustQuality: components.BoolIntTrue.ToPointer(),
AutoAdjustSubtitle: components.BoolIntTrue.ToPointer(),
DirectPlay: components.BoolIntTrue.ToPointer(),
DirectStream: components.BoolIntTrue.ToPointer(),
DirectStreamAudio: components.BoolIntTrue.ToPointer(),
DisableResolutionRotation: components.BoolIntTrue.ToPointer(),
HasMDE: components.BoolIntTrue.ToPointer(),
Location: operations.LocationWan.ToPointer(),
MediaBufferSize: plexgo.Pointer[int64](102400),
MediaIndex: plexgo.Pointer[int64](0),
@@ -10359,13 +10569,13 @@ actions:
AdvancedSubtitles: components.AdvancedSubtitlesBurn.ToPointer(),
AudioBoost: plexgo.Pointer[int64](50),
AudioChannelCount: plexgo.Pointer[int64](5),
AutoAdjustQuality: components.BoolIntOne.ToPointer(),
AutoAdjustSubtitle: components.BoolIntOne.ToPointer(),
DirectPlay: components.BoolIntOne.ToPointer(),
DirectStream: components.BoolIntOne.ToPointer(),
DirectStreamAudio: components.BoolIntOne.ToPointer(),
DisableResolutionRotation: components.BoolIntOne.ToPointer(),
HasMDE: components.BoolIntOne.ToPointer(),
AutoAdjustQuality: components.BoolIntTrue.ToPointer(),
AutoAdjustSubtitle: components.BoolIntTrue.ToPointer(),
DirectPlay: components.BoolIntTrue.ToPointer(),
DirectStream: components.BoolIntTrue.ToPointer(),
DirectStreamAudio: components.BoolIntTrue.ToPointer(),
DisableResolutionRotation: components.BoolIntTrue.ToPointer(),
HasMDE: components.BoolIntTrue.ToPointer(),
Location: operations.StartTranscodeSessionQueryParamLocationWan.ToPointer(),
MediaBufferSize: plexgo.Pointer[int64](102400),
MediaIndex: plexgo.Pointer[int64](0),
@@ -10430,13 +10640,13 @@ actions:
AdvancedSubtitles: components.AdvancedSubtitlesBurn.ToPointer(),
AudioBoost: plexgo.Pointer[int64](50),
AudioChannelCount: plexgo.Pointer[int64](5),
AutoAdjustQuality: components.BoolIntOne.ToPointer(),
AutoAdjustSubtitle: components.BoolIntOne.ToPointer(),
DirectPlay: components.BoolIntOne.ToPointer(),
DirectStream: components.BoolIntOne.ToPointer(),
DirectStreamAudio: components.BoolIntOne.ToPointer(),
DisableResolutionRotation: components.BoolIntOne.ToPointer(),
HasMDE: components.BoolIntOne.ToPointer(),
AutoAdjustQuality: components.BoolIntTrue.ToPointer(),
AutoAdjustSubtitle: components.BoolIntTrue.ToPointer(),
DirectPlay: components.BoolIntTrue.ToPointer(),
DirectStream: components.BoolIntTrue.ToPointer(),
DirectStreamAudio: components.BoolIntTrue.ToPointer(),
DisableResolutionRotation: components.BoolIntTrue.ToPointer(),
HasMDE: components.BoolIntTrue.ToPointer(),
Location: operations.QueryParamLocationWan.ToPointer(),
MediaBufferSize: plexgo.Pointer[int64](102400),
MediaIndex: plexgo.Pointer[int64](0),

View File

@@ -102,7 +102,7 @@ func (s *Collections) CreateCollection(ctx context.Context, request operations.C
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}

View File

@@ -324,7 +324,7 @@ func (s *Content) GetMetadataItem(ctx context.Context, request operations.GetMet
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}
@@ -772,7 +772,7 @@ func (s *Content) ListContent(ctx context.Context, request operations.ListConten
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}
@@ -1883,7 +1883,7 @@ func (s *Content) GetSonicPath(ctx context.Context, request operations.GetSonicP
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}
@@ -2550,7 +2550,7 @@ func (s *Content) GetSonicallySimilar(ctx context.Context, request operations.Ge
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}
@@ -2775,7 +2775,7 @@ func (s *Content) GetCollectionImage(ctx context.Context, request operations.Get
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}

View File

@@ -137,7 +137,7 @@ func (s *Devices) GetAvailableGrabbers(ctx context.Context, request operations.G
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}
@@ -571,7 +571,7 @@ func (s *Devices) AddDevice(ctx context.Context, request operations.AddDeviceReq
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}
@@ -1451,7 +1451,7 @@ func (s *Devices) ModifyDevice(ctx context.Context, request operations.ModifyDev
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}
@@ -1680,7 +1680,7 @@ func (s *Devices) SetChannelmap(ctx context.Context, request operations.SetChann
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}
@@ -2130,7 +2130,7 @@ func (s *Devices) SetDevicePreferences(ctx context.Context, request operations.S
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}
@@ -2556,7 +2556,7 @@ func (s *Devices) Scan(ctx context.Context, request operations.ScanRequest, opts
utils.PopulateHeaders(ctx, req, request, globals)
if err := utils.PopulateQueryParams(ctx, req, request, globals); err != nil {
if err := utils.PopulateQueryParams(ctx, req, request, globals, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
}

View File

@@ -0,0 +1,12 @@
# AutoSelectSubtitle
The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
## Values
| Name | Value |
| ----------------------------------------- | ----------------------------------------- |
| `AutoSelectSubtitleManuallySelected` | 0 |
| `AutoSelectSubtitleShownWithForeignAudio` | 1 |
| `AutoSelectSubtitleAlwaysEnabled` | 2 |

View File

@@ -3,7 +3,7 @@
## Values
| Name | Value |
| ------------- | ------------- |
| `BoolIntZero` | 0 |
| `BoolIntOne` | 1 |
| Name | Value |
| -------------- | -------------- |
| `BoolIntFalse` | 0 |
| `BoolIntTrue` | 1 |

View File

@@ -0,0 +1,14 @@
# Connections
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `Protocol` | [components.PlexDeviceProtocol](../../models/components/plexdeviceprotocol.md) | :heavy_check_mark: | The protocol used for the connection (http, https, etc) | http |
| `Address` | *string* | :heavy_check_mark: | The (ip) address or domain name used for the connection | |
| `Port` | *int* | :heavy_check_mark: | The port used for the connection | |
| `URI` | *string* | :heavy_check_mark: | The full URI of the connection | |
| `Local` | *bool* | :heavy_check_mark: | If the connection is local address | |
| `Relay` | *bool* | :heavy_check_mark: | If the connection is relayed through plex.direct | |
| `IPv6` | *bool* | :heavy_check_mark: | If the connection is using IPv6 | |

View File

@@ -0,0 +1,13 @@
# DefaultAudioAccessibility
The audio accessibility mode (0 = Prefer non-accessibility audio, 1 = Prefer accessibility audio, 2 = Only show accessibility audio, 3 = Only show non-accessibility audio)
## Values
| Name | Value |
| ------------------------------------------------- | ------------------------------------------------- |
| `DefaultAudioAccessibilityPreferNonAccessibility` | 0 |
| `DefaultAudioAccessibilityPreferAccessibility` | 1 |
| `DefaultAudioAccessibilityOnlyAccessibility` | 2 |
| `DefaultAudioAccessibilityOnlyNonAccessibility` | 3 |

View File

@@ -0,0 +1,13 @@
# DefaultSubtitleAccessibility
The subtitles for the deaf or hard-of-hearing (SDH) searches mode (0 = Prefer non-SDH subtitles, 1 = Prefer SDH subtitles, 2 = Only show SDH subtitles, 3 = Only show non-SDH subtitles)
## Values
| Name | Value |
| ------------------------------------------ | ------------------------------------------ |
| `DefaultSubtitleAccessibilityPreferNonSdh` | 0 |
| `DefaultSubtitleAccessibilityPreferSdh` | 1 |
| `DefaultSubtitleAccessibilityOnlySdh` | 2 |
| `DefaultSubtitleAccessibilityOnlyNonSdh` | 3 |

View File

@@ -0,0 +1,13 @@
# DefaultSubtitleForced
The forced subtitles searches mode (0 = Prefer non-forced subtitles, 1 = Prefer forced subtitles, 2 = Only show forced subtitles, 3 = Only show non-forced subtitles)
## Values
| Name | Value |
| -------------------------------------- | -------------------------------------- |
| `DefaultSubtitleForcedPreferNonForced` | 0 |
| `DefaultSubtitleForcedPreferForced` | 1 |
| `DefaultSubtitleForcedOnlyForced` | 2 |
| `DefaultSubtitleForcedOnlyNonForced` | 3 |

View File

@@ -0,0 +1,8 @@
# Guids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -10,74 +10,78 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Title` | *any* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `Type` | *any* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `AbsoluteIndex` | **int64* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `AddedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `Art` | *any* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `AudienceRating` | **float64* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `AudienceRatingImage` | *any* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Banner` | *any* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `ChapterSource` | *any* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `Composite` | *any* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `ContentRating` | *any* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Duration` | **int64* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent |
| `GUID` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Hero` | *any* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A |
| `Index` | **int64* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `Key` | *any* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `LeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A |
| `OriginallyAvailableAt` | *any* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `OriginalTitle` | *any* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent |
| `ParentIndex` | **int64* | :heavy_minus_sign: | The `index` of the parent |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent |
| `PrimaryExtraKey` | *any* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `Rating` | **float64* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `RatingCount` | **int64* | :heavy_minus_sign: | Number of ratings under this metadata |
| `RatingImage` | *any* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `RatingKey` | *any* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Studio` | *any* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `Subtype` | *any* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `Summary` | *any* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `Tagline` | *any* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `Theme` | *any* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `Thumb` | *any* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `TitleSort` | *any* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `UserRating` | **float64* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `ViewCount` | **int64* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `ViewedLeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `ViewOffset` | **int64* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Year` | **int64* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `MetadataItem` | [][components.Items](../../models/components/items.md) | :heavy_minus_sign: | N/A |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Title` | *string* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `Type` | *string* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `AbsoluteIndex` | **int* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `AddedAt` | *int64* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `Art` | **string* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `AudienceRating` | **float32* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Banner` | **string* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `ChapterSource` | **string* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `ChildCount` | **int* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `Composite` | **string* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `ContentRating` | **string* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Duration` | **int* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent | |
| `GrandparentGUID` | **string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent | |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent | |
| `GUID` | **string* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `Guids` | [][components.ItemsGuids](../../models/components/itemsguids.md) | :heavy_minus_sign: | N/A | |
| `Hero` | **string* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A | |
| `Index` | **int* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `Key` | *string* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `LeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A | |
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `OriginalTitle` | **string* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent | |
| `ParentIndex` | **int* | :heavy_minus_sign: | The `index` of the parent | |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent | |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent | |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent | |
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `Rating` | **float32* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `RatingCount` | **int* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `RatingImage` | **string* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `RatingKey` | **string* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory | |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Studio` | **string* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `Subtype` | **string* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `Summary` | **string* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `Tagline` | **string* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `Theme` | **string* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `Thumb` | **string* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `TitleSort` | **string* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `UserRating` | **float32* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `ViewCount` | **int* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `ViewOffset` | **int* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Year` | **int* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `MetadataItem` | [][components.Items](../../models/components/items.md) | :heavy_minus_sign: | N/A | |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,8 @@
# ItemsGuids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -3,25 +3,26 @@
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `Title` | **string* | :heavy_minus_sign: | N/A |
| `Type` | **string* | :heavy_minus_sign: | N/A |
| `Agent` | **string* | :heavy_minus_sign: | N/A |
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A |
| `Art` | **string* | :heavy_minus_sign: | N/A |
| `Composite` | **string* | :heavy_minus_sign: | N/A |
| `Content` | **bool* | :heavy_minus_sign: | N/A |
| `ContentChangedAt` | **int64* | :heavy_minus_sign: | N/A |
| `CreatedAt` | **int64* | :heavy_minus_sign: | N/A |
| `Directory` | **bool* | :heavy_minus_sign: | N/A |
| `Filters` | **bool* | :heavy_minus_sign: | Indicates whether this section has filtering capabilities |
| `Hidden` | **bool* | :heavy_minus_sign: | N/A |
| `Key` | **string* | :heavy_minus_sign: | N/A |
| `Language` | **string* | :heavy_minus_sign: | N/A |
| `Location` | [][components.LibrarySectionLocation](../../models/components/librarysectionlocation.md) | :heavy_minus_sign: | N/A |
| `Refreshing` | **bool* | :heavy_minus_sign: | Indicates whether this library section is currently scanning |
| `ScannedAt` | **int64* | :heavy_minus_sign: | N/A |
| `Scanner` | **string* | :heavy_minus_sign: | N/A |
| `Thumb` | **string* | :heavy_minus_sign: | N/A |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `Title` | **string* | :heavy_minus_sign: | The title of the library | Movies |
| `Type` | [components.MediaTypeString](../../models/components/mediatypestring.md) | :heavy_check_mark: | The type of media content in the Plex library. This can represent videos, music, or photos.<br/> | movie |
| `Agent` | **string* | :heavy_minus_sign: | N/A | |
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | |
| `Art` | **string* | :heavy_minus_sign: | N/A | |
| `Composite` | **string* | :heavy_minus_sign: | N/A | |
| `Content` | **bool* | :heavy_minus_sign: | N/A | |
| `ContentChangedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `CreatedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `Directory` | **bool* | :heavy_minus_sign: | N/A | |
| `Filters` | **bool* | :heavy_minus_sign: | Indicates whether this section has filtering capabilities | |
| `Hidden` | **bool* | :heavy_minus_sign: | N/A | |
| `Key` | **string* | :heavy_minus_sign: | N/A | |
| `Language` | *string* | :heavy_check_mark: | N/A | |
| `UUID` | *string* | :heavy_check_mark: | The universally unique identifier for the library. | e69655a2-ef48-4aba-bb19-d3cc3401e7d6 |
| `Location` | [][components.LibrarySectionLocation](../../models/components/librarysectionlocation.md) | :heavy_minus_sign: | N/A | |
| `Refreshing` | **bool* | :heavy_minus_sign: | Indicates whether this library section is currently scanning | |
| `ScannedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `Scanner` | **string* | :heavy_minus_sign: | N/A | |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |

View File

@@ -0,0 +1,12 @@
# MailingListStatus
Your current mailing list status
## Values
| Name | Value |
| ------------------------------- | ------------------------------- |
| `MailingListStatusActive` | active |
| `MailingListStatusUnsubscribed` | unsubscribed |
| `MailingListStatusRemoved` | removed |

View File

@@ -8,22 +8,22 @@
| Field | Type | Required | Description | Example |
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 2.35 |
| `AudioChannels` | **int64* | :heavy_minus_sign: | N/A | 2 |
| `AudioCodec` | *any* | :heavy_minus_sign: | N/A | aac |
| `AudioProfile` | *any* | :heavy_minus_sign: | N/A | lc |
| `Bitrate` | **int64* | :heavy_minus_sign: | N/A | 5612 |
| `Container` | *any* | :heavy_minus_sign: | N/A | mov |
| `Duration` | **int64* | :heavy_minus_sign: | N/A | 150192 |
| `AspectRatio` | **float32* | :heavy_minus_sign: | N/A | 2.35 |
| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 2 |
| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | aac |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 5612 |
| `Container` | **string* | :heavy_minus_sign: | N/A | mov |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 150192 |
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | N/A | true |
| `Height` | **int64* | :heavy_minus_sign: | N/A | 544 |
| `ID` | **int64* | :heavy_minus_sign: | N/A | 1 |
| `Height` | **int* | :heavy_minus_sign: | N/A | 544 |
| `ID` | *int64* | :heavy_check_mark: | N/A | 1 |
| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | false |
| `Part` | [][components.Part](../../models/components/part.md) | :heavy_minus_sign: | N/A | |
| `VideoCodec` | *any* | :heavy_minus_sign: | N/A | h264 |
| `VideoFrameRate` | *any* | :heavy_minus_sign: | N/A | 24p |
| `VideoProfile` | *any* | :heavy_minus_sign: | N/A | main |
| `VideoResolution` | *any* | :heavy_minus_sign: | N/A | 720 |
| `Width` | **int64* | :heavy_minus_sign: | N/A | 1280 |
| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | h264 |
| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main |
| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 720 |
| `Width` | **int* | :heavy_minus_sign: | N/A | 1280 |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,8 @@
# MediaContainerWithDecisionGuids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -8,24 +8,24 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 2.35 |
| `AudioChannels` | **int64* | :heavy_minus_sign: | N/A | 2 |
| `AudioCodec` | *any* | :heavy_minus_sign: | N/A | aac |
| `AudioProfile` | *any* | :heavy_minus_sign: | N/A | lc |
| `Bitrate` | **int64* | :heavy_minus_sign: | N/A | 5612 |
| `Container` | *any* | :heavy_minus_sign: | N/A | mov |
| `Duration` | **int64* | :heavy_minus_sign: | N/A | 150192 |
| `AspectRatio` | **float32* | :heavy_minus_sign: | N/A | 2.35 |
| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 2 |
| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | aac |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 5612 |
| `Container` | **string* | :heavy_minus_sign: | N/A | mov |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 150192 |
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | N/A | true |
| `Height` | **int64* | :heavy_minus_sign: | N/A | 544 |
| `ID` | **int64* | :heavy_minus_sign: | N/A | 1 |
| `Height` | **int* | :heavy_minus_sign: | N/A | 544 |
| `ID` | *int64* | :heavy_check_mark: | N/A | 1 |
| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | false |
| `Part` | [][components.MediaContainerWithDecisionPart](../../models/components/mediacontainerwithdecisionpart.md) | :heavy_minus_sign: | N/A | |
| `VideoCodec` | *any* | :heavy_minus_sign: | N/A | h264 |
| `VideoFrameRate` | *any* | :heavy_minus_sign: | N/A | 24p |
| `VideoProfile` | *any* | :heavy_minus_sign: | N/A | main |
| `VideoResolution` | *any* | :heavy_minus_sign: | N/A | 720 |
| `Width` | **int64* | :heavy_minus_sign: | N/A | 1280 |
| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | h264 |
| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main |
| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 720 |
| `Width` | **int* | :heavy_minus_sign: | N/A | 1280 |
| `Abr` | **bool* | :heavy_minus_sign: | N/A | |
| `ResourceSession` | **string* | :heavy_minus_sign: | N/A | |
| `Selected` | **bool* | :heavy_minus_sign: | N/A | |

View File

@@ -10,73 +10,77 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Title` | *any* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `Type` | *any* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `AbsoluteIndex` | **int64* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `AddedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `Art` | *any* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `AudienceRating` | **float64* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `AudienceRatingImage` | *any* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Banner` | *any* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `ChapterSource` | *any* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `Composite` | *any* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `ContentRating` | *any* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Duration` | **int64* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent |
| `GUID` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Hero` | *any* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A |
| `Index` | **int64* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `Key` | *any* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `LeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `Media` | [][components.MediaContainerWithDecisionMedia](../../models/components/mediacontainerwithdecisionmedia.md) | :heavy_minus_sign: | N/A |
| `OriginallyAvailableAt` | *any* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `OriginalTitle` | *any* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent |
| `ParentIndex` | **int64* | :heavy_minus_sign: | The `index` of the parent |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent |
| `PrimaryExtraKey` | *any* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `Rating` | **float64* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `RatingCount` | **int64* | :heavy_minus_sign: | Number of ratings under this metadata |
| `RatingImage` | *any* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `RatingKey` | *any* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Studio` | *any* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `Subtype` | *any* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `Summary` | *any* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `Tagline` | *any* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `Theme` | *any* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `Thumb` | *any* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `TitleSort` | *any* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `UserRating` | **float64* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `ViewCount` | **int64* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `ViewedLeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `ViewOffset` | **int64* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Year` | **int64* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Title` | *string* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `Type` | *string* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `AbsoluteIndex` | **int* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `AddedAt` | *int64* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `Art` | **string* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `AudienceRating` | **float32* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Banner` | **string* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `ChapterSource` | **string* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `ChildCount` | **int* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `Composite` | **string* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `ContentRating` | **string* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Duration` | **int* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent | |
| `GrandparentGUID` | **string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent | |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent | |
| `GUID` | **string* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `Guids` | [][components.MediaContainerWithDecisionGuids](../../models/components/mediacontainerwithdecisionguids.md) | :heavy_minus_sign: | N/A | |
| `Hero` | **string* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A | |
| `Index` | **int* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `Key` | *string* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `LeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `Media` | [][components.MediaContainerWithDecisionMedia](../../models/components/mediacontainerwithdecisionmedia.md) | :heavy_minus_sign: | N/A | |
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `OriginalTitle` | **string* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent | |
| `ParentIndex` | **int* | :heavy_minus_sign: | The `index` of the parent | |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent | |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent | |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent | |
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `Rating` | **float32* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `RatingCount` | **int* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `RatingImage` | **string* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `RatingKey` | **string* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory | |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Studio` | **string* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `Subtype` | **string* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `Summary` | **string* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `Tagline` | **string* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `Theme` | **string* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `Thumb` | **string* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `TitleSort` | **string* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `UserRating` | **float32* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `ViewCount` | **int* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `ViewOffset` | **int* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Year` | **int* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -8,17 +8,20 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| `AudioProfile` | *any* | :heavy_minus_sign: | N/A | lc |
| `Container` | *any* | :heavy_minus_sign: | The container of the media file, such as `mp4` or `mkv` | mov |
| `Duration` | **int64* | :heavy_minus_sign: | The duration of the media item, in milliseconds | 150192 |
| `File` | *any* | :heavy_minus_sign: | The local file path at which the part is stored on the server | /home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov |
| `Accessible` | **bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Container` | **string* | :heavy_minus_sign: | The container of the media file, such as `mp4` or `mkv` | mov |
| `Duration` | **int* | :heavy_minus_sign: | The duration of the media item, in milliseconds | 150192 |
| `Exists` | **bool* | :heavy_minus_sign: | Indicates if the part exists. | true |
| `File` | **string* | :heavy_minus_sign: | The local file path at which the part is stored on the server | /home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov |
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
| `ID` | **int64* | :heavy_minus_sign: | N/A | 1 |
| `Key` | *any* | :heavy_minus_sign: | The key from which the media can be streamed | /library/parts/1/1531779263/file.mov |
| `ID` | *int64* | :heavy_check_mark: | N/A | 1 |
| `Indexes` | **string* | :heavy_minus_sign: | N/A | sd |
| `Key` | *string* | :heavy_check_mark: | The key from which the media can be streamed | /library/parts/1/1531779263/file.mov |
| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | false |
| `Size` | **int64* | :heavy_minus_sign: | The size of the media, in bytes | 105355654 |
| `Stream` | [][components.MediaContainerWithDecisionStream](../../models/components/mediacontainerwithdecisionstream.md) | :heavy_minus_sign: | N/A | |
| `VideoProfile` | *any* | :heavy_minus_sign: | N/A | main |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main |
| `Decision` | [*components.Decision](../../models/components/decision.md) | :heavy_minus_sign: | N/A | |
| `Selected` | **bool* | :heavy_minus_sign: | N/A | |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -6,37 +6,60 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `Default` | **bool* | :heavy_minus_sign: | N/A | true |
| `AudioChannelLayout` | *any* | :heavy_minus_sign: | N/A | stereo |
| `BitDepth` | **int64* | :heavy_minus_sign: | N/A | 8 |
| `Bitrate` | **int64* | :heavy_minus_sign: | N/A | 5466 |
| `CanAutoSync` | **bool* | :heavy_minus_sign: | For subtitle streams only. If `true` then the server can attempt to automatically sync the subtitle timestamps with the video. | true |
| `ChromaLocation` | *any* | :heavy_minus_sign: | N/A | topleft |
| `ChromaSubsampling` | *any* | :heavy_minus_sign: | N/A | 4:2:0 |
| `Codec` | *any* | :heavy_minus_sign: | The codec of the stream, such as `h264` or `aac` | h264 |
| `ColorPrimaries` | *any* | :heavy_minus_sign: | N/A | bt709 |
| `ColorRange` | *any* | :heavy_minus_sign: | N/A | tv |
| `ColorSpace` | *any* | :heavy_minus_sign: | N/A | bt709 |
| `ColorTrc` | *any* | :heavy_minus_sign: | N/A | bt709 |
| `DisplayTitle` | *any* | :heavy_minus_sign: | A friendly name for the stream, often comprised of the language and codec information | English (H.264 Main) |
| `FrameRate` | **float64* | :heavy_minus_sign: | N/A | 23.976 |
| `HasScalingMatrix` | *any* | :heavy_minus_sign: | N/A | false |
| `Height` | **int64* | :heavy_minus_sign: | N/A | 544 |
| `ID` | **int64* | :heavy_minus_sign: | N/A | 1 |
| `Index` | **int64* | :heavy_minus_sign: | If the stream is part of the `Part` and not an external resource, the index of the stream within that part | 0 |
| `Key` | *any* | :heavy_minus_sign: | If the stream is independently streamable, the key from which it can be streamed | /library/streams/1 |
| `Language` | *any* | :heavy_minus_sign: | N/A | English |
| `LanguageCode` | *any* | :heavy_minus_sign: | The three character language code for the stream contents | eng |
| `Level` | **int64* | :heavy_minus_sign: | N/A | 31 |
| `Profile` | *any* | :heavy_minus_sign: | N/A | main |
| `RefFrames` | **int64* | :heavy_minus_sign: | N/A | 2 |
| `SamplingRate` | **int64* | :heavy_minus_sign: | N/A | 48000 |
| `Selected` | **bool* | :heavy_minus_sign: | N/A | |
| `StreamIdentifier` | **int64* | :heavy_minus_sign: | N/A | 1 |
| `StreamType` | **int64* | :heavy_minus_sign: | A number indicating the type of the stream. `1` for video, `2` for audio, `3` for subtitles, `4` for lyrics | 1 |
| `Width` | **int64* | :heavy_minus_sign: | N/A | 1280 |
| `Decision` | [*components.MediaContainerWithDecisionDecision](../../models/components/mediacontainerwithdecisiondecision.md) | :heavy_minus_sign: | N/A | |
| `Location` | [*components.MediaContainerWithDecisionLocation](../../models/components/mediacontainerwithdecisionlocation.md) | :heavy_minus_sign: | N/A | |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `Default` | **bool* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `AudioChannelLayout` | **string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `Channels` | **int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `BitDepth` | **int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `DOVIBLCompatID` | **int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `DOVIBLPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `DOVIELPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `DOVILevel` | **int* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `DOVIPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `DOVIProfile` | **int* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `DOVIRPUPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `DOVIVersion` | **string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `CanAutoSync` | **bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `ChromaLocation` | **string* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `ChromaSubsampling` | **string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `CodedHeight` | **int* | :heavy_minus_sign: | Coded video height. | 1608 |
| `CodedWidth` | **int* | :heavy_minus_sign: | Coded video width. | 3840 |
| `ClosedCaptions` | **bool* | :heavy_minus_sign: | N/A | true |
| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `ColorPrimaries` | **string* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `ColorRange` | **string* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `ColorSpace` | **string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `ColorTrc` | **string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `FrameRate` | **float32* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `HasScalingMatrix` | **bool* | :heavy_minus_sign: | N/A | false |
| `Height` | **int* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `ID` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `Index` | **int* | :heavy_minus_sign: | Index of the stream. | 0 |
| `Key` | *string* | :heavy_check_mark: | Key to access this stream part. | /library/streams/216389 |
| `Language` | **string* | :heavy_minus_sign: | Language of the stream. | English |
| `LanguageCode` | **string* | :heavy_minus_sign: | ISO language code. | eng |
| `LanguageTag` | **string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `Format` | **string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
| `HeaderCompression` | **bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `Level` | **int* | :heavy_minus_sign: | Video level. | 150 |
| `Original` | **bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `Profile` | **string* | :heavy_minus_sign: | Video profile. | main 10 |
| `RefFrames` | **int* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `SamplingRate` | **int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `ScanType` | **string* | :heavy_minus_sign: | N/A | progressive |
| `EmbeddedInVideo` | **string* | :heavy_minus_sign: | N/A | progressive |
| `Selected` | **bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `Forced` | **bool* | :heavy_minus_sign: | N/A | true |
| `HearingImpaired` | **bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true |
| `Dub` | **bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true |
| `Title` | **string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH |
| `StreamIdentifier` | **int* | :heavy_minus_sign: | N/A | 1 |
| `StreamType` | *int64* | :heavy_check_mark: | Stream type:<br/> - VIDEO = 1<br/> - AUDIO = 2<br/> - SUBTITLE = 3<br/> | |
| `Width` | **int* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `Decision` | [*components.MediaContainerWithDecisionDecision](../../models/components/mediacontainerwithdecisiondecision.md) | :heavy_minus_sign: | N/A | |
| `Location` | [*components.MediaContainerWithDecisionLocation](../../models/components/mediacontainerwithdecisionlocation.md) | :heavy_minus_sign: | N/A | |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,8 @@
# MediaContainerWithNestedMetadataGuids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -0,0 +1,8 @@
# MediaContainerWithPlaylistMetadataGuids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -10,77 +10,81 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ReadOnly` | **bool* | :heavy_minus_sign: | If we return this as true then this playlist cannot be altered or deleted directly by the client. |
| `Composite` | *any* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `Duration` | **int64* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `Key` | *any* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `LeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `PlaylistType` | [*components.PlaylistType](../../models/components/playlisttype.md) | :heavy_minus_sign: | The type of the playlist. |
| `Smart` | **bool* | :heavy_minus_sign: | Whether or not the playlist is smart. |
| `SpecialPlaylistType` | **string* | :heavy_minus_sign: | If this is a special playlist, this returns its type (e.g. favorites). |
| `Title` | *any* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `Type` | *any* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `AbsoluteIndex` | **int64* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `AddedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `Art` | *any* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `AudienceRating` | **float64* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `AudienceRatingImage` | *any* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Banner` | *any* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `ChapterSource` | *any* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `ContentRating` | *any* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent |
| `GUID` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Hero` | *any* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A |
| `Index` | **int64* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A |
| `OriginallyAvailableAt` | *any* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `OriginalTitle` | *any* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent |
| `ParentIndex` | **int64* | :heavy_minus_sign: | The `index` of the parent |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent |
| `PrimaryExtraKey` | *any* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `Rating` | **float64* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `RatingCount` | **int64* | :heavy_minus_sign: | Number of ratings under this metadata |
| `RatingImage` | *any* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `RatingKey` | *any* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Studio` | *any* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `Subtype` | *any* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `Summary` | *any* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `Tagline` | *any* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `Theme` | *any* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `Thumb` | *any* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `TitleSort` | *any* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `UserRating` | **float64* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `ViewCount` | **int64* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `ViewedLeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `ViewOffset` | **int64* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Year` | **int64* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ReadOnly` | **bool* | :heavy_minus_sign: | If we return this as true then this playlist cannot be altered or deleted directly by the client. | |
| `Composite` | **string* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `Duration` | **int* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `Key` | *string* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `LeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `PlaylistType` | [*components.PlaylistType](../../models/components/playlisttype.md) | :heavy_minus_sign: | The type of the playlist. | |
| `Smart` | **bool* | :heavy_minus_sign: | Whether or not the playlist is smart. | |
| `SpecialPlaylistType` | **string* | :heavy_minus_sign: | If this is a special playlist, this returns its type (e.g. favorites). | |
| `Title` | *string* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `Type` | *string* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `AbsoluteIndex` | **int* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `AddedAt` | *int64* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `Art` | **string* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `AudienceRating` | **float32* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Banner` | **string* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `ChapterSource` | **string* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `ChildCount` | **int* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `ContentRating` | **string* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent | |
| `GrandparentGUID` | **string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent | |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent | |
| `GUID` | **string* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `Guids` | [][components.MediaContainerWithPlaylistMetadataGuids](../../models/components/mediacontainerwithplaylistmetadataguids.md) | :heavy_minus_sign: | N/A | |
| `Hero` | **string* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A | |
| `Index` | **int* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A | |
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `OriginalTitle` | **string* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent | |
| `ParentIndex` | **int* | :heavy_minus_sign: | The `index` of the parent | |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent | |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent | |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent | |
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `Rating` | **float32* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `RatingCount` | **int* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `RatingImage` | **string* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `RatingKey` | **string* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory | |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Studio` | **string* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `Subtype` | **string* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `Summary` | **string* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `Tagline` | **string* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `Theme` | **string* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `Thumb` | **string* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `TitleSort` | **string* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `UserRating` | **float32* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `ViewCount` | **int* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `ViewOffset` | **int* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Year` | **int* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -1,7 +1,17 @@
# MediaQuery
A querystring-based filtering language used to select subsets of media. When provided as an object, properties are serialized as a querystring using form style with explode.
Only the defined properties below are allowed. The object serializes to a querystring format like: `type=4&sourceType=2&sort=duration:desc,index`
## Fields
| Field | Type | Required | Description |
| ----------- | ----------- | ----------- | ----------- |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Type` | [*components.MediaType](../../models/components/mediatype.md) | :heavy_minus_sign: | The type of media to retrieve or filter by.<br/><br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>5 = artist<br/>6 = album<br/>7 = track<br/>8 = photo_album<br/>9 = photo<br/><br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |
| `SourceType` | **int64* | :heavy_minus_sign: | Change the default level to which fields refer (used with type for hierarchical queries) | |
| `Sort` | **string* | :heavy_minus_sign: | Field(s) to sort by, with optional modifiers. Use comma to separate multiple fields, and :desc or :nullsLast for modifiers (e.g., "duration:desc,index") | |
| `Group` | **string* | :heavy_minus_sign: | Field to group results by (similar to SQL GROUP BY) | |
| `Limit` | **int64* | :heavy_minus_sign: | Maximum number of results to return | |

View File

@@ -0,0 +1,13 @@
# MediaReviewsVisibility
Whether or not the account has media reviews visibility enabled
## Values
| Name | Value |
| ------------------------------------------- | ------------------------------------------- |
| `MediaReviewsVisibilityNoOne` | 0 |
| `MediaReviewsVisibilityCriticsOnly` | 1 |
| `MediaReviewsVisibilityPlexUsersOnly` | 2 |
| `MediaReviewsVisibilityPlexUsersAndCritics` | 3 |

View File

@@ -0,0 +1,31 @@
# MediaType
The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
5 = artist
6 = album
7 = track
8 = photo_album
9 = photo
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
## Values
| Name | Value |
| --------------------- | --------------------- |
| `MediaTypeMovie` | 1 |
| `MediaTypeTvShow` | 2 |
| `MediaTypeSeason` | 3 |
| `MediaTypeEpisode` | 4 |
| `MediaTypeArtist` | 5 |
| `MediaTypeAlbum` | 6 |
| `MediaTypeTrack` | 7 |
| `MediaTypePhotoAlbum` | 8 |
| `MediaTypePhoto` | 9 |

View File

@@ -0,0 +1,20 @@
# MediaTypeString
The type of media content in the Plex library. This can represent videos, music, or photos.
## Values
| Name | Value |
| --------------------------- | --------------------------- |
| `MediaTypeStringMovie` | movie |
| `MediaTypeStringTvShow` | show |
| `MediaTypeStringSeason` | season |
| `MediaTypeStringEpisode` | episode |
| `MediaTypeStringArtist` | artist |
| `MediaTypeStringAlbum` | album |
| `MediaTypeStringTrack` | track |
| `MediaTypeStringPhotoAlbum` | photoalbum |
| `MediaTypeStringPhoto` | photo |
| `MediaTypeStringCollection` | collection |

View File

@@ -10,73 +10,77 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Title` | *any* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `Type` | *any* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `AbsoluteIndex` | **int64* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `AddedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `Art` | *any* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `AudienceRating` | **float64* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `AudienceRatingImage` | *any* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Banner` | *any* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `ChapterSource` | *any* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `Composite` | *any* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `ContentRating` | *any* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Duration` | **int64* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent |
| `GUID` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Hero` | *any* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A |
| `Index` | **int64* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `Key` | *any* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `LeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A |
| `OriginallyAvailableAt` | *any* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `OriginalTitle` | *any* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent |
| `ParentIndex` | **int64* | :heavy_minus_sign: | The `index` of the parent |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent |
| `PrimaryExtraKey` | *any* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `Rating` | **float64* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `RatingCount` | **int64* | :heavy_minus_sign: | Number of ratings under this metadata |
| `RatingImage` | *any* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `RatingKey` | *any* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Studio` | *any* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `Subtype` | *any* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `Summary` | *any* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `Tagline` | *any* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `Theme` | *any* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `Thumb` | *any* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `TitleSort` | *any* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `UserRating` | **float64* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `ViewCount` | **int64* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `ViewedLeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `ViewOffset` | **int64* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Year` | **int64* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Title` | *string* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `Type` | *string* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `AbsoluteIndex` | **int* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `AddedAt` | *int64* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `Art` | **string* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `AudienceRating` | **float32* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Banner` | **string* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `ChapterSource` | **string* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `ChildCount` | **int* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `Composite` | **string* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `ContentRating` | **string* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Duration` | **int* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent | |
| `GrandparentGUID` | **string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent | |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent | |
| `GUID` | **string* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `Guids` | [][components.Guids](../../models/components/guids.md) | :heavy_minus_sign: | N/A | |
| `Hero` | **string* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A | |
| `Index` | **int* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `Key` | *string* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `LeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A | |
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `OriginalTitle` | **string* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent | |
| `ParentIndex` | **int* | :heavy_minus_sign: | The `index` of the parent | |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent | |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent | |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent | |
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `Rating` | **float32* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `RatingCount` | **int* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `RatingImage` | **string* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `RatingKey` | **string* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory | |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Studio` | **string* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `Subtype` | **string* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `Summary` | **string* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `Tagline` | **string* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `Theme` | **string* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `Thumb` | **string* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `TitleSort` | **string* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `UserRating` | **float32* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `ViewCount` | **int* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `ViewOffset` | **int* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Year` | **int* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -10,74 +10,78 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Title` | *any* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `Type` | *any* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `AbsoluteIndex` | **int64* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `AddedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `Art` | *any* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `AudienceRating` | **float64* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `AudienceRatingImage` | *any* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Banner` | *any* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `ChapterSource` | *any* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `Composite` | *any* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `ContentRating` | *any* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Duration` | **int64* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent |
| `GUID` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Hero` | *any* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A |
| `Index` | **int64* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `Key` | *any* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `LeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A |
| `OriginallyAvailableAt` | *any* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `OriginalTitle` | *any* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent |
| `ParentIndex` | **int64* | :heavy_minus_sign: | The `index` of the parent |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent |
| `PrimaryExtraKey` | *any* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `Rating` | **float64* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `RatingCount` | **int64* | :heavy_minus_sign: | Number of ratings under this metadata |
| `RatingImage` | *any* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `RatingKey` | *any* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Studio` | *any* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `Subtype` | *any* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `Summary` | *any* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `Tagline` | *any* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `Theme` | *any* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `Thumb` | *any* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `TitleSort` | *any* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `UserRating` | **float64* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `ViewCount` | **int64* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `ViewedLeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `ViewOffset` | **int64* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Year` | **int64* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `MetadataItem` | [][components.Items](../../models/components/items.md) | :heavy_minus_sign: | N/A |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Title` | *string* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `Type` | *string* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `AbsoluteIndex` | **int* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `AddedAt` | *int64* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `Art` | **string* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `AudienceRating` | **float32* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Banner` | **string* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `ChapterSource` | **string* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `ChildCount` | **int* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `Composite` | **string* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `ContentRating` | **string* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Duration` | **int* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent | |
| `GrandparentGUID` | **string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent | |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent | |
| `GUID` | **string* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `Guids` | [][components.MediaContainerWithNestedMetadataGuids](../../models/components/mediacontainerwithnestedmetadataguids.md) | :heavy_minus_sign: | N/A | |
| `Hero` | **string* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A | |
| `Index` | **int* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `Key` | *string* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `LeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A | |
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `OriginalTitle` | **string* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent | |
| `ParentIndex` | **int* | :heavy_minus_sign: | The `index` of the parent | |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent | |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent | |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent | |
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `Rating` | **float32* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `RatingCount` | **int* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `RatingImage` | **string* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `RatingKey` | **string* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory | |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Studio` | **string* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `Subtype` | **string* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `Summary` | **string* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `Tagline` | **string* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `Theme` | **string* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `Thumb` | **string* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `TitleSort` | **string* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `UserRating` | **float32* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `ViewCount` | **int* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `ViewOffset` | **int* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Year` | **int* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `MetadataItem` | [][components.Items](../../models/components/items.md) | :heavy_minus_sign: | N/A | |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -8,15 +8,18 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
| `AudioProfile` | *any* | :heavy_minus_sign: | N/A | lc |
| `Container` | *any* | :heavy_minus_sign: | The container of the media file, such as `mp4` or `mkv` | mov |
| `Duration` | **int64* | :heavy_minus_sign: | The duration of the media item, in milliseconds | 150192 |
| `File` | *any* | :heavy_minus_sign: | The local file path at which the part is stored on the server | /home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov |
| `Accessible` | **bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Container` | **string* | :heavy_minus_sign: | The container of the media file, such as `mp4` or `mkv` | mov |
| `Duration` | **int* | :heavy_minus_sign: | The duration of the media item, in milliseconds | 150192 |
| `Exists` | **bool* | :heavy_minus_sign: | Indicates if the part exists. | true |
| `File` | **string* | :heavy_minus_sign: | The local file path at which the part is stored on the server | /home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov |
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
| `ID` | **int64* | :heavy_minus_sign: | N/A | 1 |
| `Key` | *any* | :heavy_minus_sign: | The key from which the media can be streamed | /library/parts/1/1531779263/file.mov |
| `ID` | *int64* | :heavy_check_mark: | N/A | 1 |
| `Indexes` | **string* | :heavy_minus_sign: | N/A | sd |
| `Key` | *string* | :heavy_check_mark: | The key from which the media can be streamed | /library/parts/1/1531779263/file.mov |
| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | false |
| `Size` | **int64* | :heavy_minus_sign: | The size of the media, in bytes | 105355654 |
| `Stream` | [][components.Stream](../../models/components/stream.md) | :heavy_minus_sign: | N/A | |
| `VideoProfile` | *any* | :heavy_minus_sign: | N/A | main |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,31 @@
# PlexDevice
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `Name` | *string* | :heavy_check_mark: | N/A | |
| `Product` | *string* | :heavy_check_mark: | N/A | |
| `ProductVersion` | *string* | :heavy_check_mark: | N/A | |
| `Platform` | *string* | :heavy_check_mark: | N/A | |
| `PlatformVersion` | *string* | :heavy_check_mark: | N/A | |
| `Device` | *string* | :heavy_check_mark: | N/A | |
| `ClientIdentifier` | *string* | :heavy_check_mark: | N/A | |
| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | 2019-06-24T11:38:02Z |
| `LastSeenAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | 2019-06-24T11:38:02Z |
| `Provides` | *string* | :heavy_check_mark: | N/A | |
| `OwnerID` | *int64* | :heavy_check_mark: | ownerId is null when the device is owned by the token used to send the request | |
| `SourceTitle` | *string* | :heavy_check_mark: | N/A | |
| `PublicAddress` | *string* | :heavy_check_mark: | N/A | |
| `AccessToken` | *string* | :heavy_check_mark: | N/A | |
| `Owned` | *bool* | :heavy_check_mark: | N/A | |
| `Home` | *bool* | :heavy_check_mark: | N/A | |
| `Synced` | *bool* | :heavy_check_mark: | N/A | |
| `Relay` | *bool* | :heavy_check_mark: | N/A | |
| `Presence` | *bool* | :heavy_check_mark: | N/A | |
| `HTTPSRequired` | *bool* | :heavy_check_mark: | N/A | |
| `PublicAddressMatches` | *bool* | :heavy_check_mark: | N/A | |
| `DNSRebindingProtection` | *bool* | :heavy_check_mark: | N/A | |
| `NatLoopbackSupported` | *bool* | :heavy_check_mark: | N/A | |
| `Connections` | [][components.Connections](../../models/components/connections.md) | :heavy_check_mark: | N/A | |

View File

@@ -0,0 +1,11 @@
# PlexDeviceProtocol
The protocol used for the connection (http, https, etc)
## Values
| Name | Value |
| ------------------------- | ------------------------- |
| `PlexDeviceProtocolHTTP` | http |
| `PlexDeviceProtocolHTTPS` | https |

View File

@@ -0,0 +1,12 @@
# Services
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `Identifier` | *string* | :heavy_check_mark: | N/A | metadata-dev |
| `Endpoint` | *string* | :heavy_check_mark: | N/A | https://epg.provider.plex.tv |
| `Token` | *string* | :heavy_check_mark: | N/A | DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv |
| `Secret` | *string* | :heavy_check_mark: | N/A | |
| `Status` | [components.UserPlexAccountStatus](../../models/components/userplexaccountstatus.md) | :heavy_check_mark: | N/A | online |

View File

@@ -6,35 +6,58 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `Default` | **bool* | :heavy_minus_sign: | N/A | true |
| `AudioChannelLayout` | *any* | :heavy_minus_sign: | N/A | stereo |
| `BitDepth` | **int64* | :heavy_minus_sign: | N/A | 8 |
| `Bitrate` | **int64* | :heavy_minus_sign: | N/A | 5466 |
| `CanAutoSync` | **bool* | :heavy_minus_sign: | For subtitle streams only. If `true` then the server can attempt to automatically sync the subtitle timestamps with the video. | true |
| `ChromaLocation` | *any* | :heavy_minus_sign: | N/A | topleft |
| `ChromaSubsampling` | *any* | :heavy_minus_sign: | N/A | 4:2:0 |
| `Codec` | *any* | :heavy_minus_sign: | The codec of the stream, such as `h264` or `aac` | h264 |
| `ColorPrimaries` | *any* | :heavy_minus_sign: | N/A | bt709 |
| `ColorRange` | *any* | :heavy_minus_sign: | N/A | tv |
| `ColorSpace` | *any* | :heavy_minus_sign: | N/A | bt709 |
| `ColorTrc` | *any* | :heavy_minus_sign: | N/A | bt709 |
| `DisplayTitle` | *any* | :heavy_minus_sign: | A friendly name for the stream, often comprised of the language and codec information | English (H.264 Main) |
| `FrameRate` | **float64* | :heavy_minus_sign: | N/A | 23.976 |
| `HasScalingMatrix` | *any* | :heavy_minus_sign: | N/A | false |
| `Height` | **int64* | :heavy_minus_sign: | N/A | 544 |
| `ID` | **int64* | :heavy_minus_sign: | N/A | 1 |
| `Index` | **int64* | :heavy_minus_sign: | If the stream is part of the `Part` and not an external resource, the index of the stream within that part | 0 |
| `Key` | *any* | :heavy_minus_sign: | If the stream is independently streamable, the key from which it can be streamed | /library/streams/1 |
| `Language` | *any* | :heavy_minus_sign: | N/A | English |
| `LanguageCode` | *any* | :heavy_minus_sign: | The three character language code for the stream contents | eng |
| `Level` | **int64* | :heavy_minus_sign: | N/A | 31 |
| `Profile` | *any* | :heavy_minus_sign: | N/A | main |
| `RefFrames` | **int64* | :heavy_minus_sign: | N/A | 2 |
| `SamplingRate` | **int64* | :heavy_minus_sign: | N/A | 48000 |
| `Selected` | **bool* | :heavy_minus_sign: | N/A | |
| `StreamIdentifier` | **int64* | :heavy_minus_sign: | N/A | 1 |
| `StreamType` | **int64* | :heavy_minus_sign: | A number indicating the type of the stream. `1` for video, `2` for audio, `3` for subtitles, `4` for lyrics | 1 |
| `Width` | **int64* | :heavy_minus_sign: | N/A | 1280 |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `Default` | **bool* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `AudioChannelLayout` | **string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `Channels` | **int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `BitDepth` | **int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `DOVIBLCompatID` | **int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `DOVIBLPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `DOVIELPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `DOVILevel` | **int* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `DOVIPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `DOVIProfile` | **int* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `DOVIRPUPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `DOVIVersion` | **string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `CanAutoSync` | **bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `ChromaLocation` | **string* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `ChromaSubsampling` | **string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `CodedHeight` | **int* | :heavy_minus_sign: | Coded video height. | 1608 |
| `CodedWidth` | **int* | :heavy_minus_sign: | Coded video width. | 3840 |
| `ClosedCaptions` | **bool* | :heavy_minus_sign: | N/A | true |
| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `ColorPrimaries` | **string* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `ColorRange` | **string* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `ColorSpace` | **string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `ColorTrc` | **string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `FrameRate` | **float32* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `HasScalingMatrix` | **bool* | :heavy_minus_sign: | N/A | false |
| `Height` | **int* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `ID` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `Index` | **int* | :heavy_minus_sign: | Index of the stream. | 0 |
| `Key` | *string* | :heavy_check_mark: | Key to access this stream part. | /library/streams/216389 |
| `Language` | **string* | :heavy_minus_sign: | Language of the stream. | English |
| `LanguageCode` | **string* | :heavy_minus_sign: | ISO language code. | eng |
| `LanguageTag` | **string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `Format` | **string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
| `HeaderCompression` | **bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `Level` | **int* | :heavy_minus_sign: | Video level. | 150 |
| `Original` | **bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `Profile` | **string* | :heavy_minus_sign: | Video profile. | main 10 |
| `RefFrames` | **int* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `SamplingRate` | **int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `ScanType` | **string* | :heavy_minus_sign: | N/A | progressive |
| `EmbeddedInVideo` | **string* | :heavy_minus_sign: | N/A | progressive |
| `Selected` | **bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `Forced` | **bool* | :heavy_minus_sign: | N/A | true |
| `HearingImpaired` | **bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true |
| `Dub` | **bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true |
| `Title` | **string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH |
| `StreamIdentifier` | **int* | :heavy_minus_sign: | N/A | 1 |
| `StreamType` | *int64* | :heavy_check_mark: | Stream type:<br/> - VIDEO = 1<br/> - AUDIO = 2<br/> - SUBTITLE = 3<br/> | |
| `Width` | **int* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,15 @@
# Subscription
If the account's Plex Pass subscription is active
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `Features` | []*string* | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | |
| `Active` | **bool* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true |
| `SubscribedAt` | **string* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z |
| `Status` | [*components.UserPlexAccountSubscriptionStatus](../../models/components/userplexaccountsubscriptionstatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive |
| `PaymentService` | **string* | :heavy_minus_sign: | Payment service used for your Plex Pass subscription | |
| `Plan` | **string* | :heavy_minus_sign: | Name of Plex Pass subscription plan | |

View File

@@ -6,15 +6,15 @@ A variety of extra information about a metadata item is included as tags. These
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| `Confidence` | **float64* | :heavy_minus_sign: | Measure of the confidence of an automatic tag | |
| `Context` | **string* | :heavy_minus_sign: | N/A | |
| `Filter` | *any* | :heavy_minus_sign: | A filter parameter that can be used to query for more content that matches this tag value. | actor=49 |
| `ID` | **int64* | :heavy_minus_sign: | N/A | |
| `RatingKey` | **string* | :heavy_minus_sign: | N/A | |
| `Role` | *any* | :heavy_minus_sign: | The role this actor played | Secretary |
| `Tag` | *any* | :heavy_minus_sign: | The value of the tag (the name) | Shaun Lawton |
| `TagKey` | *any* | :heavy_minus_sign: | Plex identifier for this tag which can be used to fetch additional information from plex.tv | 5d3ee12c4cde6a001c3e0b27 |
| `TagType` | **int64* | :heavy_minus_sign: | N/A | |
| `Thumb` | *any* | :heavy_minus_sign: | N/A | http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg |
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `Confidence` | **float64* | :heavy_minus_sign: | Measure of the confidence of an automatic tag | |
| `Context` | **string* | :heavy_minus_sign: | N/A | |
| `Filter` | **string* | :heavy_minus_sign: | A filter parameter that can be used to query for more content that matches this tag value. | actor=49 |
| `ID` | **int* | :heavy_minus_sign: | N/A | |
| `RatingKey` | **string* | :heavy_minus_sign: | 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. | 58683 |
| `Role` | **string* | :heavy_minus_sign: | The role this actor played | Secretary |
| `Tag` | *string* | :heavy_check_mark: | The value of the tag (the name) | Shaun Lawton |
| `TagKey` | **string* | :heavy_minus_sign: | Plex identifier for this tag which can be used to fetch additional information from plex.tv | 5d3ee12c4cde6a001c3e0b27 |
| `TagType` | **int* | :heavy_minus_sign: | N/A | |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg |

View File

@@ -0,0 +1,48 @@
# UserPlexAccount
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AdsConsent` | **bool* | :heavy_minus_sign: | Unknown | |
| `AdsConsentReminderAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `AdsConsentSetAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `Anonymous` | **bool* | :heavy_minus_sign: | Unknown | |
| `AuthToken` | *string* | :heavy_check_mark: | The account token | CxoUzBTSV5hsxjTpFKaf |
| `BackupCodesCreated` | **bool* | :heavy_minus_sign: | If the two-factor authentication backup codes have been created | |
| `Confirmed` | **bool* | :heavy_minus_sign: | If the account has been confirmed | |
| `Country` | **string* | :heavy_minus_sign: | The account country | US |
| `Email` | *string* | :heavy_check_mark: | The account email address | username@email.com |
| `EmailOnlyAuth` | **bool* | :heavy_minus_sign: | If login with email only is enabled | |
| `ExperimentalFeatures` | **bool* | :heavy_minus_sign: | If experimental features are enabled | |
| `FriendlyName` | *string* | :heavy_check_mark: | Your account full name | friendlyUsername |
| `Entitlements` | []*string* | :heavy_minus_sign: | List of devices your allowed to use with this account | [] |
| `Guest` | **bool* | :heavy_minus_sign: | If the account is a Plex Home guest user | |
| `HasPassword` | **bool* | :heavy_minus_sign: | If the account has a password | |
| `Home` | **bool* | :heavy_minus_sign: | If the account is a Plex Home user | |
| `HomeAdmin` | **bool* | :heavy_minus_sign: | If the account is the Plex Home admin | |
| `HomeSize` | **int* | :heavy_minus_sign: | The number of accounts in the Plex Home | 1 |
| `ID` | *int* | :heavy_check_mark: | The Plex account ID | 13692262 |
| `JoinedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `Locale` | **string* | :heavy_minus_sign: | The account locale | |
| `MailingListActive` | **bool* | :heavy_minus_sign: | If you are subscribed to the Plex newsletter | |
| `MailingListStatus` | [*components.MailingListStatus](../../models/components/mailingliststatus.md) | :heavy_minus_sign: | Your current mailing list status | active |
| `MaxHomeSize` | **int* | :heavy_minus_sign: | The maximum number of accounts allowed in the Plex Home | 15 |
| ~~`Pin`~~ | **string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.<br/><br/>[Might be removed] The hashed Plex Home PIN | |
| `Profile` | [*components.UserProfile](../../models/components/userprofile.md) | :heavy_minus_sign: | N/A | |
| `Protected` | **bool* | :heavy_minus_sign: | If the account has a Plex Home PIN enabled | |
| `RememberExpiresAt` | **int64* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
| `Restricted` | **bool* | :heavy_minus_sign: | If the account is a Plex Home managed user | |
| `Roles` | []*string* | :heavy_minus_sign: | [Might be removed] List of account roles. Plexpass membership listed here | |
| `ScrobbleTypes` | **string* | :heavy_minus_sign: | Unknown | |
| `Services` | [][components.Services](../../models/components/services.md) | :heavy_minus_sign: | N/A | |
| `Subscription` | [*components.Subscription](../../models/components/subscription.md) | :heavy_minus_sign: | If the account's Plex Pass subscription is active | |
| `SubscriptionDescription` | **string* | :heavy_minus_sign: | Description of the Plex Pass subscription | |
| `Subscriptions` | [][components.UserPlexAccountSubscription](../../models/components/userplexaccountsubscription.md) | :heavy_minus_sign: | N/A | |
| `Thumb` | **string* | :heavy_minus_sign: | URL of the account thumbnail | https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101 |
| `Title` | *string* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle |
| `TwoFactorEnabled` | **bool* | :heavy_minus_sign: | If two-factor authentication is enabled | |
| `Username` | *string* | :heavy_check_mark: | The account username | Username |
| `UUID` | *string* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f |
| `AttributionPartner` | **string* | :heavy_minus_sign: | N/A | <nil> |

View File

@@ -0,0 +1,9 @@
# UserPlexAccountStatus
## Values
| Name | Value |
| ------------------------------ | ------------------------------ |
| `UserPlexAccountStatusOnline` | online |
| `UserPlexAccountStatusOffline` | offline |

View File

@@ -0,0 +1,13 @@
# UserPlexAccountSubscription
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `Features` | []*string* | :heavy_minus_sign: | List of features allowed on your Plex Pass subscription | |
| `Active` | **bool* | :heavy_minus_sign: | If the account's Plex Pass subscription is active | true |
| `SubscribedAt` | **string* | :heavy_minus_sign: | Date the account subscribed to Plex Pass | 2021-04-12T18:21:12Z |
| `Status` | [*components.UserPlexAccountSubscriptionsStatus](../../models/components/userplexaccountsubscriptionsstatus.md) | :heavy_minus_sign: | String representation of subscriptionActive | Inactive |
| `PaymentService` | **string* | :heavy_minus_sign: | Payment service used for your Plex Pass subscription | |
| `Plan` | **string* | :heavy_minus_sign: | Name of Plex Pass subscription plan | |

View File

@@ -0,0 +1,11 @@
# UserPlexAccountSubscriptionsStatus
String representation of subscriptionActive
## Values
| Name | Value |
| -------------------------------------------- | -------------------------------------------- |
| `UserPlexAccountSubscriptionsStatusInactive` | Inactive |
| `UserPlexAccountSubscriptionsStatusActive` | Active |

View File

@@ -0,0 +1,11 @@
# UserPlexAccountSubscriptionStatus
String representation of subscriptionActive
## Values
| Name | Value |
| ------------------------------------------- | ------------------------------------------- |
| `UserPlexAccountSubscriptionStatusInactive` | Inactive |
| `UserPlexAccountSubscriptionStatusActive` | Active |

View File

@@ -0,0 +1,19 @@
# UserProfile
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `AutoSelectAudio` | **bool* | :heavy_minus_sign: | If the account has automatically select audio and subtitle tracks enabled | true |
| `DefaultAudioLanguage` | *string* | :heavy_check_mark: | The preferred audio language for the account | ja |
| `DefaultAudioAccessibility` | [*components.DefaultAudioAccessibility](../../models/components/defaultaudioaccessibility.md) | :heavy_minus_sign: | N/A | 0 |
| `DefaultAudioLanguages` | []*string* | :heavy_minus_sign: | The preferred audio languages for the account | <nil> |
| `DefaultSubtitleLanguage` | *string* | :heavy_check_mark: | The preferred subtitle language for the account | en |
| `DefaultSubtitleLanguages` | []*string* | :heavy_minus_sign: | The preferred subtitle languages for the account | <nil> |
| `AutoSelectSubtitle` | [*components.AutoSelectSubtitle](../../models/components/autoselectsubtitle.md) | :heavy_minus_sign: | N/A | 1 |
| `DefaultSubtitleAccessibility` | [*components.DefaultSubtitleAccessibility](../../models/components/defaultsubtitleaccessibility.md) | :heavy_minus_sign: | N/A | 1 |
| `DefaultSubtitleForced` | [*components.DefaultSubtitleForced](../../models/components/defaultsubtitleforced.md) | :heavy_minus_sign: | N/A | 1 |
| `WatchedIndicator` | [*components.WatchedIndicator](../../models/components/watchedindicator.md) | :heavy_minus_sign: | N/A | 1 |
| `MediaReviewsVisibility` | [*components.MediaReviewsVisibility](../../models/components/mediareviewsvisibility.md) | :heavy_minus_sign: | N/A | 1 |
| `MediaReviewsLanguages` | []*string* | :heavy_minus_sign: | The languages for media reviews visibility | <nil> |

View File

@@ -0,0 +1,13 @@
# WatchedIndicator
Whether or not media watched indicators are enabled (little orange dot on media)
## Values
| Name | Value |
| ---------------------------------- | ---------------------------------- |
| `WatchedIndicatorNone` | 0 |
| `WatchedIndicatorMoviesAndTvShows` | 1 |
| `WatchedIndicatorMovies` | 2 |
| `WatchedIndicatorTvShows` | 3 |

View File

@@ -0,0 +1,11 @@
# AllLibraries
Indicates if the user has access to all libraries.
## Values
| Name | Value |
| --------------------- | --------------------- |
| `AllLibrariesDisable` | 0 |
| `AllLibrariesEnable` | 1 |

View File

@@ -0,0 +1,11 @@
# AllowCameraUpload
Indicates if the user is allowed to upload from a camera.
## Values
| Name | Value |
| -------------------------- | -------------------------- |
| `AllowCameraUploadDisable` | 0 |
| `AllowCameraUploadEnable` | 1 |

View File

@@ -0,0 +1,11 @@
# AllowChannels
Indicates if the user has access to channels.
## Values
| Name | Value |
| ---------------------- | ---------------------- |
| `AllowChannelsDisable` | 0 |
| `AllowChannelsEnable` | 1 |

View File

@@ -0,0 +1,11 @@
# AllowSubtitleAdmin
Indicates if the user can manage subtitles.
## Values
| Name | Value |
| --------------------------- | --------------------------- |
| `AllowSubtitleAdminDisable` | 0 |
| `AllowSubtitleAdminEnable` | 1 |

View File

@@ -0,0 +1,11 @@
# AllowSync
Indicates if the user is allowed to sync media.
## Values
| Name | Value |
| ------------------ | ------------------ |
| `AllowSyncDisable` | 0 |
| `AllowSyncEnable` | 1 |

View File

@@ -0,0 +1,11 @@
# AllowTuners
Indicates if the user is allowed to use tuners.
## Values
| Name | Value |
| -------------------- | -------------------- |
| `AllowTunersDisable` | 0 |
| `AllowTunersEnable` | 1 |

View File

@@ -3,20 +3,20 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *int64* | :heavy_check_mark: | Section identifier | |
| `Type` | **int64* | :heavy_minus_sign: | Item type | |
| `FieldQuery` | **string* | :heavy_minus_sign: | The "field" stands in for any field, the value is a partial string for matching | |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *int64* | :heavy_check_mark: | Section identifier | |
| `Type` | **int64* | :heavy_minus_sign: | Item type | |
| `FieldQuery` | **string* | :heavy_minus_sign: | The "field" stands in for any field, the value is a partial string for matching | |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |

View File

@@ -0,0 +1,9 @@
# Billing
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `InternalPaymentMethod` | [operations.InternalPaymentMethod](../../models/operations/internalpaymentmethod.md) | :heavy_check_mark: | N/A |
| `PaymentMethodID` | *int64* | :heavy_check_mark: | N/A |

View File

@@ -1,13 +1,31 @@
# ButlerTask
The task name
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| `Description` | **string* | :heavy_minus_sign: | A user-friendly description of the task |
| `Enabled` | **bool* | :heavy_minus_sign: | Whether this task is enabled or not |
| `Interval` | **int64* | :heavy_minus_sign: | The interval (in days) of when this task is run. A value of 1 is run every day, 7 is every week, etc. |
| `Name` | **string* | :heavy_minus_sign: | The name of the task |
| `ScheduleRandomized` | **bool* | :heavy_minus_sign: | Indicates whether the timing of the task is randomized within the butler interval |
| `Title` | **string* | :heavy_minus_sign: | A user-friendly title of the task |
## Values
| Name | Value |
| -------------------------------------------- | -------------------------------------------- |
| `ButlerTaskAutomaticUpdates` | AutomaticUpdates |
| `ButlerTaskBackupDatabase` | BackupDatabase |
| `ButlerTaskButlerTaskGenerateAdMarkers` | ButlerTaskGenerateAdMarkers |
| `ButlerTaskButlerTaskGenerateCreditsMarkers` | ButlerTaskGenerateCreditsMarkers |
| `ButlerTaskButlerTaskGenerateIntroMarkers` | ButlerTaskGenerateIntroMarkers |
| `ButlerTaskButlerTaskGenerateVoiceActivity` | ButlerTaskGenerateVoiceActivity |
| `ButlerTaskCleanOldBundles` | CleanOldBundles |
| `ButlerTaskCleanOldCacheFiles` | CleanOldCacheFiles |
| `ButlerTaskDeepMediaAnalysis` | DeepMediaAnalysis |
| `ButlerTaskGarbageCollectBlobs` | GarbageCollectBlobs |
| `ButlerTaskGarbageCollectLibraryMedia` | GarbageCollectLibraryMedia |
| `ButlerTaskGenerateBlurHashes` | GenerateBlurHashes |
| `ButlerTaskGenerateChapterThumbs` | GenerateChapterThumbs |
| `ButlerTaskGenerateMediaIndexFiles` | GenerateMediaIndexFiles |
| `ButlerTaskLoudnessAnalysis` | LoudnessAnalysis |
| `ButlerTaskMusicAnalysis` | MusicAnalysis |
| `ButlerTaskOptimizeDatabase` | OptimizeDatabase |
| `ButlerTaskRefreshEpgGuides` | RefreshEpgGuides |
| `ButlerTaskRefreshLibraries` | RefreshLibraries |
| `ButlerTaskRefreshLocalMedia` | RefreshLocalMedia |
| `ButlerTaskRefreshPeriodicMetadata` | RefreshPeriodicMetadata |
| `ButlerTaskUpgradeMediaAnalysis` | UpgradeMediaAnalysis |

View File

@@ -3,6 +3,6 @@
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
| `ButlerTask` | [][operations.ButlerTask](../../models/operations/butlertask.md) | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `ButlerTask` | [][operations.GetTasksButlerTask](../../models/operations/gettasksbutlertask.md) | :heavy_minus_sign: | N/A |

View File

@@ -3,21 +3,21 @@
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *string* | :heavy_check_mark: | The section where this collection will be created | |
| `Title` | **string* | :heavy_minus_sign: | The title to filter by or assign | |
| `Smart` | **bool* | :heavy_minus_sign: | Whether this is a smart collection/playlist | |
| `URI` | **string* | :heavy_minus_sign: | The URI for processing the smart collection. Required for a smart collection | |
| `Type` | **int64* | :heavy_minus_sign: | The metadata type to filter by | |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *string* | :heavy_check_mark: | The section where this collection will be created | |
| `Title` | **string* | :heavy_minus_sign: | The title to filter by or assign | |
| `Smart` | **bool* | :heavy_minus_sign: | Whether this is a smart collection/playlist | |
| `URI` | **string* | :heavy_minus_sign: | The URI for processing the smart collection. Required for a smart collection | |
| `Type` | [*components.MediaType](../../models/components/mediatype.md) | :heavy_minus_sign: | The type of media to retrieve or filter by.<br/><br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>5 = artist<br/>6 = album<br/>7 = track<br/>8 = photo_album<br/>9 = photo<br/><br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |

View File

@@ -0,0 +1,20 @@
# CreateDownloadQueueStatus
The state of this queue
- deciding: At least one item is still being decided
- waiting: At least one item is waiting for transcode and none are currently transcoding
- processing: At least one item is being transcoded
- done: All items are available (or potentially expired)
- error: At least one item has encountered an error
## Values
| Name | Value |
| ------------------------------------- | ------------------------------------- |
| `CreateDownloadQueueStatusDeciding` | deciding |
| `CreateDownloadQueueStatusWaiting` | waiting |
| `CreateDownloadQueueStatusProcessing` | processing |
| `CreateDownloadQueueStatusDone` | done |
| `CreateDownloadQueueStatusError` | error |

View File

@@ -7,4 +7,4 @@
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | **int64* | :heavy_minus_sign: | N/A |
| `ItemCount` | **int64* | :heavy_minus_sign: | N/A |
| `Status` | [*operations.Status](../../models/operations/status.md) | :heavy_minus_sign: | The state of this queue<br/> - deciding: At least one item is still being decided<br/> - waiting: At least one item is waiting for transcode and none are currently transcoding<br/> - processing: At least one item is being transcoded<br/> - done: All items are available (or potentially expired)<br/> - error: At least one item has encountered an error<br/> |
| `Status` | [*operations.CreateDownloadQueueStatus](../../models/operations/createdownloadqueuestatus.md) | :heavy_minus_sign: | The state of this queue<br/> - deciding: At least one item is still being decided<br/> - waiting: At least one item is waiting for transcode and none are currently transcoding<br/> - processing: At least one item is being transcoded<br/> - done: All items are available (or potentially expired)<br/> - error: At least one item has encountered an error<br/> |

View File

@@ -3,18 +3,18 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *int64* | :heavy_check_mark: | Section identifier | |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *int64* | :heavy_check_mark: | Section identifier | |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |

View File

@@ -3,19 +3,19 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *int64* | :heavy_check_mark: | Section identifier | |
| `Type` | **int64* | :heavy_minus_sign: | Item type | |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *int64* | :heavy_check_mark: | Section identifier | |
| `Type` | **int64* | :heavy_minus_sign: | Item type | |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |

View File

@@ -3,20 +3,20 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *int64* | :heavy_check_mark: | Section identifier | |
| `Type` | **int64* | :heavy_minus_sign: | The metadata type to filter on | |
| `Sort` | **int64* | :heavy_minus_sign: | The metadata type to filter on | |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *int64* | :heavy_check_mark: | Section identifier | |
| `Type` | **int64* | :heavy_minus_sign: | The metadata type to filter on | |
| `Sort` | **int64* | :heavy_minus_sign: | The metadata type to filter on | |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |

View File

@@ -3,17 +3,17 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |

View File

@@ -3,30 +3,30 @@
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `Type` | **int64* | :heavy_minus_sign: | The metadata type to filter by | |
| `IncludeFullMetadata` | [*components.BoolInt](../../models/components/boolint.md) | :heavy_minus_sign: | N/A | 1 |
| `IncludeAncestorMetadata` | [*components.BoolInt](../../models/components/boolint.md) | :heavy_minus_sign: | N/A | 1 |
| `IncludeAlternateMetadataSources` | [*components.BoolInt](../../models/components/boolint.md) | :heavy_minus_sign: | N/A | 1 |
| `GUID` | **string* | :heavy_minus_sign: | Used for movies, shows, artists, albums, and tracks. Allowed for various URI schemes, to be defined. | |
| `Title` | **string* | :heavy_minus_sign: | The title to filter by or assign | |
| `Year` | **int64* | :heavy_minus_sign: | Used for movies shows, and albums. Optional. | |
| `Path` | **string* | :heavy_minus_sign: | Used for movies, episodes, and tracks. The full path to the media file, used for "cloud-scanning" an item. | |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | Used for episodes and tracks. The title of the show/artist. Required if `path` isn't passed. | |
| `GrandparentYear` | **int64* | :heavy_minus_sign: | Used for episodes. The year of the show. | |
| `ParentIndex` | **int64* | :heavy_minus_sign: | Used for episodes and tracks. The season/album number. | |
| `Index` | **int64* | :heavy_minus_sign: | Used for episodes and tracks. The episode/tracks number in the season/album. | |
| `OriginallyAvailableAt` | **string* | :heavy_minus_sign: | Used for episodes. In the format `YYYY-MM-DD`. | |
| `ParentTitle` | **string* | :heavy_minus_sign: | Used for albums and tracks. The artist name for albums or the album name for tracks. | |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `Type` | [*components.MediaType](../../models/components/mediatype.md) | :heavy_minus_sign: | The type of media to retrieve or filter by.<br/><br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>5 = artist<br/>6 = album<br/>7 = track<br/>8 = photo_album<br/>9 = photo<br/><br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |
| `IncludeFullMetadata` | [*components.BoolInt](../../models/components/boolint.md) | :heavy_minus_sign: | N/A | 1 |
| `IncludeAncestorMetadata` | [*components.BoolInt](../../models/components/boolint.md) | :heavy_minus_sign: | N/A | 1 |
| `IncludeAlternateMetadataSources` | [*components.BoolInt](../../models/components/boolint.md) | :heavy_minus_sign: | N/A | 1 |
| `GUID` | **string* | :heavy_minus_sign: | Used for movies, shows, artists, albums, and tracks. Allowed for various URI schemes, to be defined. | |
| `Title` | **string* | :heavy_minus_sign: | The title to filter by or assign | |
| `Year` | **int64* | :heavy_minus_sign: | Used for movies shows, and albums. Optional. | |
| `Path` | **string* | :heavy_minus_sign: | Used for movies, episodes, and tracks. The full path to the media file, used for "cloud-scanning" an item. | |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | Used for episodes and tracks. The title of the show/artist. Required if `path` isn't passed. | |
| `GrandparentYear` | **int64* | :heavy_minus_sign: | Used for episodes. The year of the show. | |
| `ParentIndex` | **int64* | :heavy_minus_sign: | Used for episodes and tracks. The season/album number. | |
| `Index` | **int64* | :heavy_minus_sign: | Used for episodes and tracks. The episode/tracks number in the season/album. | |
| `OriginallyAvailableAt` | **string* | :heavy_minus_sign: | Used for episodes. In the format `YYYY-MM-DD`. | |
| `ParentTitle` | **string* | :heavy_minus_sign: | Used for albums and tracks. The artist name for albums or the album name for tracks. | |

View File

@@ -0,0 +1,8 @@
# GetPlaylistGeneratorItemsGuids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -10,75 +10,79 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Title` | *any* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `Type` | *any* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `AbsoluteIndex` | **int64* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `AddedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `Art` | *any* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `AudienceRating` | **float64* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `AudienceRatingImage` | *any* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Banner` | *any* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `ChapterSource` | *any* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `Composite` | *any* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `ContentRating` | *any* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Duration` | **int64* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent |
| `GUID` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Hero` | *any* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A |
| `Index` | **int64* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `Key` | *any* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `LeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A |
| `OriginallyAvailableAt` | *any* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `OriginalTitle` | *any* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent |
| `ParentIndex` | **int64* | :heavy_minus_sign: | The `index` of the parent |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent |
| `PrimaryExtraKey` | *any* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `Rating` | **float64* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `RatingCount` | **int64* | :heavy_minus_sign: | Number of ratings under this metadata |
| `RatingImage` | *any* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `RatingKey` | *any* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Studio` | *any* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `Subtype` | *any* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `Summary` | *any* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `Tagline` | *any* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `Theme` | *any* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `Thumb` | *any* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `TitleSort` | *any* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `UserRating` | **float64* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `ViewCount` | **int64* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `ViewedLeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `ViewOffset` | **int64* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Year` | **int64* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `ProcessingState` | [*operations.ProcessingState](../../models/operations/processingstate.md) | :heavy_minus_sign: | The state of processing if this generator is part of an optimizer playlist |
| `ProcessingStateContext` | [*operations.ProcessingStateContext](../../models/operations/processingstatecontext.md) | :heavy_minus_sign: | The error which could have occurred (or `good`) |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Title` | *string* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `Type` | *string* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `AbsoluteIndex` | **int* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `AddedAt` | *int64* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `Art` | **string* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `AudienceRating` | **float32* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Banner` | **string* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `ChapterSource` | **string* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `ChildCount` | **int* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `Composite` | **string* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `ContentRating` | **string* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Duration` | **int* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent | |
| `GrandparentGUID` | **string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent | |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent | |
| `GUID` | **string* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `Guids` | [][operations.GetPlaylistGeneratorItemsGuids](../../models/operations/getplaylistgeneratoritemsguids.md) | :heavy_minus_sign: | N/A | |
| `Hero` | **string* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A | |
| `Index` | **int* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `Key` | *string* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `LeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A | |
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `OriginalTitle` | **string* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent | |
| `ParentIndex` | **int* | :heavy_minus_sign: | The `index` of the parent | |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent | |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent | |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent | |
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `Rating` | **float32* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `RatingCount` | **int* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `RatingImage` | **string* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `RatingKey` | **string* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory | |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Studio` | **string* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `Subtype` | **string* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `Summary` | **string* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `Tagline` | **string* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `Theme` | **string* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `Thumb` | **string* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `TitleSort` | **string* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `UserRating` | **float32* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `ViewCount` | **int* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `ViewOffset` | **int* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Year` | **int* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `ProcessingState` | [*operations.ProcessingState](../../models/operations/processingstate.md) | :heavy_minus_sign: | The state of processing if this generator is part of an optimizer playlist | |
| `ProcessingStateContext` | [*operations.ProcessingStateContext](../../models/operations/processingstatecontext.md) | :heavy_minus_sign: | The error which could have occurred (or `good`) | |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -3,20 +3,20 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *int64* | :heavy_check_mark: | Section identifier | |
| `UpdatedAt` | *int64* | :heavy_check_mark: | The update time of the image. Used for busting cache. | |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| `Composite` | [*components.Composite](../../models/components/composite.md) | :heavy_minus_sign: | N/A | |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `SectionID` | *int64* | :heavy_check_mark: | Section identifier | |
| `UpdatedAt` | *int64* | :heavy_check_mark: | The update time of the image. Used for busting cache. | |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |
| `Composite` | [*components.Composite](../../models/components/composite.md) | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,9 @@
# GetServerResourcesGlobals
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |

View File

@@ -0,0 +1,12 @@
# GetServerResourcesRequest
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `IncludeHTTPS` | [*operations.IncludeHTTPS](../../models/operations/includehttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 |
| `IncludeRelay` | [*operations.IncludeRelay](../../models/operations/includerelay.md) | :heavy_minus_sign: | Include Relay addresses in the results <br/>E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400<br/> | 1 |
| `IncludeIPv6` | [*operations.IncludeIPv6](../../models/operations/includeipv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 |

View File

@@ -0,0 +1,11 @@
# GetServerResourcesResponse
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `PlexDevices` | [][components.PlexDevice](../../models/components/plexdevice.md) | :heavy_minus_sign: | List of Plex Devices. This includes Plex hosted servers and clients |

View File

@@ -3,17 +3,17 @@
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `Type` | **int64* | :heavy_minus_sign: | The metadata type to filter by | |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `Type` | [*components.MediaType](../../models/components/mediatype.md) | :heavy_minus_sign: | The type of media to retrieve or filter by.<br/><br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>5 = artist<br/>6 = album<br/>7 = track<br/>8 = photo_album<br/>9 = photo<br/><br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |

View File

@@ -0,0 +1,13 @@
# GetTasksButlerTask
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| `Description` | **string* | :heavy_minus_sign: | A user-friendly description of the task |
| `Enabled` | **bool* | :heavy_minus_sign: | Whether this task is enabled or not |
| `Interval` | **int64* | :heavy_minus_sign: | The interval (in days) of when this task is run. A value of 1 is run every day, 7 is every week, etc. |
| `Name` | **string* | :heavy_minus_sign: | The name of the task |
| `ScheduleRandomized` | **bool* | :heavy_minus_sign: | Indicates whether the timing of the task is randomized within the butler interval |
| `Title` | **string* | :heavy_minus_sign: | A user-friendly title of the task |

View File

@@ -0,0 +1,18 @@
# GetTokenDetailsGlobals
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,18 @@
# GetTokenDetailsRequest
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,11 @@
# GetTokenDetailsResponse
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `UserPlexAccount` | [*components.UserPlexAccount](../../models/components/userplexaccount.md) | :heavy_minus_sign: | Logged in user details |

View File

@@ -0,0 +1,18 @@
# GetUsersGlobals
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,15 @@
# GetUsersMediaContainer
Container holding user and server details.
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
| `FriendlyName` | *string* | :heavy_check_mark: | The friendly name of the Plex instance. | myPlex |
| `Identifier` | *string* | :heavy_check_mark: | N/A | com.plexapp.plugins.myplex |
| `MachineIdentifier` | *string* | :heavy_check_mark: | Unique Machine identifier of the Plex server. | 3dff4c4da3b1229a649aa574a9e2b419a684a20e |
| `TotalSize` | *int64* | :heavy_check_mark: | Total number of users. | 30 |
| `Size` | *int64* | :heavy_check_mark: | Number of users in the current response. | 30 |
| `User` | [][operations.User](../../models/operations/user.md) | :heavy_check_mark: | List of users with access to the Plex server. | |

View File

@@ -0,0 +1,18 @@
# GetUsersRequest
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |

View File

@@ -0,0 +1,11 @@
# GetUsersResponse
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetUsersResponseBody](../../models/operations/getusersresponsebody.md) | :heavy_minus_sign: | Successful response with media container data in JSON |

View File

@@ -0,0 +1,10 @@
# GetUsersResponseBody
Successful response with media container data in JSON
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.GetUsersMediaContainer](../../models/operations/getusersmediacontainer.md) | :heavy_minus_sign: | Container holding user and server details. |

View File

@@ -0,0 +1,8 @@
# Guids
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://<br/> | {<br/>"imdbExample": {<br/>"summary": "IMDB example",<br/>"value": "imdb://tt13015952"<br/>},<br/>"tmdbExample": {<br/>"summary": "TMDB example",<br/>"value": "tmdb://2434012"<br/>},<br/>"tvdbExample": {<br/>"summary": "TVDB example",<br/>"value": "tvdb://7945991"<br/>}<br/>} |

View File

@@ -0,0 +1,11 @@
# Home
Indicates if the user is part of a home group.
## Values
| Name | Value |
| ------------- | ------------- |
| `HomeDisable` | 0 |
| `HomeEnable` | 1 |

View File

@@ -0,0 +1,11 @@
# IncludeHTTPS
Include Https entries in the results
## Values
| Name | Value |
| ------------------- | ------------------- |
| `IncludeHTTPSFalse` | 0 |
| `IncludeHTTPSTrue` | 1 |

View File

@@ -0,0 +1,11 @@
# IncludeIPv6
Include IPv6 entries in the results
## Values
| Name | Value |
| ------------------ | ------------------ |
| `IncludeIPv6False` | 0 |
| `IncludeIPv6True` | 1 |

View File

@@ -0,0 +1,13 @@
# IncludeRelay
Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
## Values
| Name | Value |
| ------------------- | ------------------- |
| `IncludeRelayFalse` | 0 |
| `IncludeRelayTrue` | 1 |

View File

@@ -0,0 +1,7 @@
# InternalPaymentMethod
## Fields
| Field | Type | Required | Description |
| ----------- | ----------- | ----------- | ----------- |

View File

@@ -3,18 +3,22 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | This is a complex query built of several parameters. See [API Info section](#section/API-Info/Media-Queries) for information on building media queries | |
| `SectionID` | *string* | :heavy_check_mark: | The id of the section | |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Accepts` | [*components.Accepts](../../models/components/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 |
| `Product` | **string* | :heavy_minus_sign: | The name of the client product | Plex for Roku |
| `Version` | **string* | :heavy_minus_sign: | The version of the client application | 2.4.1 |
| `Platform` | **string* | :heavy_minus_sign: | The platform of the client | Roku |
| `PlatformVersion` | **string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 |
| `Device` | **string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 |
| `Model` | **string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `DeviceVendor` | **string* | :heavy_minus_sign: | The device vendor | Roku |
| `DeviceName` | **string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV |
| `Marketplace` | **string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `XPlexContainerStart` | **int* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.<br/>If the number of items exceeds the limit, the response will be paginated.<br/>By default this is 0<br/> | 0 |
| `XPlexContainerSize` | **int* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.<br/>If the number of items exceeds the limit, the response will be paginated.<br/>By default this is 50<br/> | 50 |
| `MediaQuery` | [*components.MediaQuery](../../models/components/mediaquery.md) | :heavy_minus_sign: | A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.<br/><br/>The query supports:<br/>- Fields: integer, boolean, tag, string, date, language<br/>- Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)<br/>- Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)<br/>- Sorting: sort parameter with :desc, :nullsLast modifiers<br/>- Grouping: group parameter<br/>- Limits: limit parameter<br/><br/>Examples:<br/>- Object format: `{type: 4, sourceType: 2, title: "24"}``type=4&sourceType=2&title=24`<br/>- String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"<br/>- Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10<br/><br/>See [API Info section](#section/API-Info/Media-Queries) for detailed information on building media queries.<br/> | {<br/>"type": 4,<br/>"sourceType": 2,<br/>"sort": "duration:desc,index"<br/>} |
| `IncludeMeta` | [*components.BoolInt](../../models/components/boolint.md) | :heavy_minus_sign: | Adds the Meta object to the response<br/> | 1 |
| `IncludeGuids` | [*components.BoolInt](../../models/components/boolint.md) | :heavy_minus_sign: | Adds the Guid object to the response<br/> | 1 |
| `SectionID` | *string* | :heavy_check_mark: | The id of the section | |

View File

@@ -0,0 +1,12 @@
# MailingListStatus
Your current mailing list status
## Values
| Name | Value |
| ------------------------------- | ------------------------------- |
| `MailingListStatusActive` | active |
| `MailingListStatusUnsubscribed` | unsubscribed |
| `MailingListStatusRemoved` | removed |

View File

@@ -10,76 +10,80 @@ Metadata items can often live in a hierarchy with relationships between them. F
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Player` | [*components.Player](../../models/components/player.md) | :heavy_minus_sign: | Information about the player being used for playback |
| `Session` | [*components.Session](../../models/components/session.md) | :heavy_minus_sign: | Information about the playback session |
| `User` | [*components.User](../../models/components/user.md) | :heavy_minus_sign: | The user playing the content |
| `Title` | *any* | :heavy_minus_sign: | The title of the item (e.g. “300” or “The Simpsons”) |
| `Type` | *any* | :heavy_minus_sign: | The type of the video item, such as `movie`, `episode`, or `clip`. |
| `AbsoluteIndex` | **int64* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. |
| `AddedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was added to the library. |
| `Art` | *any* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. |
| `AudienceRating` | **float64* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings |
| `AudienceRatingImage` | *any* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Banner` | *any* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. |
| `ChapterSource` | *any* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). |
| `Composite` | *any* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). |
| `ContentRating` | *any* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Duration` | **int64* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent |
| `GUID` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Hero` | *any* | :heavy_minus_sign: | When present, the URL for a hero image for the item. |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A |
| `Index` | **int64* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. |
| `Key` | *any* | :heavy_minus_sign: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | When a user has watched or listened to an item, this contains a timestamp (epoch seconds) for that last consumption time. |
| `LeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A |
| `OriginallyAvailableAt` | *any* | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. |
| `OriginalTitle` | *any* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent |
| `ParentIndex` | **int64* | :heavy_minus_sign: | The `index` of the parent |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent |
| `PrimaryExtraKey` | *any* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) |
| `Rating` | **float64* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `RatingCount` | **int64* | :heavy_minus_sign: | Number of ratings under this metadata |
| `RatingImage` | *any* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. |
| `RatingKey` | *any* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level |
| `Studio` | *any* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). |
| `Subtype` | *any* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library |
| `Summary` | *any* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). |
| `Tagline` | *any* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). |
| `Theme` | *any* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). |
| `Thumb` | *any* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. |
| `TitleSort` | *any* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). |
| `UserRating` | **float64* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating |
| `ViewCount` | **int64* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. |
| `ViewedLeafCount` | **int64* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. |
| `ViewOffset` | **int64* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A |
| `Year` | **int64* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Player` | [*components.Player](../../models/components/player.md) | :heavy_minus_sign: | Information about the player being used for playback | |
| `Session` | [*components.Session](../../models/components/session.md) | :heavy_minus_sign: | Information about the playback session | |
| `User` | [*components.User](../../models/components/user.md) | :heavy_minus_sign: | The user playing the content | |
| `Title` | *string* | :heavy_check_mark: | The title of the item (e.g. “300” or “The Simpsons”) | |
| `Type` | *string* | :heavy_check_mark: | The type of the video item, such as `movie`, `episode`, or `clip`. | |
| `AbsoluteIndex` | **int* | :heavy_minus_sign: | When present, contains the disc number for a track on multi-disc albums. | |
| `AddedAt` | *int64* | :heavy_check_mark: | In units of seconds since the epoch, returns the time at which the item was added to the library. | |
| `Art` | **string* | :heavy_minus_sign: | When present, the URL for the background artwork for the item. | /library/metadata/58683/art/1703239236 |
| `AudienceRating` | **float32* | :heavy_minus_sign: | Some rating systems separate reviewer ratings from audience ratings | |
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | A URI representing the image to be shown with the audience rating (e.g. rottentomatoes://image.rating.spilled). | |
| `Autotag` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Banner` | **string* | :heavy_minus_sign: | When present, the URL for a banner graphic for the item. | |
| `ChapterSource` | **string* | :heavy_minus_sign: | When present, indicates the source for the chapters in the media file. Can be media (the chapters were embedded in the media itself), agent (a metadata agent computed them), or mixed (a combination of the two). | media |
| `ChildCount` | **int* | :heavy_minus_sign: | The number of child items associated with this media item. | 1 |
| `Composite` | **string* | :heavy_minus_sign: | When present, the URL for a composite image for descendent items (e.g. photo albums or playlists). | |
| `ContentRating` | **string* | :heavy_minus_sign: | If known, the content rating (e.g. MPAA) for an item. | |
| `Country` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Director` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Duration` | **int* | :heavy_minus_sign: | When present, the duration for the item, in units of milliseconds. | |
| `Filter` | [][components.Filter](../../models/components/filter.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Genre` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The `art` of the grandparent | |
| `GrandparentGUID` | **string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentHero` | **string* | :heavy_minus_sign: | The `hero` of the grandparent | |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The `key` of the grandparent | |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the grandparent | |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The `theme` of the grandparent | |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the grandparent | |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The `title` of the grandparent | |
| `GUID` | **string* | :heavy_minus_sign: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `Guids` | [][operations.Guids](../../models/operations/guids.md) | :heavy_minus_sign: | N/A | |
| `Hero` | **string* | :heavy_minus_sign: | When present, the URL for a hero image for the item. | |
| `Image` | [][components.Image](../../models/components/image.md) | :heavy_minus_sign: | N/A | |
| `Index` | **int* | :heavy_minus_sign: | When present, this represents the episode number for episodes, season number for seasons, or track number for audio tracks. | |
| `Key` | *string* | :heavy_check_mark: | The key at which the item's details can be fetched. In many cases a metadata item may be passed without all the details (such as in a hub) and this key corresponds to the endpoint to fetch additional details. | |
| `LastViewedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `LeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of total episodes. | |
| `Media` | [][components.Media](../../models/components/media.md) | :heavy_minus_sign: | N/A | |
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | When present, in the format YYYY-MM-DD [HH:MM:SS] (the hours/minutes/seconds part is not always present). The air date, or a higher resolution release date for an item, depending on type. For example, episodes usually have air date like 1979-08-10 (we don't use epoch seconds because media existed prior to 1970). In some cases, recorded over-the-air content has higher resolution air date which includes a time component. Albums and movies may have day-resolution release dates as well. | 2022-12-14 |
| `OriginalTitle` | **string* | :heavy_minus_sign: | When present, used to indicate an item's original title, e.g. a movie's foreign title. | |
| `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `ParentHero` | **string* | :heavy_minus_sign: | The `hero` of the parent | |
| `ParentIndex` | **int* | :heavy_minus_sign: | The `index` of the parent | |
| `ParentKey` | **string* | :heavy_minus_sign: | The `key` of the parent | |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The `ratingKey` of the parent | |
| `ParentThumb` | **string* | :heavy_minus_sign: | The `thumb` of the parent | |
| `ParentTitle` | **string* | :heavy_minus_sign: | The `title` of the parent | |
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | Indicates that the item has a primary extra; for a movie, this is a trailer, and for a music track it is a music video. The URL points to the metadata details endpoint for the item. | |
| `Prompt` | **string* | :heavy_minus_sign: | Prompt to give the user for this directory (such as `Search Movies`) | |
| `Rating` | **float32* | :heavy_minus_sign: | When present, the rating for the item. The exact meaning and representation depends on where the rating was sourced from. | |
| `RatingArray` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `RatingCount` | **int* | :heavy_minus_sign: | Number of ratings under this metadata | |
| `RatingImage` | **string* | :heavy_minus_sign: | When present, indicates an image to be shown with the rating. This is passed back as a small set of defined URI values, e.g. rottentomatoes://image.rating.rotten. | |
| `RatingKey` | **string* | :heavy_minus_sign: | This is the opaque string to be passed into timeline, scrobble, and rating endpoints to identify them. While it often appears to be numeric, this is not guaranteed. | |
| `Role` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Search` | **bool* | :heavy_minus_sign: | Indicates this is a search directory | |
| `Secondary` | **bool* | :heavy_minus_sign: | Used by old clients to provide nested menus allowing for primative (but structured) navigation. | |
| `SkipChildren` | **bool* | :heavy_minus_sign: | When found on a show item, indicates that the children (seasons) should be skipped in favor of the grandchildren (episodes). Useful for mini-series, etc. | |
| `SkipParent` | **bool* | :heavy_minus_sign: | When present on an episode or track item, indicates parent should be skipped in favor of grandparent (show). | |
| `Sort` | [][components.Sort](../../models/components/sort.md) | :heavy_minus_sign: | Typically only seen in metadata at a library's top level | |
| `Studio` | **string* | :heavy_minus_sign: | When present, the studio or label which produced an item (e.g. movie studio for movies, record label for albums). | |
| `Subtype` | **string* | :heavy_minus_sign: | The subtype of the video item, such as `photo` when the video item is in a photo library | |
| `Summary` | **string* | :heavy_minus_sign: | When present, the extended textual information about the item (e.g. movie plot, artist biography, album review). | |
| `Tagline` | **string* | :heavy_minus_sign: | When present, a pithy one-liner about the item (usually only seen for movies). | |
| `Theme` | **string* | :heavy_minus_sign: | When present, the URL for theme music for the item (usually only for TV shows). | /library/metadata/1/theme/1705636920 |
| `Thumb` | **string* | :heavy_minus_sign: | When present, the URL for the poster or thumbnail for the item. When available for types like movie, it will be the poster graphic, but fall-back to the extracted media thumbnail. | /library/metadata/58683/thumb/1703239236 |
| `TitleSort` | **string* | :heavy_minus_sign: | Whene present, this is the string used for sorting the item. It's usually the title with any leading articles removed (e.g. “Simpsons”). | |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | In units of seconds since the epoch, returns the time at which the item was last changed (e.g. had its metadata updated). | |
| `UserRating` | **float32* | :heavy_minus_sign: | When the user has rated an item, this contains the user rating | |
| `ViewCount` | **int* | :heavy_minus_sign: | When a users has completed watched or listened to an item, this attribute contains the number of consumptions. | |
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | For shows and seasons, contains the number of viewed episodes. | |
| `ViewOffset` | **int* | :heavy_minus_sign: | When a user is in the process of viewing or listening to this item, this attribute contains the current offset, in units of milliseconds. | |
| `Writer` | [][components.Tag](../../models/components/tag.md) | :heavy_minus_sign: | N/A | |
| `Year` | **int* | :heavy_minus_sign: | When present, the year associated with the item's release (e.g. release year for a movie). | |
| `AdditionalProperties` | map[string]*any* | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,11 @@
# Owned
Indicates if the user owns the server.
## Values
| Name | Value |
| -------------- | -------------- |
| `OwnedDisable` | 0 |
| `OwnedEnable` | 1 |

View File

@@ -0,0 +1,22 @@
# PastSubscription
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `ID` | *string* | :heavy_check_mark: | N/A | |
| `Mode` | *string* | :heavy_check_mark: | N/A | |
| `RenewsAt` | *int64* | :heavy_check_mark: | N/A | 1556281940 |
| `EndsAt` | *int64* | :heavy_check_mark: | N/A | 1556281940 |
| `Canceled` | **bool* | :heavy_minus_sign: | N/A | false |
| `GracePeriod` | **bool* | :heavy_minus_sign: | N/A | false |
| `OnHold` | **bool* | :heavy_minus_sign: | N/A | false |
| `CanReactivate` | **bool* | :heavy_minus_sign: | N/A | false |
| `CanUpgrade` | **bool* | :heavy_minus_sign: | N/A | false |
| `CanDowngrade` | **bool* | :heavy_minus_sign: | N/A | false |
| `CanConvert` | **bool* | :heavy_minus_sign: | N/A | false |
| `Type` | *string* | :heavy_check_mark: | N/A | plexpass |
| `Transfer` | *string* | :heavy_check_mark: | N/A | |
| `State` | [operations.PostUsersSignInDataState](../../models/operations/postuserssignindatastate.md) | :heavy_check_mark: | N/A | ended |
| `Billing` | [operations.Billing](../../models/operations/billing.md) | :heavy_check_mark: | N/A | |

View File

@@ -0,0 +1,31 @@
# PathParamButlerTask
The task name
## Values
| Name | Value |
| ----------------------------------------------------- | ----------------------------------------------------- |
| `PathParamButlerTaskAutomaticUpdates` | AutomaticUpdates |
| `PathParamButlerTaskBackupDatabase` | BackupDatabase |
| `PathParamButlerTaskButlerTaskGenerateAdMarkers` | ButlerTaskGenerateAdMarkers |
| `PathParamButlerTaskButlerTaskGenerateCreditsMarkers` | ButlerTaskGenerateCreditsMarkers |
| `PathParamButlerTaskButlerTaskGenerateIntroMarkers` | ButlerTaskGenerateIntroMarkers |
| `PathParamButlerTaskButlerTaskGenerateVoiceActivity` | ButlerTaskGenerateVoiceActivity |
| `PathParamButlerTaskCleanOldBundles` | CleanOldBundles |
| `PathParamButlerTaskCleanOldCacheFiles` | CleanOldCacheFiles |
| `PathParamButlerTaskDeepMediaAnalysis` | DeepMediaAnalysis |
| `PathParamButlerTaskGarbageCollectBlobs` | GarbageCollectBlobs |
| `PathParamButlerTaskGarbageCollectLibraryMedia` | GarbageCollectLibraryMedia |
| `PathParamButlerTaskGenerateBlurHashes` | GenerateBlurHashes |
| `PathParamButlerTaskGenerateChapterThumbs` | GenerateChapterThumbs |
| `PathParamButlerTaskGenerateMediaIndexFiles` | GenerateMediaIndexFiles |
| `PathParamButlerTaskLoudnessAnalysis` | LoudnessAnalysis |
| `PathParamButlerTaskMusicAnalysis` | MusicAnalysis |
| `PathParamButlerTaskOptimizeDatabase` | OptimizeDatabase |
| `PathParamButlerTaskRefreshEpgGuides` | RefreshEpgGuides |
| `PathParamButlerTaskRefreshLibraries` | RefreshLibraries |
| `PathParamButlerTaskRefreshLocalMedia` | RefreshLocalMedia |
| `PathParamButlerTaskRefreshPeriodicMetadata` | RefreshPeriodicMetadata |
| `PathParamButlerTaskUpgradeMediaAnalysis` | UpgradeMediaAnalysis |

View File

@@ -1,31 +0,0 @@
# PathParamTask
The task name
## Values
| Name | Value |
| ----------------------------------------------- | ----------------------------------------------- |
| `PathParamTaskAutomaticUpdates` | AutomaticUpdates |
| `PathParamTaskBackupDatabase` | BackupDatabase |
| `PathParamTaskButlerTaskGenerateAdMarkers` | ButlerTaskGenerateAdMarkers |
| `PathParamTaskButlerTaskGenerateCreditsMarkers` | ButlerTaskGenerateCreditsMarkers |
| `PathParamTaskButlerTaskGenerateIntroMarkers` | ButlerTaskGenerateIntroMarkers |
| `PathParamTaskButlerTaskGenerateVoiceActivity` | ButlerTaskGenerateVoiceActivity |
| `PathParamTaskCleanOldBundles` | CleanOldBundles |
| `PathParamTaskCleanOldCacheFiles` | CleanOldCacheFiles |
| `PathParamTaskDeepMediaAnalysis` | DeepMediaAnalysis |
| `PathParamTaskGarbageCollectBlobs` | GarbageCollectBlobs |
| `PathParamTaskGarbageCollectLibraryMedia` | GarbageCollectLibraryMedia |
| `PathParamTaskGenerateBlurHashes` | GenerateBlurHashes |
| `PathParamTaskGenerateChapterThumbs` | GenerateChapterThumbs |
| `PathParamTaskGenerateMediaIndexFiles` | GenerateMediaIndexFiles |
| `PathParamTaskLoudnessAnalysis` | LoudnessAnalysis |
| `PathParamTaskMusicAnalysis` | MusicAnalysis |
| `PathParamTaskOptimizeDatabase` | OptimizeDatabase |
| `PathParamTaskRefreshEpgGuides` | RefreshEpgGuides |
| `PathParamTaskRefreshLibraries` | RefreshLibraries |
| `PathParamTaskRefreshLocalMedia` | RefreshLocalMedia |
| `PathParamTaskRefreshPeriodicMetadata` | RefreshPeriodicMetadata |
| `PathParamTaskUpgradeMediaAnalysis` | UpgradeMediaAnalysis |

View File

@@ -0,0 +1,11 @@
# Pending
Indicates if the server is pending approval.
## Values
| Name | Value |
| ---------------- | ---------------- |
| `PendingDisable` | 0 |
| `PendingEnable` | 1 |

Some files were not shown because too many files have changed in this diff Show More