## Typescript SDK Changes:

* `plex-api.libraryPlaylists.addPlaylistItems()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getMetadataHubs()`: 
  *  `request.onlyTransient` **Changed**
  *  `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.libraryCollections.moveCollectionItem()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.libraryCollections.deleteCollectionItem()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.libraryCollections.addCollectionItems()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.content.getSonicallySimilar()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.butler.stopTask()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.butler.startTask()`:  `request` **Changed** **Breaking** ⚠️
* `plex-api.content.getSonicPath()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.downloadQueue.getItemDecision()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getAllHubs()`: 
  *  `request.onlyTransient` **Changed**
  *  `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getContinueWatching()`:  `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getPromotedHubs()`:  `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.content.getAllLeaves()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getPostplayHubs()`: 
  *  `request.onlyTransient` **Changed**
  *  `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getRelatedHubs()`: 
  *  `request.onlyTransient` **Changed**
  *  `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.hubs.getSectionHubs()`: 
  *  `request.onlyTransient` **Changed**
  *  `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.content.listContent()`: 
  *  `request` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.content.getAlbums()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.search.searchHubs()`:  `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.search.voiceSearchHubs()`: 
  *  `request.type` **Changed** **Breaking** ⚠️
  *  `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.getLibraryItems()`: 
  *  `request.mediaQuery` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.ingestTransientItem()`: 
  *  `request` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.getLibraryMatches()`: 
  *  `request` **Changed** **Breaking** ⚠️
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.content.getMetadataItem()`: 
  *  `request` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.getSections()`:  `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.addSection()`: 
  *  `request` **Changed**
  *  `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.getTags()`: 
  *  `request.type` **Changed** **Breaking** ⚠️
* `plex-api.content.getCollectionItems()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.getAllItemLeaves()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.status.listSessions()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.movePlayQueueItem()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.getExtras()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.deletePlayQueueItem()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.unshuffle()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.listMatches()`: 
  *  `request.manual` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.listSonicallySimilar()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.resetPlayQueue()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.getRelatedItems()`:  `response.mediacontainer.hub.[].metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.listSimilar()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.clearPlayQueue()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.getItemTree()`:  `response.mediacontainer.metadataItem.[]` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.addToPlayQueue()`: 
  *  `request.next` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.getPlayQueue()`: 
  *  `request` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.movePlaylistItem()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.getPerson()`:  `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.listPersonMedia()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.getPlaylistGeneratorItems()`:  `response.mediacontainer.metadata` **Changed** **Breaking** ⚠️
* `plex-api.library.getLibraryDetails()`: 
  *  `request.includeDetails` **Changed**
  *  `response.mediacontainer.directory.[]` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.modifyPlaylistGenerator()`: 
  *  `request.item` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.autocomplete()`: 
  *  `request.mediaQuery` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.getCollections()`: 
  *  `request.mediaQuery` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.getCommon()`: 
  *  `request.mediaQuery` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.deletePlaylistItem()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.clearPlaylistItems()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.playQueue.shuffle()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.libraryPlaylists.createPlaylist()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.playlist.getPlaylistItems()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.playlist.getPlaylist()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.collections.createCollection()`: 
  *  `request.type` **Changed** **Breaking** ⚠️
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.dvRs.tuneChannel()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.liveTv.getSessions()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.liveTv.getLiveTvSession()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.playlist.listPlaylists()`:  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.getAllSubscriptions()`: 
  *  `request` **Changed**
  *  `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.createSubscription()`:  `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.getScheduledRecordings()`:  `response.mediacontainer.mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.getTemplate()`:  `response.mediacontainer.subscriptionTemplate.[].mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.getSubscription()`: 
  *  `request` **Changed**
  *  `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.editSubscriptionPreferences()`:  `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️
* `plex-api.subscriptions.reorderSubscription()`:  `response.mediacontainer.mediaSubscription.[].mediaGrabOperation.[].metadata` **Changed** **Breaking** ⚠️
* `plex-api.transcoder.makeDecision()`: 
  *  `request` **Changed**
  *  `response.mediacontainer.metadata.[]` **Changed** **Breaking** ⚠️
* `plex-api.library.refreshItemsMetadata()`: 
  *  `request.markUpdated` **Changed**
* `plex-api.authentication.postUsersSignInData()`: **Added**
* `plex-api.transcoder.startTranscodeSession()`:  `request` **Changed**
* `plex-api.devices.modifyDevice()`: 
  *  `request.enabled` **Changed**
* `plex-api.library.getMediaPart()`: 
  *  `request.download` **Changed**
* `plex-api.library.detectIntros()`: 
  *  `request.force` **Changed**
* `plex-api.library.refreshSection()`: 
  *  `request.force` **Changed**
* `plex-api.libraryPlaylists.uploadPlaylist()`: 
  *  `request.force` **Changed**
* `plex-api.library.deleteMediaItem()`: 
  *  `request.proxy` **Changed**
* `plex-api.authentication.getTokenDetails()`: **Added**
* `plex-api.library.getFirstCharacters()`: 
  *  `request.mediaQuery` **Changed**
* `plex-api.library.updateItems()`: 
  *  `request.field.locked` **Changed**
* `plex-api.library.deleteLibrarySection()`: 
  *  `request.async` **Changed**
* `plex-api.library.setStreamSelection()`: 
  *  `request.allParts` **Changed**
* `plex-api.playQueue.createPlayQueue()`:  `request` **Changed**
* `plex-api.library.getAugmentationStatus()`: 
  *  `request.wait` **Changed**
* `plex-api.library.detectVoiceActivity()`:  `request` **Changed**
* `plex-api.transcoder.transcodeImage()`:  `request` **Changed**
* `plex-api.transcoder.transcodeSubtitles()`:  `request` **Changed**
* `plex-api.library.addSubtitles()`:  `request` **Changed**
* `plex-api.library.getStream()`: 
  *  `request.autoAdjustSubtitle` **Changed**
* `plex-api.library.startBifGeneration()`: 
  *  `request.force` **Changed**
* `plex-api.library.detectCredits()`:  `request` **Changed**
* `plex-api.ultraBlur.getImage()`: 
  *  `request.noise` **Changed**
* `plex-api.library.generateThumbs()`: 
  *  `request.force` **Changed**
* `plex-api.updater.applyUpdates()`:  `request` **Changed**
* `plex-api.updater.checkUpdates()`: 
  *  `request.download` **Changed**
* `plex-api.library.deleteMetadataItem()`: 
  *  `request.proxy` **Changed**
* `plex-api.library.optimizeDatabase()`: 
  *  `request.async` **Changed**
* `plex-api.hubs.updateHubVisibility()`:  `request` **Changed**
* `plex-api.hubs.createCustomHub()`:  `request` **Changed**
* `plex-api.library.getSectionImage()`: 
  *  `request.mediaQuery` **Changed**
* `plex-api.downloadQueue.addDownloadQueueItems()`:  `request` **Changed**
* `plex-api.timeline.report()`:  `request` **Changed**
* `plex-api.general.getSourceConnectionInformation()`: 
  *  `request.refresh` **Changed**
* `plex-api.plex.getServerResources()`: **Added**
* `plex-api.users.getUsers()`: **Added**
This commit is contained in:
speakeasybot
2025-12-01 00:15:57 +00:00
parent 03c047afa2
commit 3994020ebb
376 changed files with 16211 additions and 3902 deletions

File diff suppressed because one or more lines are too long

View File

@@ -25,7 +25,7 @@ generation:
generateNewTests: true generateNewTests: true
skipResponseBodyAssertions: false skipResponseBodyAssertions: false
typescript: typescript:
version: 0.43.0 version: 0.44.0
acceptHeaderEnum: true acceptHeaderEnum: true
additionalDependencies: additionalDependencies:
dependencies: {} dependencies: {}
@@ -46,6 +46,9 @@ typescript:
exportZodModelNamespace: false exportZodModelNamespace: false
flattenGlobalSecurity: true flattenGlobalSecurity: true
flatteningOrder: body-first flatteningOrder: body-first
formStringArrayEncodeMode: encoded-string
forwardCompatibleEnumsByDefault: false
forwardCompatibleUnionsByDefault: "false"
generateExamples: true generateExamples: true
imports: imports:
option: openapi option: openapi
@@ -55,12 +58,15 @@ typescript:
operations: sdk/models/operations operations: sdk/models/operations
shared: sdk/models/shared shared: sdk/models/shared
webhooks: sdk/models/webhooks webhooks: sdk/models/webhooks
inferUnionDiscriminators: true
inputModelSuffix: input inputModelSuffix: input
jsonpath: legacy jsonpath: legacy
laxMode: strict
maxMethodParams: 4 maxMethodParams: 4
methodArguments: require-security-and-request methodArguments: require-security-and-request
modelPropertyCasing: camel modelPropertyCasing: camel
moduleFormat: commonjs moduleFormat: commonjs
multipartArrayFormat: legacy
outputModelSuffix: output outputModelSuffix: output
packageName: '@lukehagar/plexjs' packageName: '@lukehagar/plexjs'
responseFormat: envelope responseFormat: envelope

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.656.1 speakeasyVersion: 1.665.0
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
@@ -9,20 +9,20 @@ sources:
- main - main
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:56fc783b16af019db4eb0fe52df504315e8e7c7ae41e319a61bba8823f19df4b sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
sourceBlobDigest: sha256:b62613477fd824bb42cf0bf5d0f9980448259c9c7456e03ca6a10eef39a3994f sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1762992705 - speakeasy-sdk-regen-1764548057
- 1.1.1 - 1.1.1
targets: targets:
plexjs: plexjs:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:56fc783b16af019db4eb0fe52df504315e8e7c7ae41e319a61bba8823f19df4b sourceRevisionDigest: sha256:ace004a3b232e8ab9ca3d89f2da8e40470236e6d997073a16c3f8872d67a7383
sourceBlobDigest: sha256:b62613477fd824bb42cf0bf5d0f9980448259c9c7456e03ca6a10eef39a3994f sourceBlobDigest: sha256:993bfb796a3833b0a3b813ad12469ca34db94f23c2d15ae988a26b4d1ed80fbe
codeSamplesNamespace: code-samples-typescript-plexjs codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:9c301d7b022dab8173b220aa8f2546378c973a75491335d1742c60d131abdf27 codeSamplesRevisionDigest: sha256:c53f6ae11c517b30d265b87a938e710393ce8921f2f8f5e04f73419faf2ae2f0
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest

View File

@@ -38,6 +38,7 @@ const plexAPI = new PlexAPICore({
deviceVendor: "Roku", deviceVendor: "Roku",
deviceName: "Living Room TV", deviceName: "Living Room TV",
marketplace: "googlePlay", marketplace: "googlePlay",
token: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
@@ -47,13 +48,13 @@ async function run() {
advancedSubtitles: AdvancedSubtitles.Burn, advancedSubtitles: AdvancedSubtitles.Burn,
audioBoost: 50, audioBoost: 50,
audioChannelCount: 5, audioChannelCount: 5,
autoAdjustQuality: BoolInt.One, autoAdjustQuality: BoolInt.True,
autoAdjustSubtitle: BoolInt.One, autoAdjustSubtitle: BoolInt.True,
directPlay: BoolInt.One, directPlay: BoolInt.True,
directStream: BoolInt.One, directStream: BoolInt.True,
directStreamAudio: BoolInt.One, directStreamAudio: BoolInt.True,
disableResolutionRotation: BoolInt.One, disableResolutionRotation: BoolInt.True,
hasMDE: BoolInt.One, hasMDE: BoolInt.True,
location: StartTranscodeSessionLocation.Wan, location: StartTranscodeSessionLocation.Wan,
mediaBufferSize: 102400, mediaBufferSize: 102400,
mediaIndex: 0, mediaIndex: 0,

110
README.md
View File

@@ -96,6 +96,7 @@ const plexAPI = new PlexAPI({
deviceVendor: "Roku", deviceVendor: "Roku",
deviceName: "Living Room TV", deviceName: "Living Room TV",
marketplace: "googlePlay", marketplace: "googlePlay",
token: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
@@ -105,13 +106,13 @@ async function run() {
advancedSubtitles: AdvancedSubtitles.Burn, advancedSubtitles: AdvancedSubtitles.Burn,
audioBoost: 50, audioBoost: 50,
audioChannelCount: 5, audioChannelCount: 5,
autoAdjustQuality: BoolInt.One, autoAdjustQuality: BoolInt.True,
autoAdjustSubtitle: BoolInt.One, autoAdjustSubtitle: BoolInt.True,
directPlay: BoolInt.One, directPlay: BoolInt.True,
directStream: BoolInt.One, directStream: BoolInt.True,
directStreamAudio: BoolInt.One, directStreamAudio: BoolInt.True,
disableResolutionRotation: BoolInt.One, disableResolutionRotation: BoolInt.True,
hasMDE: BoolInt.One, hasMDE: BoolInt.True,
location: StartTranscodeSessionLocation.Wan, location: StartTranscodeSessionLocation.Wan,
mediaBufferSize: 102400, mediaBufferSize: 102400,
mediaIndex: 0, mediaIndex: 0,
@@ -151,6 +152,11 @@ run();
* [listActivities](docs/sdks/activities/README.md#listactivities) - Get all activities * [listActivities](docs/sdks/activities/README.md#listactivities) - Get all activities
* [cancelActivity](docs/sdks/activities/README.md#cancelactivity) - Cancel a running activity * [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) ### [butler](docs/sdks/butler/README.md)
* [stopTasks](docs/sdks/butler/README.md#stoptasks) - Stop all Butler tasks * [stopTasks](docs/sdks/butler/README.md#stoptasks) - Stop all Butler tasks
@@ -398,6 +404,10 @@ run();
* [deletePlayQueueItem](docs/sdks/playqueue/README.md#deleteplayqueueitem) - Delete an item from a play queue * [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 * [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) ### [preferences](docs/sdks/preferences/README.md)
* [getAllPreferences](docs/sdks/preferences/README.md#getallpreferences) - Get all preferences * [getAllPreferences](docs/sdks/preferences/README.md#getallpreferences) - Get all preferences
@@ -467,6 +477,10 @@ run();
* [checkUpdates](docs/sdks/updater/README.md#checkupdates) - Checking for updates * [checkUpdates](docs/sdks/updater/README.md#checkupdates) - Checking for updates
* [getUpdatesStatus](docs/sdks/updater/README.md#getupdatesstatus) - Querying status of 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> </details>
<!-- End Available Resources and Operations [operations] --> <!-- End Available Resources and Operations [operations] -->
@@ -475,13 +489,14 @@ run();
[`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts) is the base class for all HTTP error responses. It has the following properties: [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts) is the base class for all HTTP error responses. It has the following properties:
| Property | Type | Description | | Property | Type | Description |
| ------------------- | ---------- | ------------------------------------------------------ | | ------------------- | ---------- | --------------------------------------------------------------------------------------- |
| `error.message` | `string` | Error message | | `error.message` | `string` | Error message |
| `error.statusCode` | `number` | HTTP response status code eg `404` | | `error.statusCode` | `number` | HTTP response status code eg `404` |
| `error.headers` | `Headers` | HTTP response headers | | `error.headers` | `Headers` | HTTP response headers |
| `error.body` | `string` | HTTP body. Can be empty string if no body is returned. | | `error.body` | `string` | HTTP body. Can be empty string if no body is returned. |
| `error.rawResponse` | `Response` | Raw HTTP response | | `error.rawResponse` | `Response` | Raw HTTP response |
| `error.data$` | | Optional. Some errors may contain structured data. [See Error Classes](#error-classes). |
### Example ### Example
```typescript ```typescript
@@ -501,19 +516,27 @@ const plexAPI = new PlexAPI({
deviceVendor: "Roku", deviceVendor: "Roku",
deviceName: "Living Room TV", deviceName: "Living Room TV",
marketplace: "googlePlay", marketplace: "googlePlay",
token: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
try { try {
const result = await plexAPI.general.getServerInfo({}); const result = await plexAPI.authentication.getTokenDetails({});
console.log(result); console.log(result);
} catch (error) { } catch (error) {
// The base class for HTTP error responses
if (error instanceof errors.PlexAPIError) { if (error instanceof errors.PlexAPIError) {
console.log(error.message); console.log(error.message);
console.log(error.statusCode); console.log(error.statusCode);
console.log(error.body); console.log(error.body);
console.log(error.headers); console.log(error.headers);
// Depending on the method different errors may be thrown
if (error instanceof errors.GetTokenDetailsBadRequestError) {
console.log(error.data$.errors); // GetTokenDetailsBadRequestError[]
console.log(error.data$.rawResponse); // Response
}
} }
} }
} }
@@ -526,7 +549,7 @@ run();
**Primary error:** **Primary error:**
* [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts): The base class for HTTP error responses. * [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts): The base class for HTTP error responses.
<details><summary>Less common errors (6)</summary> <details><summary>Less common errors (13)</summary>
<br /> <br />
@@ -539,9 +562,18 @@ run();
**Inherit from [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts)**: **Inherit from [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts)**:
* [`GetTokenDetailsBadRequestError`](./src/sdk/models/errors/gettokendetailsbadrequesterror.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 241 methods.*
* [`PostUsersSignInDataBadRequestError`](./src/sdk/models/errors/postuserssignindatabadrequesterror.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 241 methods.*
* [`GetUsersBadRequestError`](./src/sdk/models/errors/getusersbadrequesterror.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 241 methods.*
* [`GetTokenDetailsUnauthorizedError`](./src/sdk/models/errors/gettokendetailsunauthorizederror.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
* [`PostUsersSignInDataUnauthorizedError`](./src/sdk/models/errors/postuserssignindataunauthorizederror.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
* [`GetUsersUnauthorizedError`](./src/sdk/models/errors/getusersunauthorizederror.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
* [`GetServerResourcesUnauthorizedError`](./src/sdk/models/errors/getserverresourcesunauthorizederror.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 241 methods.*
* [`ResponseValidationError`](./src/sdk/models/errors/responsevalidationerror.ts): Type mismatch between the data returned from the server and the structure expected by the SDK. See `error.rawValue` for the raw value and `error.pretty()` for a nicely formatted multi-line string. * [`ResponseValidationError`](./src/sdk/models/errors/responsevalidationerror.ts): Type mismatch between the data returned from the server and the structure expected by the SDK. See `error.rawValue` for the raw value and `error.pretty()` for a nicely formatted multi-line string.
</details> </details>
\* Check [the method documentation](#available-resources-and-operations) to see if the error is applicable.
<!-- End Error Handling [errors] --> <!-- End Error Handling [errors] -->
<!-- Start Server Selection [server] --> <!-- Start Server Selection [server] -->
@@ -590,6 +622,7 @@ const plexAPI = new PlexAPI({
deviceVendor: "Roku", deviceVendor: "Roku",
deviceName: "Living Room TV", deviceName: "Living Room TV",
marketplace: "googlePlay", marketplace: "googlePlay",
token: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
@@ -622,6 +655,7 @@ const plexAPI = new PlexAPI({
deviceVendor: "Roku", deviceVendor: "Roku",
deviceName: "Living Room TV", deviceName: "Living Room TV",
marketplace: "googlePlay", marketplace: "googlePlay",
token: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
@@ -632,6 +666,40 @@ async function run() {
run(); run();
```
### 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:
```typescript
import { PlexAPI } from "@lukehagar/plexjs";
import { Accepts } from "@lukehagar/plexjs/sdk/models/shared";
const plexAPI = new PlexAPI({
accepts: Accepts.ApplicationXml,
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
token: "<YOUR_API_KEY_HERE>",
});
async function run() {
const result = await plexAPI.authentication.getTokenDetails({}, {
serverURL: "https://plex.tv/api/v2",
});
console.log(result);
}
run();
``` ```
<!-- End Server Selection [server] --> <!-- End Server Selection [server] -->
@@ -749,6 +817,8 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
- [`activitiesCancelActivity`](docs/sdks/activities/README.md#cancelactivity) - Cancel a running activity - [`activitiesCancelActivity`](docs/sdks/activities/README.md#cancelactivity) - Cancel a running activity
- [`activitiesListActivities`](docs/sdks/activities/README.md#listactivities) - Get all activities - [`activitiesListActivities`](docs/sdks/activities/README.md#listactivities) - Get all activities
- [`authenticationGetTokenDetails`](docs/sdks/authentication/README.md#gettokendetails) - Get Token Details
- [`authenticationPostUsersSignInData`](docs/sdks/authentication/README.md#postuserssignindata) - Get User Sign In Data
- [`butlerGetTasks`](docs/sdks/butler/README.md#gettasks) - Get all Butler tasks - [`butlerGetTasks`](docs/sdks/butler/README.md#gettasks) - Get all Butler tasks
- [`butlerStartTask`](docs/sdks/butler/README.md#starttask) - Start a single Butler task - [`butlerStartTask`](docs/sdks/butler/README.md#starttask) - Start a single Butler task
- [`butlerStartTasks`](docs/sdks/butler/README.md#starttasks) - Start all Butler tasks - [`butlerStartTasks`](docs/sdks/butler/README.md#starttasks) - Start all Butler tasks
@@ -945,6 +1015,7 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
- [`playQueueResetPlayQueue`](docs/sdks/playqueue/README.md#resetplayqueue) - Reset a play queue - [`playQueueResetPlayQueue`](docs/sdks/playqueue/README.md#resetplayqueue) - Reset a play queue
- [`playQueueShuffle`](docs/sdks/playqueue/README.md#shuffle) - Shuffle a play queue - [`playQueueShuffle`](docs/sdks/playqueue/README.md#shuffle) - Shuffle a play queue
- [`playQueueUnshuffle`](docs/sdks/playqueue/README.md#unshuffle) - Unshuffle a play queue - [`playQueueUnshuffle`](docs/sdks/playqueue/README.md#unshuffle) - Unshuffle a play queue
- [`plexGetServerResources`](docs/sdks/plex/README.md#getserverresources) - Get Server Resources
- [`preferencesGetAllPreferences`](docs/sdks/preferences/README.md#getallpreferences) - Get all preferences - [`preferencesGetAllPreferences`](docs/sdks/preferences/README.md#getallpreferences) - Get all preferences
- [`preferencesGetPreference`](docs/sdks/preferences/README.md#getpreference) - Get a preferences - [`preferencesGetPreference`](docs/sdks/preferences/README.md#getpreference) - Get a preferences
- [`preferencesSetPreferences`](docs/sdks/preferences/README.md#setpreferences) - Set preferences - [`preferencesSetPreferences`](docs/sdks/preferences/README.md#setpreferences) - Set preferences
@@ -984,6 +1055,7 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
- [`updaterApplyUpdates`](docs/sdks/updater/README.md#applyupdates) - Applying updates - [`updaterApplyUpdates`](docs/sdks/updater/README.md#applyupdates) - Applying updates
- [`updaterCheckUpdates`](docs/sdks/updater/README.md#checkupdates) - Checking for updates - [`updaterCheckUpdates`](docs/sdks/updater/README.md#checkupdates) - Checking for updates
- [`updaterGetUpdatesStatus`](docs/sdks/updater/README.md#getupdatesstatus) - Querying status of updates - [`updaterGetUpdatesStatus`](docs/sdks/updater/README.md#getupdatesstatus) - Querying status of updates
- [`usersGetUsers`](docs/sdks/users/README.md#getusers) - Get list of all connected users
</details> </details>
<!-- End Standalone functions [standalone-funcs] --> <!-- End Standalone functions [standalone-funcs] -->
@@ -1006,7 +1078,9 @@ Certain SDK methods accept files as part of a multi-part request. It is possible
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { openAsBlob } from "node:fs"; import { openAsBlob } from "node:fs";
const plexAPI = new PlexAPI(); const plexAPI = new PlexAPI({
token: "<YOUR_API_KEY_HERE>",
});
async function run() { async function run() {
const result = await plexAPI.log.writeLog(await openAsBlob("example.file")); const result = await plexAPI.log.writeLog(await openAsBlob("example.file"));
@@ -1041,6 +1115,7 @@ const plexAPI = new PlexAPI({
deviceVendor: "Roku", deviceVendor: "Roku",
deviceName: "Living Room TV", deviceName: "Living Room TV",
marketplace: "googlePlay", marketplace: "googlePlay",
token: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
@@ -1091,6 +1166,7 @@ const plexAPI = new PlexAPI({
deviceVendor: "Roku", deviceVendor: "Roku",
deviceName: "Living Room TV", deviceName: "Living Room TV",
marketplace: "googlePlay", marketplace: "googlePlay",
token: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {

View File

@@ -1438,4 +1438,14 @@ Based on:
### Generated ### Generated
- [typescript v0.43.0] . - [typescript v0.43.0] .
### Releases ### Releases
- [NPM v0.43.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.43.0 - . - [NPM v0.43.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.43.0 - .
## 2025-12-01 00:13:55
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.665.0 (2.767.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.44.0] .
### Releases
- [NPM v0.44.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.44.0 - .

View File

@@ -25,6 +25,7 @@ const plexAPI = new PlexAPI({
deviceVendor: "Roku", deviceVendor: "Roku",
deviceName: "Living Room TV", deviceName: "Living Room TV",
marketplace: "googlePlay", marketplace: "googlePlay",
token: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
@@ -34,13 +35,13 @@ async function run() {
advancedSubtitles: AdvancedSubtitles.Burn, advancedSubtitles: AdvancedSubtitles.Burn,
audioBoost: 50, audioBoost: 50,
audioChannelCount: 5, audioChannelCount: 5,
autoAdjustQuality: BoolInt.One, autoAdjustQuality: BoolInt.True,
autoAdjustSubtitle: BoolInt.One, autoAdjustSubtitle: BoolInt.True,
directPlay: BoolInt.One, directPlay: BoolInt.True,
directStream: BoolInt.One, directStream: BoolInt.True,
directStreamAudio: BoolInt.One, directStreamAudio: BoolInt.True,
disableResolutionRotation: BoolInt.One, disableResolutionRotation: BoolInt.True,
hasMDE: BoolInt.One, hasMDE: BoolInt.True,
location: StartTranscodeSessionLocation.Wan, location: StartTranscodeSessionLocation.Wan,
mediaBufferSize: 102400, mediaBufferSize: 102400,
mediaIndex: 0, mediaIndex: 0,

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,18 @@
# GetServerResourcesUnauthorizedError
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetServerResourcesUnauthorizedError } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `errors` | [operations.GetServerResourcesError](../../../sdk/models/operations/getserverresourceserror.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,18 @@
# GetTokenDetailsBadRequestError
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { GetTokenDetailsBadRequestError } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `errors` | [operations.GetTokenDetailsBadRequestError](../../../sdk/models/operations/gettokendetailsbadrequesterror.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,18 @@
# GetTokenDetailsUnauthorizedError
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetTokenDetailsUnauthorizedError } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `errors` | [operations.GetTokenDetailsUnauthorizedError](../../../sdk/models/operations/gettokendetailsunauthorizederror.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,18 @@
# GetUsersBadRequestError
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { GetUsersBadRequestError } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `errors` | [operations.GetUsersBadRequestError](../../../sdk/models/operations/getusersbadrequesterror.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,18 @@
# GetUsersUnauthorizedError
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { GetUsersUnauthorizedError } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `errors` | [operations.GetUsersUnauthorizedError](../../../sdk/models/operations/getusersunauthorizederror.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,18 @@
# PostUsersSignInDataBadRequestError
Bad Request - A parameter was not specified, or was specified incorrectly.
## Example Usage
```typescript
import { PostUsersSignInDataBadRequestError } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `errors` | [operations.PostUsersSignInDataBadRequestError](../../../sdk/models/operations/postuserssignindatabadrequesterror.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,18 @@
# PostUsersSignInDataUnauthorizedError
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Example Usage
```typescript
import { PostUsersSignInDataUnauthorizedError } from "@lukehagar/plexjs/sdk/models/errors";
// No examples available for this model
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `errors` | [operations.PostUsersSignInDataUnauthorizedError](../../../sdk/models/operations/postuserssignindataunauthorizederror.md)[] | :heavy_minus_sign: | N/A |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -4,7 +4,7 @@
```typescript ```typescript
import { AddDownloadQueueItemsRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { AddDownloadQueueItemsRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { AdvancedSubtitles, BoolInt, LocationParameter, Protocol, Subtitles } from "@lukehagar/plexjs/sdk/models/shared"; import { AdvancedSubtitles, BoolInt, LocationParameter, ProtocolParameter, Subtitles } from "@lukehagar/plexjs/sdk/models/shared";
let value: AddDownloadQueueItemsRequest = { let value: AddDownloadQueueItemsRequest = {
queueId: 44894, queueId: 44894,
@@ -15,13 +15,13 @@ let value: AddDownloadQueueItemsRequest = {
advancedSubtitles: AdvancedSubtitles.Burn, advancedSubtitles: AdvancedSubtitles.Burn,
audioBoost: 50, audioBoost: 50,
audioChannelCount: 5, audioChannelCount: 5,
autoAdjustQuality: BoolInt.One, autoAdjustQuality: BoolInt.True,
autoAdjustSubtitle: BoolInt.One, autoAdjustSubtitle: BoolInt.True,
directPlay: BoolInt.One, directPlay: BoolInt.True,
directStream: BoolInt.One, directStream: BoolInt.True,
directStreamAudio: BoolInt.One, directStreamAudio: BoolInt.True,
disableResolutionRotation: BoolInt.One, disableResolutionRotation: BoolInt.True,
hasMDE: BoolInt.One, hasMDE: BoolInt.True,
location: LocationParameter.Wan, location: LocationParameter.Wan,
mediaBufferSize: 102400, mediaBufferSize: 102400,
mediaIndex: 0, mediaIndex: 0,
@@ -31,7 +31,7 @@ let value: AddDownloadQueueItemsRequest = {
path: "/library/metadata/151671", path: "/library/metadata/151671",
peakBitrate: 12000, peakBitrate: 12000,
photoResolution: "1080x1080", photoResolution: "1080x1080",
protocol: Protocol.Dash, protocol: ProtocolParameter.Dash,
secondsPerSegment: 5, secondsPerSegment: 5,
subtitleSize: 50, subtitleSize: 50,
subtitles: Subtitles.Sidecar, subtitles: Subtitles.Sidecar,
@@ -77,7 +77,7 @@ let value: AddDownloadQueueItemsRequest = {
| `path` | *string* | :heavy_minus_sign: | Internal PMS path of the media to transcode. | /library/metadata/151671 | | `path` | *string* | :heavy_minus_sign: | Internal PMS path of the media to transcode. | /library/metadata/151671 |
| `peakBitrate` | *number* | :heavy_minus_sign: | Maximum bitrate (in kbps) to use in ABR. | 12000 | | `peakBitrate` | *number* | :heavy_minus_sign: | Maximum bitrate (in kbps) to use in ABR. | 12000 |
| `photoResolution` | *string* | :heavy_minus_sign: | Target photo resolution. | 1080x1080 | | `photoResolution` | *string* | :heavy_minus_sign: | Target photo resolution. | 1080x1080 |
| `protocol` | [shared.Protocol](../../../sdk/models/shared/protocol.md) | :heavy_minus_sign: | Indicates the network streaming protocol to be used for the transcode session: * 'http' - include the file in the http response such as MKV streaming * 'hls' - hls stream (RFC 8216) * 'dash' - dash stream (ISO/IEC 23009-1:2022)<br/> | dash | | `protocol` | [shared.ProtocolParameter](../../../sdk/models/shared/protocolparameter.md) | :heavy_minus_sign: | Indicates the network streaming protocol to be used for the transcode session: * 'http' - include the file in the http response such as MKV streaming * 'hls' - hls stream (RFC 8216) * 'dash' - dash stream (ISO/IEC 23009-1:2022)<br/> | dash |
| `secondsPerSegment` | *number* | :heavy_minus_sign: | Number of seconds to include in each transcoded segment | 5 | | `secondsPerSegment` | *number* | :heavy_minus_sign: | Number of seconds to include in each transcoded segment | 5 |
| `subtitleSize` | *number* | :heavy_minus_sign: | Percentage of original subtitle size to use when burning subtitles (100 is equivalent to original size, 50 is half, ect) | 50 | | `subtitleSize` | *number* | :heavy_minus_sign: | Percentage of original subtitle size to use when burning subtitles (100 is equivalent to original size, 50 is half, ect) | 50 |
| `subtitles` | [shared.Subtitles](../../../sdk/models/shared/subtitles.md) | :heavy_minus_sign: | Indicates how subtitles should be included: * 'auto' - Compute the appropriate subtitle setting automatically * 'burn' - Burn the selected subtitle; auto if no selected subtitle * 'none' - Ignore all subtitle streams * 'sidecar' - The selected subtitle should be provided as a sidecar * 'embedded' - The selected subtitle should be provided as an embedded stream * 'segmented' - The selected subtitle should be provided as a segmented stream<br/> | Burn | | `subtitles` | [shared.Subtitles](../../../sdk/models/shared/subtitles.md) | :heavy_minus_sign: | Indicates how subtitles should be included: * 'auto' - Compute the appropriate subtitle setting automatically * 'burn' - Burn the selected subtitle; auto if no selected subtitle * 'none' - Ignore all subtitle streams * 'sidecar' - The selected subtitle should be provided as a sidecar * 'embedded' - The selected subtitle should be provided as an embedded stream * 'segmented' - The selected subtitle should be provided as a segmented stream<br/> | Burn |

View File

@@ -16,8 +16,8 @@ let value: AddSectionRequest = {
"O:\fatboy\\Media\\My Music", "O:\fatboy\\Media\\My Music",
], ],
prefs: {}, prefs: {},
relative: BoolInt.One, relative: BoolInt.True,
importFromiTunes: BoolInt.One, importFromiTunes: BoolInt.True,
}; };
``` ```

View File

@@ -8,8 +8,8 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: AddSubtitlesRequest = { let value: AddSubtitlesRequest = {
ids: "<value>", ids: "<value>",
forced: BoolInt.One, forced: BoolInt.True,
hearingImpaired: BoolInt.One, hearingImpaired: BoolInt.True,
}; };
``` ```

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: AddToPlayQueueRequest = { let value: AddToPlayQueueRequest = {
playQueueId: 354193, playQueueId: 354193,
next: BoolInt.One, next: BoolInt.True,
}; };
``` ```

View File

@@ -0,0 +1,18 @@
# AllLibraries
Indicates if the user has access to all libraries.
## Example Usage
```typescript
import { AllLibraries } from "@lukehagar/plexjs/sdk/models/operations";
let value: AllLibraries = AllLibraries.Enable;
```
## Values
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

@@ -0,0 +1,18 @@
# AllowCameraUpload
Indicates if the user is allowed to upload from a camera.
## Example Usage
```typescript
import { AllowCameraUpload } from "@lukehagar/plexjs/sdk/models/operations";
let value: AllowCameraUpload = AllowCameraUpload.Enable;
```
## Values
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

@@ -0,0 +1,18 @@
# AllowChannels
Indicates if the user has access to channels.
## Example Usage
```typescript
import { AllowChannels } from "@lukehagar/plexjs/sdk/models/operations";
let value: AllowChannels = AllowChannels.Enable;
```
## Values
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

@@ -0,0 +1,18 @@
# AllowSubtitleAdmin
Indicates if the user can manage subtitles.
## Example Usage
```typescript
import { AllowSubtitleAdmin } from "@lukehagar/plexjs/sdk/models/operations";
let value: AllowSubtitleAdmin = AllowSubtitleAdmin.Enable;
```
## Values
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

@@ -0,0 +1,18 @@
# AllowSync
Indicates if the user is allowed to sync media.
## Example Usage
```typescript
import { AllowSync } from "@lukehagar/plexjs/sdk/models/operations";
let value: AllowSync = AllowSync.Enable;
```
## Values
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

@@ -0,0 +1,18 @@
# AllowTuners
Indicates if the user is allowed to use tuners.
## Example Usage
```typescript
import { AllowTuners } from "@lukehagar/plexjs/sdk/models/operations";
let value: AllowTuners = AllowTuners.Enable;
```
## Values
| Name | Value |
| --------- | --------- |
| `Disable` | 0 |
| `Enable` | 1 |

View File

@@ -7,8 +7,8 @@ import { ApplyUpdatesRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared"; import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: ApplyUpdatesRequest = { let value: ApplyUpdatesRequest = {
tonight: BoolInt.One, tonight: BoolInt.True,
skip: BoolInt.One, skip: BoolInt.True,
}; };
``` ```

View File

@@ -4,28 +4,34 @@
```typescript ```typescript
import { AutocompleteRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { AutocompleteRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
let value: AutocompleteRequest = { let value: AutocompleteRequest = {
sectionId: 594987, sectionId: 594987,
mediaQuery: {
type: MediaType.Episode,
sourceType: 2,
sort: "duration:desc,index",
},
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | | | `accepts` | [shared.Accepts](../../../sdk/models/shared/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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku | | `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV | | `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 | | `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | | | `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
| `type` | *number* | :heavy_minus_sign: | Item type | | | `type` | *number* | :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 | | | `fieldQuery` | *string* | :heavy_minus_sign: | The "field" stands in for any field, the value is a partial string for matching | |
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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 | | | `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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,19 @@
# Billing
## Example Usage
```typescript
import { Billing } from "@lukehagar/plexjs/sdk/models/operations";
let value: Billing = {
internalPaymentMethod: {},
paymentMethodId: 575569,
};
```
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| `internalPaymentMethod` | [operations.InternalPaymentMethod](../../../sdk/models/operations/internalpaymentmethod.md) | :heavy_check_mark: | N/A |
| `paymentMethodId` | *number* | :heavy_check_mark: | N/A |

View File

@@ -10,6 +10,6 @@ let value: ButlerTasks = {};
## Fields ## Fields
| Field | Type | Required | Description | | Field | Type | Required | Description |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `butlerTask` | [operations.ButlerTask](../../../sdk/models/operations/butlertask.md)[] | :heavy_minus_sign: | N/A | | `butlerTask` | [operations.GetTasksButlerTask](../../../sdk/models/operations/gettasksbutlertask.md)[] | :heavy_minus_sign: | N/A |

View File

@@ -7,7 +7,7 @@ import { CheckUpdatesRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared"; import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: CheckUpdatesRequest = { let value: CheckUpdatesRequest = {
download: BoolInt.One, download: BoolInt.True,
}; };
``` ```

View File

@@ -4,29 +4,31 @@
```typescript ```typescript
import { CreateCollectionRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { CreateCollectionRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
let value: CreateCollectionRequest = { let value: CreateCollectionRequest = {
sectionId: "<id>", sectionId: "<id>",
type: MediaType.TvShow,
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | | | `accepts` | [shared.Accepts](../../../sdk/models/shared/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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku | | `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV | | `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 | | `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 | | | `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 | | | `title` | *string* | :heavy_minus_sign: | The title to filter by or assign | |
| `smart` | *boolean* | :heavy_minus_sign: | Whether this is a smart collection/playlist | | | `smart` | *boolean* | :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 | | | `uri` | *string* | :heavy_minus_sign: | The URI for processing the smart collection. Required for a smart collection | |
| `type` | *number* | :heavy_minus_sign: | The metadata type to filter by | | | `type` | [shared.MediaType](../../../sdk/models/shared/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

@@ -9,9 +9,9 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: CreateCustomHubRequest = { let value: CreateCustomHubRequest = {
sectionId: 94028, sectionId: 94028,
metadataItemId: 822624, metadataItemId: 822624,
promotedToRecommended: BoolInt.One, promotedToRecommended: BoolInt.True,
promotedToOwnHome: BoolInt.One, promotedToOwnHome: BoolInt.True,
promotedToSharedHome: BoolInt.One, promotedToSharedHome: BoolInt.True,
}; };
``` ```

View File

@@ -8,11 +8,11 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: CreatePlayQueueRequest = { let value: CreatePlayQueueRequest = {
type: CreatePlayQueueType.Audio, type: CreatePlayQueueType.Audio,
shuffle: BoolInt.One, shuffle: BoolInt.True,
repeat: BoolInt.One, repeat: BoolInt.True,
continuous: BoolInt.One, continuous: BoolInt.True,
recursive: BoolInt.One, recursive: BoolInt.True,
onDeck: BoolInt.One, onDeck: BoolInt.True,
}; };
``` ```

View File

@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
```typescript ```typescript
import { CreateSubscriptionMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { CreateSubscriptionMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: CreateSubscriptionMediaContainer = { let value: CreateSubscriptionMediaContainer = {
mediaSubscription: [ mediaSubscription: [
@@ -16,9 +17,14 @@ let value: CreateSubscriptionMediaContainer = {
mediaGrabOperation: [ mediaGrabOperation: [
{ {
metadata: { metadata: {
title: "<value>",
type: "<value>",
addedAt: 3539,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -26,9 +32,12 @@ let value: CreateSubscriptionMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -39,6 +48,7 @@ let value: CreateSubscriptionMediaContainer = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -49,6 +59,7 @@ let value: CreateSubscriptionMediaContainer = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -56,16 +67,16 @@ let value: CreateSubscriptionMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -82,46 +93,72 @@ let value: CreateSubscriptionMediaContainer = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: file:
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -134,9 +171,12 @@ let value: CreateSubscriptionMediaContainer = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -147,6 +187,7 @@ let value: CreateSubscriptionMediaContainer = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -154,9 +195,12 @@ let value: CreateSubscriptionMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -6,6 +6,7 @@ OK
```typescript ```typescript
import { CreateSubscriptionResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { CreateSubscriptionResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: CreateSubscriptionResponseBody = { let value: CreateSubscriptionResponseBody = {
mediaContainer: { mediaContainer: {
@@ -14,9 +15,14 @@ let value: CreateSubscriptionResponseBody = {
mediaGrabOperation: [ mediaGrabOperation: [
{ {
metadata: { metadata: {
title: "<value>",
type: "<value>",
addedAt: 3539,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -24,9 +30,12 @@ let value: CreateSubscriptionResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -37,6 +46,7 @@ let value: CreateSubscriptionResponseBody = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -47,6 +57,7 @@ let value: CreateSubscriptionResponseBody = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -54,16 +65,16 @@ let value: CreateSubscriptionResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -80,46 +91,72 @@ let value: CreateSubscriptionResponseBody = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: file:
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -132,9 +169,12 @@ let value: CreateSubscriptionResponseBody = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -145,6 +185,7 @@ let value: CreateSubscriptionResponseBody = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -152,9 +193,12 @@ let value: CreateSubscriptionResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: DeleteLibrarySectionRequest = { let value: DeleteLibrarySectionRequest = {
sectionId: "<id>", sectionId: "<id>",
async: BoolInt.One, async: BoolInt.True,
}; };
``` ```

View File

@@ -9,7 +9,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: DeleteMediaItemRequest = { let value: DeleteMediaItemRequest = {
ids: "<value>", ids: "<value>",
mediaItem: "<value>", mediaItem: "<value>",
proxy: BoolInt.One, proxy: BoolInt.True,
}; };
``` ```

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: DeleteMetadataItemRequest = { let value: DeleteMetadataItemRequest = {
ids: "<value>", ids: "<value>",
proxy: BoolInt.One, proxy: BoolInt.True,
}; };
``` ```

View File

@@ -8,8 +8,8 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: DetectCreditsRequest = { let value: DetectCreditsRequest = {
ids: "<value>", ids: "<value>",
force: BoolInt.One, force: BoolInt.True,
manual: BoolInt.One, manual: BoolInt.True,
}; };
``` ```

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: DetectIntrosRequest = { let value: DetectIntrosRequest = {
ids: "<value>", ids: "<value>",
force: BoolInt.One, force: BoolInt.True,
}; };
``` ```

View File

@@ -8,8 +8,8 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: DetectVoiceActivityRequest = { let value: DetectVoiceActivityRequest = {
ids: "<value>", ids: "<value>",
force: BoolInt.One, force: BoolInt.True,
manual: BoolInt.One, manual: BoolInt.True,
}; };
``` ```

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GenerateThumbsRequest = { let value: GenerateThumbsRequest = {
ids: "<value>", ids: "<value>",
force: BoolInt.One, force: BoolInt.True,
}; };
``` ```

View File

@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
```typescript ```typescript
import { GetAllHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetAllHubsMediaContainer = { let value: GetAllHubsMediaContainer = {
hub: [ hub: [
@@ -19,9 +20,14 @@ let value: GetAllHubsMediaContainer = {
key: "/hubs/sections/home/onDeck", key: "/hubs/sections/home/onDeck",
metadata: [ metadata: [
{ {
title: "<value>",
type: "<value>",
addedAt: 29550,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -29,9 +35,12 @@ let value: GetAllHubsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -42,6 +51,7 @@ let value: GetAllHubsMediaContainer = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -52,6 +62,7 @@ let value: GetAllHubsMediaContainer = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -59,16 +70,16 @@ let value: GetAllHubsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -85,45 +96,71 @@ let value: GetAllHubsMediaContainer = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -136,9 +173,12 @@ let value: GetAllHubsMediaContainer = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -149,6 +189,7 @@ let value: GetAllHubsMediaContainer = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -156,9 +197,12 @@ let value: GetAllHubsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -7,7 +7,7 @@ import { GetAllHubsRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared"; import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetAllHubsRequest = { let value: GetAllHubsRequest = {
onlyTransient: BoolInt.One, onlyTransient: BoolInt.True,
}; };
``` ```

View File

@@ -6,6 +6,7 @@ OK
```typescript ```typescript
import { GetAllHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetAllHubsResponseBody = { let value: GetAllHubsResponseBody = {
mediaContainer: { mediaContainer: {
@@ -17,9 +18,14 @@ let value: GetAllHubsResponseBody = {
key: "/hubs/sections/home/onDeck", key: "/hubs/sections/home/onDeck",
metadata: [ metadata: [
{ {
title: "<value>",
type: "<value>",
addedAt: 29550,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -27,9 +33,12 @@ let value: GetAllHubsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -40,6 +49,7 @@ let value: GetAllHubsResponseBody = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -50,6 +60,7 @@ let value: GetAllHubsResponseBody = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -57,16 +68,16 @@ let value: GetAllHubsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -83,46 +94,72 @@ let value: GetAllHubsResponseBody = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: file:
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -135,9 +172,12 @@ let value: GetAllHubsResponseBody = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -148,6 +188,7 @@ let value: GetAllHubsResponseBody = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -155,9 +196,12 @@ let value: GetAllHubsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -7,8 +7,8 @@ import { GetAllSubscriptionsRequest } from "@lukehagar/plexjs/sdk/models/operati
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared"; import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetAllSubscriptionsRequest = { let value: GetAllSubscriptionsRequest = {
includeGrabs: BoolInt.One, includeGrabs: BoolInt.True,
includeStorage: BoolInt.One, includeStorage: BoolInt.True,
}; };
``` ```

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetAugmentationStatusRequest = { let value: GetAugmentationStatusRequest = {
augmentationId: "<id>", augmentationId: "<id>",
wait: BoolInt.One, wait: BoolInt.True,
}; };
``` ```

View File

@@ -4,26 +4,32 @@
```typescript ```typescript
import { GetCollectionsRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { GetCollectionsRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetCollectionsRequest = { let value: GetCollectionsRequest = {
sectionId: 298004, sectionId: 298004,
mediaQuery: {
type: MediaType.Episode,
sourceType: 2,
sort: "duration:desc,index",
},
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | | | `accepts` | [shared.Accepts](../../../sdk/models/shared/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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku | | `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV | | `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 | | `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | | | `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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 | | | `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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

@@ -4,27 +4,33 @@
```typescript ```typescript
import { GetCommonRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { GetCommonRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetCommonRequest = { let value: GetCommonRequest = {
sectionId: 840014, sectionId: 840014,
mediaQuery: {
type: MediaType.Episode,
sourceType: 2,
sort: "duration:desc,index",
},
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | | | `accepts` | [shared.Accepts](../../../sdk/models/shared/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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku | | `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV | | `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 | | `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | | | `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
| `type` | *number* | :heavy_minus_sign: | Item type | | | `type` | *number* | :heavy_minus_sign: | Item type | |
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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 | | | `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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

@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
```typescript ```typescript
import { GetContinueWatchingMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { GetContinueWatchingMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetContinueWatchingMediaContainer = { let value: GetContinueWatchingMediaContainer = {
hub: [ hub: [
@@ -19,9 +20,14 @@ let value: GetContinueWatchingMediaContainer = {
key: "/hubs/sections/home/onDeck", key: "/hubs/sections/home/onDeck",
metadata: [ metadata: [
{ {
title: "<value>",
type: "<value>",
addedAt: 29550,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -29,9 +35,12 @@ let value: GetContinueWatchingMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -42,6 +51,7 @@ let value: GetContinueWatchingMediaContainer = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -52,6 +62,7 @@ let value: GetContinueWatchingMediaContainer = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -59,16 +70,16 @@ let value: GetContinueWatchingMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -85,45 +96,71 @@ let value: GetContinueWatchingMediaContainer = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -136,9 +173,12 @@ let value: GetContinueWatchingMediaContainer = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -149,6 +189,7 @@ let value: GetContinueWatchingMediaContainer = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -156,9 +197,12 @@ let value: GetContinueWatchingMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -6,6 +6,7 @@ OK
```typescript ```typescript
import { GetContinueWatchingResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { GetContinueWatchingResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetContinueWatchingResponseBody = { let value: GetContinueWatchingResponseBody = {
mediaContainer: { mediaContainer: {
@@ -17,9 +18,14 @@ let value: GetContinueWatchingResponseBody = {
key: "/hubs/sections/home/onDeck", key: "/hubs/sections/home/onDeck",
metadata: [ metadata: [
{ {
title: "<value>",
type: "<value>",
addedAt: 29550,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -27,9 +33,12 @@ let value: GetContinueWatchingResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -40,6 +49,7 @@ let value: GetContinueWatchingResponseBody = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -50,6 +60,7 @@ let value: GetContinueWatchingResponseBody = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -57,16 +68,16 @@ let value: GetContinueWatchingResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -83,46 +94,72 @@ let value: GetContinueWatchingResponseBody = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: file:
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -135,9 +172,12 @@ let value: GetContinueWatchingResponseBody = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -148,6 +188,7 @@ let value: GetContinueWatchingResponseBody = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -155,9 +196,12 @@ let value: GetContinueWatchingResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -4,28 +4,34 @@
```typescript ```typescript
import { GetFirstCharactersRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { GetFirstCharactersRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetFirstCharactersRequest = { let value: GetFirstCharactersRequest = {
sectionId: 231024, sectionId: 231024,
mediaQuery: {
type: MediaType.Episode,
sourceType: 2,
sort: "duration:desc,index",
},
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | | | `accepts` | [shared.Accepts](../../../sdk/models/shared/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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku | | `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV | | `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 | | `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | | | `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
| `type` | *number* | :heavy_minus_sign: | The metadata type to filter on | | | `type` | *number* | :heavy_minus_sign: | The metadata type to filter on | |
| `sort` | *number* | :heavy_minus_sign: | The metadata type to filter on | | | `sort` | *number* | :heavy_minus_sign: | The metadata type to filter on | |
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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 | | | `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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

@@ -13,7 +13,7 @@ let value: GetImageRequest = {
bottomLeft: "1c425d", bottomLeft: "1c425d",
width: 1920, width: 1920,
height: 1080, height: 1080,
noise: BoolInt.One, noise: BoolInt.True,
}; };
``` ```

View File

@@ -4,13 +4,19 @@
```typescript ```typescript
import { GetLibraryDetailsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryDetailsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetLibraryDetailsMediaContainer = { let value: GetLibraryDetailsMediaContainer = {
directory: [ directory: [
{ {
title: "<value>",
type: "<value>",
addedAt: 871584,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -18,9 +24,12 @@ let value: GetLibraryDetailsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -31,6 +40,7 @@ let value: GetLibraryDetailsMediaContainer = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -41,6 +51,7 @@ let value: GetLibraryDetailsMediaContainer = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -48,16 +59,16 @@ let value: GetLibraryDetailsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -74,45 +85,71 @@ let value: GetLibraryDetailsMediaContainer = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -125,9 +162,12 @@ let value: GetLibraryDetailsMediaContainer = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -138,6 +178,7 @@ let value: GetLibraryDetailsMediaContainer = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -145,9 +186,12 @@ let value: GetLibraryDetailsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetLibraryDetailsRequest = { let value: GetLibraryDetailsRequest = {
sectionId: "<id>", sectionId: "<id>",
includeDetails: BoolInt.One, includeDetails: BoolInt.True,
}; };
``` ```

View File

@@ -6,14 +6,20 @@ OK
```typescript ```typescript
import { GetLibraryDetailsResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryDetailsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetLibraryDetailsResponseBody = { let value: GetLibraryDetailsResponseBody = {
mediaContainer: { mediaContainer: {
directory: [ directory: [
{ {
title: "<value>",
type: "<value>",
addedAt: 871584,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -21,9 +27,12 @@ let value: GetLibraryDetailsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -34,6 +43,7 @@ let value: GetLibraryDetailsResponseBody = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -44,6 +54,7 @@ let value: GetLibraryDetailsResponseBody = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -51,16 +62,16 @@ let value: GetLibraryDetailsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -77,45 +88,71 @@ let value: GetLibraryDetailsResponseBody = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -128,9 +165,12 @@ let value: GetLibraryDetailsResponseBody = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -141,6 +181,7 @@ let value: GetLibraryDetailsResponseBody = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -148,9 +189,12 @@ let value: GetLibraryDetailsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -4,23 +4,30 @@
```typescript ```typescript
import { GetLibraryItemsRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryItemsRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetLibraryItemsRequest = {}; let value: GetLibraryItemsRequest = {
mediaQuery: {
type: MediaType.Episode,
sourceType: 2,
sort: "duration:desc,index",
},
};
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | | | `accepts` | [shared.Accepts](../../../sdk/models/shared/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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku | | `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV | | `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 | | `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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 | | | `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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

@@ -4,41 +4,42 @@
```typescript ```typescript
import { GetLibraryMatchesRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { GetLibraryMatchesRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared"; import { BoolInt, MediaType } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetLibraryMatchesRequest = { let value: GetLibraryMatchesRequest = {
includeFullMetadata: BoolInt.One, type: MediaType.TvShow,
includeAncestorMetadata: BoolInt.One, includeFullMetadata: BoolInt.True,
includeAlternateMetadataSources: BoolInt.One, includeAncestorMetadata: BoolInt.True,
includeAlternateMetadataSources: BoolInt.True,
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | | | `accepts` | [shared.Accepts](../../../sdk/models/shared/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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku | | `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV | | `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 | | `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `type` | *number* | :heavy_minus_sign: | The metadata type to filter by | | | `type` | [shared.MediaType](../../../sdk/models/shared/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` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 | | `includeFullMetadata` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 |
| `includeAncestorMetadata` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 | | `includeAncestorMetadata` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 |
| `includeAlternateMetadataSources` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | N/A | 1 | | `includeAlternateMetadataSources` | [shared.BoolInt](../../../sdk/models/shared/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. | | | `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 | | | `title` | *string* | :heavy_minus_sign: | The title to filter by or assign | |
| `year` | *number* | :heavy_minus_sign: | Used for movies shows, and albums. Optional. | | | `year` | *number* | :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. | | | `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. | | | `grandparentTitle` | *string* | :heavy_minus_sign: | Used for episodes and tracks. The title of the show/artist. Required if `path` isn't passed. | |
| `grandparentYear` | *number* | :heavy_minus_sign: | Used for episodes. The year of the show. | | | `grandparentYear` | *number* | :heavy_minus_sign: | Used for episodes. The year of the show. | |
| `parentIndex` | *number* | :heavy_minus_sign: | Used for episodes and tracks. The season/album number. | | | `parentIndex` | *number* | :heavy_minus_sign: | Used for episodes and tracks. The season/album number. | |
| `index` | *number* | :heavy_minus_sign: | Used for episodes and tracks. The episode/tracks number in the season/album. | | | `index` | *number* | :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`. | | | `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. | | | `parentTitle` | *string* | :heavy_minus_sign: | Used for albums and tracks. The artist name for albums or the album name for tracks. | |

View File

@@ -10,7 +10,7 @@ let value: GetMediaPartRequest = {
partId: 488589, partId: 488589,
changestamp: 145976, changestamp: 145976,
filename: "example.file", filename: "example.file",
download: BoolInt.One, download: BoolInt.True,
}; };
``` ```

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetMetadataHubsRequest = { let value: GetMetadataHubsRequest = {
metadataId: 795565, metadataId: 795565,
onlyTransient: BoolInt.One, onlyTransient: BoolInt.True,
}; };
``` ```

View File

@@ -8,14 +8,14 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetMetadataItemRequest = { let value: GetMetadataItemRequest = {
ids: [], ids: [],
asyncCheckFiles: BoolInt.One, asyncCheckFiles: BoolInt.True,
asyncRefreshLocalMediaAgent: BoolInt.One, asyncRefreshLocalMediaAgent: BoolInt.True,
asyncRefreshAnalysis: BoolInt.One, asyncRefreshAnalysis: BoolInt.True,
checkFiles: BoolInt.One, checkFiles: BoolInt.True,
skipRefresh: BoolInt.One, skipRefresh: BoolInt.True,
checkFileAvailability: BoolInt.One, checkFileAvailability: BoolInt.True,
asyncAugmentMetadata: BoolInt.One, asyncAugmentMetadata: BoolInt.True,
augmentCount: BoolInt.One, augmentCount: BoolInt.True,
}; };
``` ```

View File

@@ -14,6 +14,7 @@ let value: GetPersonMediaContainer = {
directory: [ directory: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -12,6 +12,7 @@ let value: GetPersonResponseBody = {
directory: [ directory: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -0,0 +1,18 @@
# GetPlaylistGeneratorItemsGuid
## Example Usage
```typescript
import { GetPlaylistGeneratorItemsGuid } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetPlaylistGeneratorItemsGuid = {
id:
"{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
};
```
## 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

@@ -9,12 +9,18 @@ The container often "hoists" common attributes from its children. For example, i
```typescript ```typescript
import { GetPlaylistGeneratorItemsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { GetPlaylistGeneratorItemsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetPlaylistGeneratorItemsMediaContainer = { let value: GetPlaylistGeneratorItemsMediaContainer = {
metadata: { metadata: {
title: "<value>",
type: "<value>",
addedAt: 847588,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -22,9 +28,12 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -35,6 +44,7 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -45,6 +55,7 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -52,16 +63,16 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -78,45 +89,71 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -129,9 +166,12 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -142,6 +182,7 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -149,9 +190,12 @@ let value: GetPlaylistGeneratorItemsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -6,13 +6,19 @@ OK
```typescript ```typescript
import { GetPlaylistGeneratorItemsResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { GetPlaylistGeneratorItemsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetPlaylistGeneratorItemsResponseBody = { let value: GetPlaylistGeneratorItemsResponseBody = {
mediaContainer: { mediaContainer: {
metadata: { metadata: {
title: "<value>",
type: "<value>",
addedAt: 847588,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -20,9 +26,12 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -33,6 +42,7 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -43,6 +53,7 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -50,16 +61,16 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -76,45 +87,71 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -127,9 +164,12 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -140,6 +180,7 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -147,9 +188,12 @@ let value: GetPlaylistGeneratorItemsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -8,9 +8,9 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetPlayQueueRequest = { let value: GetPlayQueueRequest = {
playQueueId: 868034, playQueueId: 868034,
own: BoolInt.One, own: BoolInt.True,
includeBefore: BoolInt.One, includeBefore: BoolInt.True,
includeAfter: BoolInt.One, includeAfter: BoolInt.True,
}; };
``` ```

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetPostplayHubsRequest = { let value: GetPostplayHubsRequest = {
metadataId: 202749, metadataId: 202749,
onlyTransient: BoolInt.One, onlyTransient: BoolInt.True,
}; };
``` ```

View File

@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
```typescript ```typescript
import { GetPromotedHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { GetPromotedHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetPromotedHubsMediaContainer = { let value: GetPromotedHubsMediaContainer = {
hub: [ hub: [
@@ -19,9 +20,14 @@ let value: GetPromotedHubsMediaContainer = {
key: "/hubs/sections/home/onDeck", key: "/hubs/sections/home/onDeck",
metadata: [ metadata: [
{ {
title: "<value>",
type: "<value>",
addedAt: 29550,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -29,9 +35,12 @@ let value: GetPromotedHubsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -42,6 +51,7 @@ let value: GetPromotedHubsMediaContainer = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -52,6 +62,7 @@ let value: GetPromotedHubsMediaContainer = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -59,16 +70,16 @@ let value: GetPromotedHubsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -85,45 +96,71 @@ let value: GetPromotedHubsMediaContainer = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -136,9 +173,12 @@ let value: GetPromotedHubsMediaContainer = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -149,6 +189,7 @@ let value: GetPromotedHubsMediaContainer = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -156,9 +197,12 @@ let value: GetPromotedHubsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -6,6 +6,7 @@ OK
```typescript ```typescript
import { GetPromotedHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { GetPromotedHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetPromotedHubsResponseBody = { let value: GetPromotedHubsResponseBody = {
mediaContainer: { mediaContainer: {
@@ -17,9 +18,14 @@ let value: GetPromotedHubsResponseBody = {
key: "/hubs/sections/home/onDeck", key: "/hubs/sections/home/onDeck",
metadata: [ metadata: [
{ {
title: "<value>",
type: "<value>",
addedAt: 29550,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -27,9 +33,12 @@ let value: GetPromotedHubsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -40,6 +49,7 @@ let value: GetPromotedHubsResponseBody = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -50,6 +60,7 @@ let value: GetPromotedHubsResponseBody = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -57,16 +68,16 @@ let value: GetPromotedHubsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -83,46 +94,72 @@ let value: GetPromotedHubsResponseBody = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: file:
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -135,9 +172,12 @@ let value: GetPromotedHubsResponseBody = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -148,6 +188,7 @@ let value: GetPromotedHubsResponseBody = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -155,9 +196,12 @@ let value: GetPromotedHubsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetRelatedHubsRequest = { let value: GetRelatedHubsRequest = {
metadataId: 344420, metadataId: 344420,
onlyTransient: BoolInt.One, onlyTransient: BoolInt.True,
}; };
``` ```

View File

@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
```typescript ```typescript
import { GetRelatedItemsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { GetRelatedItemsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetRelatedItemsMediaContainer = { let value: GetRelatedItemsMediaContainer = {
hub: [ hub: [
@@ -19,9 +20,14 @@ let value: GetRelatedItemsMediaContainer = {
key: "/hubs/sections/home/onDeck", key: "/hubs/sections/home/onDeck",
metadata: [ metadata: [
{ {
title: "<value>",
type: "<value>",
addedAt: 29550,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -29,9 +35,12 @@ let value: GetRelatedItemsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -42,6 +51,7 @@ let value: GetRelatedItemsMediaContainer = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -52,6 +62,7 @@ let value: GetRelatedItemsMediaContainer = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -59,16 +70,16 @@ let value: GetRelatedItemsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -85,45 +96,71 @@ let value: GetRelatedItemsMediaContainer = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -136,9 +173,12 @@ let value: GetRelatedItemsMediaContainer = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -149,6 +189,7 @@ let value: GetRelatedItemsMediaContainer = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -156,9 +197,12 @@ let value: GetRelatedItemsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -6,6 +6,7 @@ OK
```typescript ```typescript
import { GetRelatedItemsResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { GetRelatedItemsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetRelatedItemsResponseBody = { let value: GetRelatedItemsResponseBody = {
mediaContainer: { mediaContainer: {
@@ -17,9 +18,14 @@ let value: GetRelatedItemsResponseBody = {
key: "/hubs/sections/home/onDeck", key: "/hubs/sections/home/onDeck",
metadata: [ metadata: [
{ {
title: "<value>",
type: "<value>",
addedAt: 29550,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -27,9 +33,12 @@ let value: GetRelatedItemsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -40,6 +49,7 @@ let value: GetRelatedItemsResponseBody = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -50,6 +60,7 @@ let value: GetRelatedItemsResponseBody = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -57,16 +68,16 @@ let value: GetRelatedItemsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -83,46 +94,72 @@ let value: GetRelatedItemsResponseBody = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: file:
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -135,9 +172,12 @@ let value: GetRelatedItemsResponseBody = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -148,6 +188,7 @@ let value: GetRelatedItemsResponseBody = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -155,9 +196,12 @@ let value: GetRelatedItemsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -9,14 +9,20 @@ The container often "hoists" common attributes from its children. For example, i
```typescript ```typescript
import { GetScheduledRecordingsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { GetScheduledRecordingsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetScheduledRecordingsMediaContainer = { let value: GetScheduledRecordingsMediaContainer = {
mediaGrabOperation: [ mediaGrabOperation: [
{ {
metadata: { metadata: {
title: "<value>",
type: "<value>",
addedAt: 3539,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -24,9 +30,12 @@ let value: GetScheduledRecordingsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -37,6 +46,7 @@ let value: GetScheduledRecordingsMediaContainer = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -47,6 +57,7 @@ let value: GetScheduledRecordingsMediaContainer = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -54,16 +65,16 @@ let value: GetScheduledRecordingsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -80,45 +91,71 @@ let value: GetScheduledRecordingsMediaContainer = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -131,9 +168,12 @@ let value: GetScheduledRecordingsMediaContainer = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -144,6 +184,7 @@ let value: GetScheduledRecordingsMediaContainer = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -151,9 +192,12 @@ let value: GetScheduledRecordingsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -6,15 +6,21 @@ OK
```typescript ```typescript
import { GetScheduledRecordingsResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { GetScheduledRecordingsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetScheduledRecordingsResponseBody = { let value: GetScheduledRecordingsResponseBody = {
mediaContainer: { mediaContainer: {
mediaGrabOperation: [ mediaGrabOperation: [
{ {
metadata: { metadata: {
title: "<value>",
type: "<value>",
addedAt: 3539,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -22,9 +28,12 @@ let value: GetScheduledRecordingsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -35,6 +44,7 @@ let value: GetScheduledRecordingsResponseBody = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -45,6 +55,7 @@ let value: GetScheduledRecordingsResponseBody = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -52,16 +63,16 @@ let value: GetScheduledRecordingsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -78,45 +89,71 @@ let value: GetScheduledRecordingsResponseBody = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -129,9 +166,12 @@ let value: GetScheduledRecordingsResponseBody = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -142,6 +182,7 @@ let value: GetScheduledRecordingsResponseBody = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -149,9 +190,12 @@ let value: GetScheduledRecordingsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
```typescript ```typescript
import { GetSectionHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { GetSectionHubsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetSectionHubsMediaContainer = { let value: GetSectionHubsMediaContainer = {
hub: [ hub: [
@@ -19,9 +20,14 @@ let value: GetSectionHubsMediaContainer = {
key: "/hubs/sections/home/onDeck", key: "/hubs/sections/home/onDeck",
metadata: [ metadata: [
{ {
title: "<value>",
type: "<value>",
addedAt: 29550,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -29,9 +35,12 @@ let value: GetSectionHubsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -42,6 +51,7 @@ let value: GetSectionHubsMediaContainer = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -52,6 +62,7 @@ let value: GetSectionHubsMediaContainer = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -59,16 +70,16 @@ let value: GetSectionHubsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -85,45 +96,71 @@ let value: GetSectionHubsMediaContainer = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", file: "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -136,9 +173,12 @@ let value: GetSectionHubsMediaContainer = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -149,6 +189,7 @@ let value: GetSectionHubsMediaContainer = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -156,9 +197,12 @@ let value: GetSectionHubsMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetSectionHubsRequest = { let value: GetSectionHubsRequest = {
sectionId: 905423, sectionId: 905423,
onlyTransient: BoolInt.One, onlyTransient: BoolInt.True,
}; };
``` ```

View File

@@ -6,6 +6,7 @@ OK
```typescript ```typescript
import { GetSectionHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { GetSectionHubsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetSectionHubsResponseBody = { let value: GetSectionHubsResponseBody = {
mediaContainer: { mediaContainer: {
@@ -17,9 +18,14 @@ let value: GetSectionHubsResponseBody = {
key: "/hubs/sections/home/onDeck", key: "/hubs/sections/home/onDeck",
metadata: [ metadata: [
{ {
title: "<value>",
type: "<value>",
addedAt: 29550,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -27,9 +33,12 @@ let value: GetSectionHubsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -40,6 +49,7 @@ let value: GetSectionHubsResponseBody = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -50,6 +60,7 @@ let value: GetSectionHubsResponseBody = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -57,16 +68,16 @@ let value: GetSectionHubsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -83,46 +94,72 @@ let value: GetSectionHubsResponseBody = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: file:
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -135,9 +172,12 @@ let value: GetSectionHubsResponseBody = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -148,6 +188,7 @@ let value: GetSectionHubsResponseBody = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -155,9 +196,12 @@ let value: GetSectionHubsResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -4,29 +4,35 @@
```typescript ```typescript
import { GetSectionImageRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { GetSectionImageRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetSectionImageRequest = { let value: GetSectionImageRequest = {
sectionId: 16951, sectionId: 16951,
updatedAt: 311971, updatedAt: 311971,
mediaQuery: {
type: MediaType.Episode,
sourceType: 2,
sort: "duration:desc,index",
},
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | | | `accepts` | [shared.Accepts](../../../sdk/models/shared/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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku | | `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV | | `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 | | `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `sectionId` | *number* | :heavy_check_mark: | Section identifier | | | `sectionId` | *number* | :heavy_check_mark: | Section identifier | |
| `updatedAt` | *number* | :heavy_check_mark: | The update time of the image. Used for busting cache. | | | `updatedAt` | *number* | :heavy_check_mark: | The update time of the image. Used for busting cache. | |
| `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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 | | | `mediaQuery` | [shared.MediaQuery](../../../sdk/models/shared/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` | [shared.Composite](../../../sdk/models/shared/composite.md) | :heavy_minus_sign: | N/A | | | `composite` | [shared.Composite](../../../sdk/models/shared/composite.md) | :heavy_minus_sign: | N/A | |

View File

@@ -9,8 +9,22 @@ The container often "hoists" common attributes from its children. For example, i
```typescript ```typescript
import { GetSectionsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { GetSectionsMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
import { MediaTypeString } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetSectionsMediaContainer = {}; let value: GetSectionsMediaContainer = {
directory: [
{
title: "Movies",
type: MediaTypeString.Movie,
contentChangedAt: 1556281940,
createdAt: 1556281940,
language: "<value>",
uuid: "e69655a2-ef48-4aba-bb19-d3cc3401e7d6",
scannedAt: 1556281940,
updatedAt: 1556281940,
},
],
};
``` ```
## Fields ## Fields

View File

@@ -6,8 +6,24 @@ OK
```typescript ```typescript
import { GetSectionsResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { GetSectionsResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
import { MediaTypeString } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetSectionsResponseBody = {}; let value: GetSectionsResponseBody = {
mediaContainer: {
directory: [
{
title: "Movies",
type: MediaTypeString.Movie,
contentChangedAt: 1556281940,
createdAt: 1556281940,
language: "<value>",
uuid: "e69655a2-ef48-4aba-bb19-d3cc3401e7d6",
scannedAt: 1556281940,
updatedAt: 1556281940,
},
],
},
};
``` ```
## Fields ## Fields

View File

@@ -0,0 +1,21 @@
# GetServerResourcesError
## Example Usage
```typescript
import { GetServerResourcesError } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetServerResourcesError = {
code: 1001,
message: "User could not be authenticated",
status: 401,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -0,0 +1,18 @@
# GetServerResourcesGlobals
## Example Usage
```typescript
import { GetServerResourcesGlobals } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetServerResourcesGlobals = {
clientIdentifier: "abc123",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/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,23 @@
# GetServerResourcesRequest
## Example Usage
```typescript
import { GetServerResourcesRequest, IncludeHttps, IncludeIPv6, IncludeRelay } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetServerResourcesRequest = {
includeHttps: IncludeHttps.True,
includeRelay: IncludeRelay.True,
includeIPv6: IncludeIPv6.True,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/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](../../../sdk/models/operations/includehttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 |
| `includeRelay` | [operations.IncludeRelay](../../../sdk/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](../../../sdk/models/operations/includeipv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 |

View File

@@ -0,0 +1,21 @@
# GetServerResourcesResponse
## Example Usage
```typescript
import { GetServerResourcesResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetServerResourcesResponse = {
contentType: "<value>",
statusCode: 384468,
};
```
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `plexDevices` | [shared.PlexDevice](../../../sdk/models/shared/plexdevice.md)[] | :heavy_minus_sign: | List of Plex Devices. This includes Plex hosted servers and clients |

View File

@@ -8,7 +8,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetSourceConnectionInformationRequest = { let value: GetSourceConnectionInformationRequest = {
source: "<value>", source: "<value>",
refresh: BoolInt.One, refresh: BoolInt.True,
}; };
``` ```

View File

@@ -9,7 +9,7 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetStreamRequest = { let value: GetStreamRequest = {
streamId: 471434, streamId: 471434,
ext: "<value>", ext: "<value>",
autoAdjustSubtitle: BoolInt.One, autoAdjustSubtitle: BoolInt.True,
}; };
``` ```

View File

@@ -8,8 +8,8 @@ import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetSubscriptionRequest = { let value: GetSubscriptionRequest = {
subscriptionId: 533467, subscriptionId: 533467,
includeGrabs: BoolInt.One, includeGrabs: BoolInt.True,
includeStorage: BoolInt.One, includeStorage: BoolInt.True,
}; };
``` ```

View File

@@ -4,23 +4,26 @@
```typescript ```typescript
import { GetTagsRequest } from "@lukehagar/plexjs/sdk/models/operations"; import { GetTagsRequest } from "@lukehagar/plexjs/sdk/models/operations";
import { MediaType } from "@lukehagar/plexjs/sdk/models/shared";
let value: GetTagsRequest = {}; let value: GetTagsRequest = {
type: MediaType.TvShow,
};
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | | | `accepts` | [shared.Accepts](../../../sdk/models/shared/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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `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 | | `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X |
| `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku | | `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku |
| `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV | | `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 | | `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay |
| `type` | *number* | :heavy_minus_sign: | The metadata type to filter by | | | `type` | [shared.MediaType](../../../sdk/models/shared/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

@@ -1,11 +1,11 @@
# ButlerTask # GetTasksButlerTask
## Example Usage ## Example Usage
```typescript ```typescript
import { ButlerTask } from "@lukehagar/plexjs/sdk/models/operations"; import { GetTasksButlerTask } from "@lukehagar/plexjs/sdk/models/operations";
let value: ButlerTask = {}; let value: GetTasksButlerTask = {};
``` ```
## Fields ## Fields

View File

@@ -9,6 +9,7 @@ The container often "hoists" common attributes from its children. For example, i
```typescript ```typescript
import { GetTemplateMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import { GetTemplateMediaContainer } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetTemplateMediaContainer = { let value: GetTemplateMediaContainer = {
subscriptionTemplate: [ subscriptionTemplate: [
@@ -19,9 +20,14 @@ let value: GetTemplateMediaContainer = {
mediaGrabOperation: [ mediaGrabOperation: [
{ {
metadata: { metadata: {
title: "<value>",
type: "<value>",
addedAt: 3539,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -29,9 +35,12 @@ let value: GetTemplateMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -42,6 +51,7 @@ let value: GetTemplateMediaContainer = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -52,6 +62,7 @@ let value: GetTemplateMediaContainer = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -59,16 +70,16 @@ let value: GetTemplateMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -85,46 +96,73 @@ let value: GetTemplateMediaContainer = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: file:
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle:
"4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -137,9 +175,12 @@ let value: GetTemplateMediaContainer = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -150,6 +191,7 @@ let value: GetTemplateMediaContainer = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -157,9 +199,12 @@ let value: GetTemplateMediaContainer = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -6,6 +6,7 @@ OK
```typescript ```typescript
import { GetTemplateResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import { GetTemplateResponseBody } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetTemplateResponseBody = { let value: GetTemplateResponseBody = {
mediaContainer: { mediaContainer: {
@@ -17,9 +18,14 @@ let value: GetTemplateResponseBody = {
mediaGrabOperation: [ mediaGrabOperation: [
{ {
metadata: { metadata: {
title: "<value>",
type: "<value>",
addedAt: 3539,
art: "/library/metadata/58683/art/1703239236",
autotag: [ autotag: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -27,9 +33,12 @@ let value: GetTemplateResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
chapterSource: "media",
childCount: 1,
country: [ country: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -40,6 +49,7 @@ let value: GetTemplateResponseBody = {
director: [ director: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -50,6 +60,7 @@ let value: GetTemplateResponseBody = {
genre: [ genre: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -57,16 +68,16 @@ let value: GetTemplateResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
guid: [ grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
guid: "plex://movie/5d7768ba96b655001fdc0408",
guids: [
{ {
filter: "actor=49", id:
role: "Secretary", "{\"imdbExample\":{\"summary\":\"IMDB example\",\"value\":\"imdb://tt13015952\"},\"tmdbExample\":{\"summary\":\"TMDB example\",\"value\":\"tmdb://2434012\"},\"tvdbExample\":{\"summary\":\"TVDB example\",\"value\":\"tvdb://7945991\"}}",
tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27",
thumb:
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
key: "<key>",
lastViewedAt: 1556281940,
media: [ media: [
{ {
aspectRatio: 2.35, aspectRatio: 2.35,
@@ -83,46 +94,73 @@ let value: GetTemplateResponseBody = {
optimizedForStreaming: false, optimizedForStreaming: false,
part: [ part: [
{ {
accessible: true,
audioProfile: "lc", audioProfile: "lc",
container: "mov", container: "mov",
duration: 150192, duration: 150192,
exists: true,
file: file:
"/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov", "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
has64bitOffsets: false, has64bitOffsets: false,
id: 1, id: 1,
indexes: "sd",
key: "/library/parts/1/1531779263/file.mov", key: "/library/parts/1/1531779263/file.mov",
optimizedForStreaming: false, optimizedForStreaming: false,
size: 105355654, size: 105355654,
stream: [ stream: [
{ {
default: true, default: true,
audioChannelLayout: "stereo", audioChannelLayout: "5.1(side)",
bitDepth: 8, channels: 6,
bitrate: 5466, bitDepth: 10,
canAutoSync: true, doviblCompatID: 1,
doviblPresent: true,
dovielPresent: false,
doviLevel: 6,
doviPresent: true,
doviProfile: 8,
dovirpuPresent: true,
doviVersion: "1.0",
bitrate: 24743,
canAutoSync: false,
chromaLocation: "topleft", chromaLocation: "topleft",
chromaSubsampling: "4:2:0", chromaSubsampling: "4:2:0",
codec: "h264", codedHeight: 1608,
colorPrimaries: "bt709", codedWidth: 3840,
closedCaptions: true,
codec: "hevc",
colorPrimaries: "bt2020",
colorRange: "tv", colorRange: "tv",
colorSpace: "bt709", colorSpace: "bt2020nc",
colorTrc: "bt709", colorTrc: "smpte2084",
displayTitle: "English (H.264 Main)", displayTitle: "4K DoVi/HDR10 (HEVC Main 10)",
extendedDisplayTitle:
"4K DoVi/HDR10 (HEVC Main 10)",
frameRate: 23.976, frameRate: 23.976,
hasScalingMatrix: false, hasScalingMatrix: false,
height: 544, height: 1602,
id: 1, id: 1002625,
index: 0, index: 0,
key: "/library/streams/1", key: "/library/streams/216389",
language: "English", language: "English",
languageCode: "eng", languageCode: "eng",
level: 31, languageTag: "en",
profile: "main", format: "srt",
refFrames: 2, headerCompression: true,
level: 150,
original: true,
profile: "main 10",
refFrames: 1,
samplingRate: 48000, samplingRate: 48000,
scanType: "progressive",
embeddedInVideo: "progressive",
selected: true,
forced: true,
hearingImpaired: true,
dub: true,
title: "SDH",
streamIdentifier: 1, streamIdentifier: 1,
streamType: 1, width: 3840,
width: 1280,
}, },
], ],
videoProfile: "main", videoProfile: "main",
@@ -135,9 +173,12 @@ let value: GetTemplateResponseBody = {
width: 1280, width: 1280,
}, },
], ],
originallyAvailableAt: new RFCDate("2022-12-14"),
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
ratingArray: [ ratingArray: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -148,6 +189,7 @@ let value: GetTemplateResponseBody = {
role: [ role: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",
@@ -155,9 +197,12 @@ let value: GetTemplateResponseBody = {
"http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg", "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg",
}, },
], ],
theme: "/library/metadata/1/theme/1705636920",
thumb: "/library/metadata/58683/thumb/1703239236",
writer: [ writer: [
{ {
filter: "actor=49", filter: "actor=49",
ratingKey: "58683",
role: "Secretary", role: "Secretary",
tag: "Shaun Lawton", tag: "Shaun Lawton",
tagKey: "5d3ee12c4cde6a001c3e0b27", tagKey: "5d3ee12c4cde6a001c3e0b27",

View File

@@ -0,0 +1,21 @@
# GetTokenDetailsBadRequestError
## Example Usage
```typescript
import { GetTokenDetailsBadRequestError } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetTokenDetailsBadRequestError = {
code: 1000,
message: "X-Plex-Client-Identifier is missing",
status: 400,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1000 |
| `message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing |
| `status` | *number* | :heavy_minus_sign: | N/A | 400 |

View File

@@ -0,0 +1,36 @@
# GetTokenDetailsGlobals
## Example Usage
```typescript
import { GetTokenDetailsGlobals } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetTokenDetailsGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/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,25 @@
# GetTokenDetailsRequest
## Example Usage
```typescript
import { GetTokenDetailsRequest } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetTokenDetailsRequest = {};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/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,21 @@
# GetTokenDetailsResponse
## Example Usage
```typescript
import { GetTokenDetailsResponse } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetTokenDetailsResponse = {
contentType: "<value>",
statusCode: 77667,
};
```
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `statusCode` | *number* | :heavy_check_mark: | HTTP response status code for this operation |
| `rawResponse` | [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `userPlexAccount` | [shared.UserPlexAccount](../../../sdk/models/shared/userplexaccount.md) | :heavy_minus_sign: | Logged in user details |

View File

@@ -0,0 +1,21 @@
# GetTokenDetailsUnauthorizedError
## Example Usage
```typescript
import { GetTokenDetailsUnauthorizedError } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetTokenDetailsUnauthorizedError = {
code: 1001,
message: "User could not be authenticated",
status: 401,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1001 |
| `message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `status` | *number* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -0,0 +1,21 @@
# GetUsersBadRequestError
## Example Usage
```typescript
import { GetUsersBadRequestError } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetUsersBadRequestError = {
code: 1000,
message: "X-Plex-Client-Identifier is missing",
status: 400,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `code` | *number* | :heavy_minus_sign: | N/A | 1000 |
| `message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing |
| `status` | *number* | :heavy_minus_sign: | N/A | 400 |

View File

@@ -0,0 +1,36 @@
# GetUsersGlobals
## Example Usage
```typescript
import { GetUsersGlobals } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetUsersGlobals = {
clientIdentifier: "abc123",
product: "Plex for Roku",
version: "2.4.1",
platform: "Roku",
platformVersion: "4.3 build 1057",
device: "Roku 3",
model: "4200X",
deviceVendor: "Roku",
deviceName: "Living Room TV",
marketplace: "googlePlay",
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `accepts` | [shared.Accepts](../../../sdk/models/shared/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 |

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