mirror of
https://github.com/LukeHagar/plexjs.git
synced 2025-12-06 12:37:46 +00:00
Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
77b0ef9507 | ||
|
|
1cfbd17f28 | ||
|
|
2492807c65 | ||
|
|
ead0a8773c | ||
|
|
e254f82e06 | ||
|
|
a4369c999a | ||
|
|
c50b85f29a | ||
|
|
496ebda695 | ||
|
|
d436fc3452 | ||
|
|
99cdf6effe | ||
|
|
fa2ba82f62 | ||
|
|
fd8095a8df | ||
|
|
9911164ab0 | ||
|
|
ffedf47cad | ||
|
|
39d3a40524 | ||
|
|
8dc802ca50 | ||
|
|
5465f1e74c | ||
|
|
2d100b8e75 | ||
|
|
0533836427 | ||
|
|
f0b08b9bd9 | ||
|
|
244adab882 | ||
|
|
4d8ee6c199 | ||
|
|
4fe1356250 |
5
.github/workflows/publish-jsr.yaml
vendored
5
.github/workflows/publish-jsr.yaml
vendored
@@ -7,9 +7,8 @@ permissions:
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
registry_package:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
|
||||
30
.github/workflows/sdk_generation.yaml
vendored
Normal file
30
.github/workflows/sdk_generation.yaml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name: Generate
|
||||
permissions:
|
||||
checks: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
statuses: write
|
||||
"on":
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
force:
|
||||
description: Force generation of SDKs
|
||||
type: boolean
|
||||
default: false
|
||||
set_version:
|
||||
description: optionally set a specific SDK version
|
||||
type: string
|
||||
schedule:
|
||||
- cron: 0 0 * * *
|
||||
jobs:
|
||||
generate:
|
||||
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
|
||||
with:
|
||||
force: ${{ github.event.inputs.force }}
|
||||
mode: direct
|
||||
set_version: ${{ github.event.inputs.set_version }}
|
||||
speakeasy_version: latest
|
||||
secrets:
|
||||
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_token: ${{ secrets.NPM_TOKEN }}
|
||||
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
|
||||
31
.github/workflows/speakeasy_sdk_generation.yml
vendored
31
.github/workflows/speakeasy_sdk_generation.yml
vendored
@@ -1,31 +0,0 @@
|
||||
name: Generate
|
||||
permissions:
|
||||
checks: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
statuses: write
|
||||
"on":
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
force:
|
||||
description: Force generation of SDKs
|
||||
type: boolean
|
||||
default: false
|
||||
push_code_samples_only:
|
||||
description: Force push only code samples from SDK generation
|
||||
type: boolean
|
||||
default: false
|
||||
schedule:
|
||||
- cron: 0 0 * * *
|
||||
jobs:
|
||||
generate:
|
||||
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
|
||||
with:
|
||||
force: ${{ github.event.inputs.force }}
|
||||
mode: direct
|
||||
push_code_samples_only: ${{ fromJSON(github.event.inputs.push_code_samples_only) }}
|
||||
speakeasy_version: latest
|
||||
secrets:
|
||||
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_token: ${{ secrets.NPM_TOKEN }}
|
||||
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
|
||||
20
.github/workflows/tagging.yaml
vendored
20
.github/workflows/tagging.yaml
vendored
@@ -1,20 +0,0 @@
|
||||
name: Speakeasy Tagging
|
||||
permissions:
|
||||
checks: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
statuses: write
|
||||
"on":
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths: []
|
||||
workflow_dispatch: {}
|
||||
jobs:
|
||||
tag:
|
||||
uses: speakeasy-api/sdk-generation-action/.github/workflows/tag.yaml@v15
|
||||
with:
|
||||
registry_tags: main
|
||||
secrets:
|
||||
github_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,6 @@
|
||||
/sdk/models/errors
|
||||
/sdk/types
|
||||
/__tests__
|
||||
/funcs
|
||||
/core.*
|
||||
/esm
|
||||
|
||||
@@ -7,3 +7,4 @@
|
||||
/cjs
|
||||
/.tshy
|
||||
/.tshy-*
|
||||
/__tests__
|
||||
|
||||
2888
.speakeasy/gen.lock
2888
.speakeasy/gen.lock
File diff suppressed because one or more lines are too long
@@ -12,7 +12,7 @@ generation:
|
||||
auth:
|
||||
oAuth2ClientCredentialsEnabled: true
|
||||
typescript:
|
||||
version: 0.19.0
|
||||
version: 0.25.1
|
||||
additionalDependencies:
|
||||
dependencies: {}
|
||||
devDependencies: {}
|
||||
@@ -22,14 +22,15 @@ typescript:
|
||||
clientServerStatusCodesAsErrors: true
|
||||
enumFormat: enum
|
||||
flattenGlobalSecurity: true
|
||||
flatteningOrder: body-first
|
||||
imports:
|
||||
option: openapi
|
||||
paths:
|
||||
callbacks: ""
|
||||
errors: ""
|
||||
operations: ""
|
||||
shared: ""
|
||||
webhooks: ""
|
||||
callbacks: sdk/models/callbacks
|
||||
errors: sdk/models/errors
|
||||
operations: sdk/models/operations
|
||||
shared: sdk/models/shared
|
||||
webhooks: sdk/models/webhooks
|
||||
inputModelSuffix: input
|
||||
maxMethodParams: 4
|
||||
methodArguments: require-security-and-request
|
||||
|
||||
@@ -1,38 +1,42 @@
|
||||
speakeasyVersion: 1.377.1
|
||||
speakeasyVersion: 1.405.6
|
||||
sources:
|
||||
my-source:
|
||||
sourceNamespace: my-source
|
||||
sourceRevisionDigest: sha256:4e103669d4bcf7c698608fa37524f3d644510de45959c5437c21b60b2fb2dd9f
|
||||
sourceBlobDigest: sha256:3cb937b6d66508640fa6080fa4c16ebef73a438fbb21a1f8833d6dd2e8fcd5ee
|
||||
sourceRevisionDigest: sha256:1b8840d540c66b58d1009ec2581fb18464158ec9aa00464eac05ba737f31207e
|
||||
sourceBlobDigest: sha256:f7e2709f52370dff16c1851a7a4e44a89f2e978e9cae335bffc10625950b3bd9
|
||||
tags:
|
||||
- latest
|
||||
- main
|
||||
plexapi:
|
||||
sourceNamespace: plexapi
|
||||
sourceRevisionDigest: sha256:c6ab8f13847c7cdc4ab3752f517164d7da08266726255aa0d614b1eaea66fb0e
|
||||
sourceBlobDigest: sha256:64c7694915a0828aeb256d10d2fa0ea477681785b818916b6681be8cc5ffb93b
|
||||
tags:
|
||||
- latest
|
||||
- main
|
||||
targets:
|
||||
plexjs:
|
||||
source: my-source
|
||||
sourceNamespace: my-source
|
||||
sourceRevisionDigest: sha256:4e103669d4bcf7c698608fa37524f3d644510de45959c5437c21b60b2fb2dd9f
|
||||
sourceBlobDigest: sha256:3cb937b6d66508640fa6080fa4c16ebef73a438fbb21a1f8833d6dd2e8fcd5ee
|
||||
source: plexapi
|
||||
sourceNamespace: plexapi
|
||||
sourceRevisionDigest: sha256:c6ab8f13847c7cdc4ab3752f517164d7da08266726255aa0d614b1eaea66fb0e
|
||||
sourceBlobDigest: sha256:64c7694915a0828aeb256d10d2fa0ea477681785b818916b6681be8cc5ffb93b
|
||||
codeSamplesNamespace: code-samples-typescript-plexjs
|
||||
codeSamplesRevisionDigest: sha256:439dcb28ca6dc855201641d70fc56ac3a6685187d824eb3077145b6a5be15b8b
|
||||
outLocation: /github/workspace/repo
|
||||
codeSamplesRevisionDigest: sha256:9667534090efff73eeec1ce4a99b4aebdd251a5eac0cfa5c78ddc0def4d4624e
|
||||
workflow:
|
||||
workflowVersion: 1.0.0
|
||||
speakeasyVersion: latest
|
||||
sources:
|
||||
my-source:
|
||||
plexapi:
|
||||
inputs:
|
||||
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml
|
||||
registry:
|
||||
location: registry.speakeasyapi.dev/lukehagar/lukehagar/my-source
|
||||
- location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi:main
|
||||
targets:
|
||||
plexjs:
|
||||
target: typescript
|
||||
source: my-source
|
||||
source: plexapi
|
||||
publish:
|
||||
npm:
|
||||
token: $NPM_TOKEN
|
||||
token: $npm_token
|
||||
codeSamples:
|
||||
output: codeSamples.yaml
|
||||
registry:
|
||||
location: registry.speakeasyapi.dev/lukehagar/lukehagar/code-samples-typescript-plexjs
|
||||
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
workflowVersion: 1.0.0
|
||||
speakeasyVersion: latest
|
||||
sources:
|
||||
my-source:
|
||||
plexapi:
|
||||
inputs:
|
||||
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml
|
||||
registry:
|
||||
location: registry.speakeasyapi.dev/lukehagar/lukehagar/my-source
|
||||
- location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi:main
|
||||
targets:
|
||||
plexjs:
|
||||
target: typescript
|
||||
source: my-source
|
||||
source: plexapi
|
||||
publish:
|
||||
npm:
|
||||
token: $NPM_TOKEN
|
||||
token: $npm_token
|
||||
codeSamples:
|
||||
output: codeSamples.yaml
|
||||
registry:
|
||||
location: registry.speakeasyapi.dev/lukehagar/lukehagar/code-samples-typescript-plexjs
|
||||
location: registry.speakeasyapi.dev/plexapi/plexapi/code-samples-typescript-plexjs
|
||||
|
||||
10
FUNCTIONS.md
10
FUNCTIONS.md
@@ -21,13 +21,17 @@ specific category of applications.
|
||||
```typescript
|
||||
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
||||
import { serverGetServerCapabilities } from "@lukehagar/plexjs/funcs/serverGetServerCapabilities.js";
|
||||
import { SDKValidationError } from "@lukehagar/plexjs/models/sdkvalidationerror.js";
|
||||
import { SDKValidationError } from "@lukehagar/plexjs/sdk/models/errors/sdkvalidationerror.js";
|
||||
|
||||
// Use `PlexAPICore` for best tree-shaking performance.
|
||||
// You can create one instance of it to use across an application.
|
||||
const plexAPI = new PlexAPICore({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
||||
clientName: "Plex for Roku",
|
||||
clientVersion: "2.4.1",
|
||||
platform: "Roku",
|
||||
deviceNickname: "Roku 3",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
@@ -53,7 +57,7 @@ async function run() {
|
||||
const { value: result } = res;
|
||||
|
||||
// Handle the result
|
||||
console.log(result)
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
run();
|
||||
|
||||
424
README.md
424
README.md
@@ -7,9 +7,58 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Start Summary [summary] -->
|
||||
## Summary
|
||||
|
||||
Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server
|
||||
|
||||
# Plex Media Server OpenAPI Specification
|
||||
|
||||
An Open Source OpenAPI Specification for Plex Media Server
|
||||
|
||||
Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/)
|
||||
|
||||
## Documentation
|
||||
|
||||
[API Documentation](https://plexapi.dev)
|
||||
|
||||
## SDKs
|
||||
|
||||
The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the [main specification Repository](https://github.com/LukeHagar/plex-api-spec).
|
||||
|
||||
| Language | Repository | Releases | Other |
|
||||
| --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
|
||||
| Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - |
|
||||
| JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - |
|
||||
| Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) |
|
||||
| Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - |
|
||||
| Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - |
|
||||
| PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - |
|
||||
| Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - |
|
||||
| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | -
|
||||
<!-- End Summary [summary] -->
|
||||
|
||||
<!-- Start Table of Contents [toc] -->
|
||||
## Table of Contents
|
||||
|
||||
* [SDK Installation](#sdk-installation)
|
||||
* [Requirements](#requirements)
|
||||
* [SDK Example Usage](#sdk-example-usage)
|
||||
* [Available Resources and Operations](#available-resources-and-operations)
|
||||
* [Standalone functions](#standalone-functions)
|
||||
* [Retries](#retries)
|
||||
* [Error Handling](#error-handling)
|
||||
* [Server Selection](#server-selection)
|
||||
* [Custom HTTP Client](#custom-http-client)
|
||||
* [Authentication](#authentication)
|
||||
* [Debugging](#debugging)
|
||||
<!-- End Table of Contents [toc] -->
|
||||
|
||||
<!-- Start SDK Installation [installation] -->
|
||||
## SDK Installation
|
||||
|
||||
The SDK can be installed with either [npm](https://www.npmjs.com/), [pnpm](https://pnpm.io/), [bun](https://bun.sh/) or [yarn](https://classic.yarnpkg.com/en/) package managers.
|
||||
|
||||
### NPM
|
||||
|
||||
```bash
|
||||
@@ -47,15 +96,19 @@ yarn add @lukehagar/plexjs zod
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
||||
clientName: "Plex for Roku",
|
||||
clientVersion: "2.4.1",
|
||||
platform: "Roku",
|
||||
deviceNickname: "Roku 3",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
run();
|
||||
@@ -66,33 +119,21 @@ run();
|
||||
<!-- Start Available Resources and Operations [operations] -->
|
||||
## Available Resources and Operations
|
||||
|
||||
### [server](docs/sdks/server/README.md)
|
||||
|
||||
* [getServerCapabilities](docs/sdks/server/README.md#getservercapabilities) - Get Server Capabilities
|
||||
* [getServerPreferences](docs/sdks/server/README.md#getserverpreferences) - Get Server Preferences
|
||||
* [getAvailableClients](docs/sdks/server/README.md#getavailableclients) - Get Available Clients
|
||||
* [getDevices](docs/sdks/server/README.md#getdevices) - Get Devices
|
||||
* [getServerIdentity](docs/sdks/server/README.md#getserveridentity) - Get Server Identity
|
||||
* [getMyPlexAccount](docs/sdks/server/README.md#getmyplexaccount) - Get MyPlex Account
|
||||
* [getResizedPhoto](docs/sdks/server/README.md#getresizedphoto) - Get a Resized Photo
|
||||
* [getServerList](docs/sdks/server/README.md#getserverlist) - Get Server List
|
||||
|
||||
### [media](docs/sdks/media/README.md)
|
||||
|
||||
* [markPlayed](docs/sdks/media/README.md#markplayed) - Mark Media Played
|
||||
* [markUnplayed](docs/sdks/media/README.md#markunplayed) - Mark Media Unplayed
|
||||
* [updatePlayProgress](docs/sdks/media/README.md#updateplayprogress) - Update Media Play Progress
|
||||
|
||||
### [video](docs/sdks/video/README.md)
|
||||
|
||||
* [getTimeline](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item
|
||||
* [startUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode) - Start Universal Transcode
|
||||
<details open>
|
||||
<summary>Available methods</summary>
|
||||
|
||||
### [activities](docs/sdks/activities/README.md)
|
||||
|
||||
* [getServerActivities](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities
|
||||
* [cancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities) - Cancel Server Activities
|
||||
|
||||
### [authentication](docs/sdks/authentication/README.md)
|
||||
|
||||
* [getTransientToken](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token
|
||||
* [getSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information
|
||||
* [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)
|
||||
|
||||
* [getButlerTasks](docs/sdks/butler/README.md#getbutlertasks) - Get Butler tasks
|
||||
@@ -101,39 +142,24 @@ run();
|
||||
* [startTask](docs/sdks/butler/README.md#starttask) - Start a single Butler task
|
||||
* [stopTask](docs/sdks/butler/README.md#stoptask) - Stop a single Butler task
|
||||
|
||||
### [plex](docs/sdks/plex/README.md)
|
||||
|
||||
* [getCompanionsData](docs/sdks/plex/README.md#getcompanionsdata) - Get Companions Data
|
||||
* [getUserFriends](docs/sdks/plex/README.md#getuserfriends) - Get list of friends of the user logged in
|
||||
* [getGeoData](docs/sdks/plex/README.md#getgeodata) - Get Geo Data
|
||||
* [getHomeData](docs/sdks/plex/README.md#gethomedata) - Get Plex Home Data
|
||||
* [getResources](docs/sdks/plex/README.md#getresources) - Get Resources
|
||||
* [getPin](docs/sdks/plex/README.md#getpin) - Get a Pin
|
||||
* [getTokenByPinId](docs/sdks/plex/README.md#gettokenbypinid) - Get Access Token by PinId
|
||||
* [getUserDetails](docs/sdks/plex/README.md#getuserdetails) - Get UserData By Token
|
||||
|
||||
### [hubs](docs/sdks/hubs/README.md)
|
||||
|
||||
* [getGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs
|
||||
* [getRecentlyAdded](docs/sdks/hubs/README.md#getrecentlyadded) - Get Recently Added
|
||||
* [getLibraryHubs](docs/sdks/hubs/README.md#getlibraryhubs) - Get library specific hubs
|
||||
|
||||
### [search](docs/sdks/search/README.md)
|
||||
|
||||
* [performSearch](docs/sdks/search/README.md#performsearch) - Perform a search
|
||||
* [performVoiceSearch](docs/sdks/search/README.md#performvoicesearch) - Perform a voice search
|
||||
* [getSearchResults](docs/sdks/search/README.md#getsearchresults) - Get Search Results
|
||||
|
||||
### [library](docs/sdks/library/README.md)
|
||||
|
||||
* [getFileHash](docs/sdks/library/README.md#getfilehash) - Get Hash Value
|
||||
* [getRecentlyAdded](docs/sdks/library/README.md#getrecentlyadded) - Get Recently Added
|
||||
* [getLibraries](docs/sdks/library/README.md#getlibraries) - Get All Libraries
|
||||
* [getLibrary](docs/sdks/library/README.md#getlibrary) - Get Library Details
|
||||
* [getRecentlyAddedLibrary](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added
|
||||
* [getAllLibraries](docs/sdks/library/README.md#getalllibraries) - Get All Libraries
|
||||
* [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
|
||||
* [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
|
||||
* [getLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
|
||||
* [refreshLibrary](docs/sdks/library/README.md#refreshlibrary) - Refresh Library
|
||||
* [searchLibrary](docs/sdks/library/README.md#searchlibrary) - Search Library
|
||||
* [getMetadata](docs/sdks/library/README.md#getmetadata) - Get Items Metadata
|
||||
* [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
|
||||
* [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library
|
||||
* [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
|
||||
* [getMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey
|
||||
* [getMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
|
||||
* [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
|
||||
* [getOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck
|
||||
@@ -144,6 +170,14 @@ run();
|
||||
* [logMultiLine](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message
|
||||
* [enablePaperTrail](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail
|
||||
|
||||
### [media](docs/sdks/media/README.md)
|
||||
|
||||
* [markPlayed](docs/sdks/media/README.md#markplayed) - Mark Media Played
|
||||
* [markUnplayed](docs/sdks/media/README.md#markunplayed) - Mark Media Unplayed
|
||||
* [updatePlayProgress](docs/sdks/media/README.md#updateplayprogress) - Update Media Play Progress
|
||||
* [getBannerImage](docs/sdks/media/README.md#getbannerimage) - Get Banner Image
|
||||
* [getThumbImage](docs/sdks/media/README.md#getthumbimage) - Get Thumb Image
|
||||
|
||||
### [playlists](docs/sdks/playlists/README.md)
|
||||
|
||||
* [createPlaylist](docs/sdks/playlists/README.md#createplaylist) - Create a Playlist
|
||||
@@ -156,16 +190,34 @@ run();
|
||||
* [addPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist
|
||||
* [uploadPlaylist](docs/sdks/playlists/README.md#uploadplaylist) - Upload Playlist
|
||||
|
||||
### [authentication](docs/sdks/authentication/README.md)
|
||||
### [plex](docs/sdks/plex/README.md)
|
||||
|
||||
* [getTransientToken](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token.
|
||||
* [getSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information
|
||||
* [getCompanionsData](docs/sdks/plex/README.md#getcompanionsdata) - Get Companions Data
|
||||
* [getUserFriends](docs/sdks/plex/README.md#getuserfriends) - Get list of friends of the user logged in
|
||||
* [getGeoData](docs/sdks/plex/README.md#getgeodata) - Get Geo Data
|
||||
* [getHomeData](docs/sdks/plex/README.md#gethomedata) - Get Plex Home Data
|
||||
* [getServerResources](docs/sdks/plex/README.md#getserverresources) - Get Server Resources
|
||||
* [getPin](docs/sdks/plex/README.md#getpin) - Get a Pin
|
||||
* [getTokenByPinId](docs/sdks/plex/README.md#gettokenbypinid) - Get Access Token by PinId
|
||||
|
||||
### [statistics](docs/sdks/statistics/README.md)
|
||||
|
||||
* [getStatistics](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics
|
||||
* [getResourcesStatistics](docs/sdks/statistics/README.md#getresourcesstatistics) - Get Resources Statistics
|
||||
* [getBandwidthStatistics](docs/sdks/statistics/README.md#getbandwidthstatistics) - Get Bandwidth Statistics
|
||||
### [search](docs/sdks/search/README.md)
|
||||
|
||||
* [performSearch](docs/sdks/search/README.md#performsearch) - Perform a search
|
||||
* [performVoiceSearch](docs/sdks/search/README.md#performvoicesearch) - Perform a voice search
|
||||
* [getSearchResults](docs/sdks/search/README.md#getsearchresults) - Get Search Results
|
||||
|
||||
### [server](docs/sdks/server/README.md)
|
||||
|
||||
* [getServerCapabilities](docs/sdks/server/README.md#getservercapabilities) - Get Server Capabilities
|
||||
* [getServerPreferences](docs/sdks/server/README.md#getserverpreferences) - Get Server Preferences
|
||||
* [getAvailableClients](docs/sdks/server/README.md#getavailableclients) - Get Available Clients
|
||||
* [getDevices](docs/sdks/server/README.md#getdevices) - Get Devices
|
||||
* [getServerIdentity](docs/sdks/server/README.md#getserveridentity) - Get Server Identity
|
||||
* [getMyPlexAccount](docs/sdks/server/README.md#getmyplexaccount) - Get MyPlex Account
|
||||
* [getResizedPhoto](docs/sdks/server/README.md#getresizedphoto) - Get a Resized Photo
|
||||
* [getMediaProviders](docs/sdks/server/README.md#getmediaproviders) - Get Media Providers
|
||||
* [getServerList](docs/sdks/server/README.md#getserverlist) - Get Server List
|
||||
|
||||
### [sessions](docs/sdks/sessions/README.md)
|
||||
|
||||
@@ -174,73 +226,108 @@ run();
|
||||
* [getTranscodeSessions](docs/sdks/sessions/README.md#gettranscodesessions) - Get Transcode Sessions
|
||||
* [stopTranscodeSession](docs/sdks/sessions/README.md#stoptranscodesession) - Stop a Transcode Session
|
||||
|
||||
### [statistics](docs/sdks/statistics/README.md)
|
||||
|
||||
* [getStatistics](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics
|
||||
* [getResourcesStatistics](docs/sdks/statistics/README.md#getresourcesstatistics) - Get Resources Statistics
|
||||
* [getBandwidthStatistics](docs/sdks/statistics/README.md#getbandwidthstatistics) - Get Bandwidth Statistics
|
||||
|
||||
### [updater](docs/sdks/updater/README.md)
|
||||
|
||||
* [getUpdateStatus](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates
|
||||
* [checkForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates
|
||||
* [applyUpdates](docs/sdks/updater/README.md#applyupdates) - Apply Updates
|
||||
|
||||
### [user](docs/sdks/user/README.md)
|
||||
### [video](docs/sdks/video/README.md)
|
||||
|
||||
* [postUsersSigninData](docs/sdks/user/README.md#postuserssignindata) - Get User SignIn Data
|
||||
* [getTimeline](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item
|
||||
* [startUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode) - Start Universal Transcode
|
||||
|
||||
### [watchlist](docs/sdks/watchlist/README.md)
|
||||
|
||||
* [getWatchlist](docs/sdks/watchlist/README.md#getwatchlist) - Get User Watchlist
|
||||
* [getWatchList](docs/sdks/watchlist/README.md#getwatchlist) - Get User Watchlist
|
||||
|
||||
</details>
|
||||
<!-- End Available Resources and Operations [operations] -->
|
||||
|
||||
<!-- Start Error Handling [errors] -->
|
||||
## Error Handling
|
||||
|
||||
All SDK methods return a response object or throw an error. If Error objects are specified in your OpenAPI Spec, the SDK will throw the appropriate Error type.
|
||||
All SDK methods return a response object or throw an error. By default, an API error will throw a `errors.SDKError`.
|
||||
|
||||
| Error Object | Status Code | Content Type |
|
||||
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- |
|
||||
| models.GetServerCapabilitiesServerResponseBody | 401 | application/json |
|
||||
| models.SDKError | 4xx-5xx | */* |
|
||||
If a HTTP request fails, an operation my also throw an error from the `sdk/models/errors/httpclienterrors.ts` module:
|
||||
|
||||
Validation errors can also occur when either method arguments or data returned from the server do not match the expected format. The `SDKValidationError` that is thrown as a result will capture the raw value that failed validation in an attribute called `rawValue`. Additionally, a `pretty()` method is available on this error that can be used to log a nicely formatted string since validation errors can list many issues and the plain error string may be difficult read when debugging.
|
||||
| HTTP Client Error | Description |
|
||||
| ---------------------------------------------------- | ---------------------------------------------------- |
|
||||
| RequestAbortedError | HTTP request was aborted by the client |
|
||||
| RequestTimeoutError | HTTP request timed out due to an AbortSignal signal |
|
||||
| ConnectionError | HTTP client was unable to make a request to a server |
|
||||
| InvalidRequestError | Any input used to create a request is invalid |
|
||||
| UnexpectedClientError | Unrecognised or unexpected error |
|
||||
|
||||
In addition, when custom error responses are specified for an operation, the SDK may throw their associated Error type. You can refer to respective *Errors* tables in SDK docs for more details on possible error types for each operation. For example, the `getServerCapabilities` method may throw the following errors:
|
||||
|
||||
| Error Type | Status Code | Content Type |
|
||||
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
|
||||
| errors.GetServerCapabilitiesBadRequest | 400 | application/json |
|
||||
| errors.GetServerCapabilitiesUnauthorized | 401 | application/json |
|
||||
| errors.SDKError | 4XX, 5XX | \*/\* |
|
||||
|
||||
```typescript
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
import { SDKValidationError } from "@lukehagar/plexjs/models";
|
||||
import {
|
||||
GetServerCapabilitiesBadRequest,
|
||||
GetServerCapabilitiesUnauthorized,
|
||||
SDKValidationError,
|
||||
} from "@lukehagar/plexjs/sdk/models/errors";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
||||
clientName: "Plex for Roku",
|
||||
clientVersion: "2.4.1",
|
||||
platform: "Roku",
|
||||
deviceNickname: "Roku 3",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
let result;
|
||||
try {
|
||||
result = await plexAPI.server.getServerCapabilities();
|
||||
} catch (err) {
|
||||
switch (true) {
|
||||
case err instanceof SDKValidationError: {
|
||||
// Validation errors can be pretty-printed
|
||||
console.error(err.pretty());
|
||||
// Raw value may also be inspected
|
||||
console.error(err.rawValue);
|
||||
return;
|
||||
}
|
||||
case err instanceof models.GetServerCapabilitiesServerResponseBody: {
|
||||
console.error(err); // handle exception
|
||||
return;
|
||||
}
|
||||
default: {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
}
|
||||
let result;
|
||||
try {
|
||||
result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
} catch (err) {
|
||||
switch (true) {
|
||||
case (err instanceof SDKValidationError): {
|
||||
// Validation errors can be pretty-printed
|
||||
console.error(err.pretty());
|
||||
// Raw value may also be inspected
|
||||
console.error(err.rawValue);
|
||||
return;
|
||||
}
|
||||
case (err instanceof GetServerCapabilitiesBadRequest): {
|
||||
// Handle err.data$: GetServerCapabilitiesBadRequestData
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
case (err instanceof GetServerCapabilitiesUnauthorized): {
|
||||
// Handle err.data$: GetServerCapabilitiesUnauthorizedData
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
default: {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
run();
|
||||
|
||||
```
|
||||
|
||||
Validation errors can also occur when either method arguments or data returned from the server do not match the expected format. The `SDKValidationError` that is thrown as a result will capture the raw value that failed validation in an attribute called `rawValue`. Additionally, a `pretty()` method is available on this error that can be used to log a nicely formatted string since validation errors can list many issues and the plain error string may be difficult read when debugging.
|
||||
<!-- End Error Handling [errors] -->
|
||||
|
||||
<!-- Start Server Selection [server] -->
|
||||
@@ -252,22 +339,26 @@ You can override the default server globally by passing a server index to the `s
|
||||
|
||||
| # | Server | Variables |
|
||||
| - | ------ | --------- |
|
||||
| 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `http`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
|
||||
| 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `https`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
|
||||
|
||||
```typescript
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
serverIdx: 0,
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
serverIdx: 0,
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
||||
clientName: "Plex for Roku",
|
||||
clientVersion: "2.4.1",
|
||||
platform: "Roku",
|
||||
deviceNickname: "Roku 3",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
run();
|
||||
@@ -289,16 +380,20 @@ The default server can also be overridden globally by passing a URL to the `serv
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
serverURL: "{protocol}://{ip}:{port}",
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
serverURL: "{protocol}://{ip}:{port}",
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
||||
clientName: "Plex for Roku",
|
||||
clientVersion: "2.4.1",
|
||||
platform: "Roku",
|
||||
deviceNickname: "Roku 3",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
run();
|
||||
@@ -312,17 +407,21 @@ The server URL can also be overridden on a per-operation basis, provided a serve
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
||||
clientName: "Plex for Roku",
|
||||
clientVersion: "2.4.1",
|
||||
platform: "Roku",
|
||||
deviceNickname: "Roku 3",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.plex.getCompanionsData({
|
||||
serverURL: "https://plex.tv/api/v2",
|
||||
});
|
||||
const result = await plexAPI.plex.getCompanionsData({
|
||||
serverURL: "https://plex.tv/api/v2",
|
||||
});
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
run();
|
||||
@@ -395,15 +494,19 @@ To authenticate with the API the `accessToken` parameter must be set when initia
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
||||
clientName: "Plex for Roku",
|
||||
clientVersion: "2.4.1",
|
||||
platform: "Roku",
|
||||
deviceNickname: "Roku 3",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
run();
|
||||
@@ -435,7 +538,9 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
|
||||
- [activitiesCancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities)
|
||||
- [activitiesGetServerActivities](docs/sdks/activities/README.md#getserveractivities)
|
||||
- [authenticationGetSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation)
|
||||
- [authenticationGetTokenDetails](docs/sdks/authentication/README.md#gettokendetails)
|
||||
- [authenticationGetTransientToken](docs/sdks/authentication/README.md#gettransienttoken)
|
||||
- [authenticationPostUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata)
|
||||
- [butlerGetButlerTasks](docs/sdks/butler/README.md#getbutlertasks)
|
||||
- [butlerStartAllTasks](docs/sdks/butler/README.md#startalltasks)
|
||||
- [butlerStartTask](docs/sdks/butler/README.md#starttask)
|
||||
@@ -443,21 +548,25 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
|
||||
- [butlerStopTask](docs/sdks/butler/README.md#stoptask)
|
||||
- [hubsGetGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs)
|
||||
- [hubsGetLibraryHubs](docs/sdks/hubs/README.md#getlibraryhubs)
|
||||
- [hubsGetRecentlyAdded](docs/sdks/hubs/README.md#getrecentlyadded)
|
||||
- [libraryDeleteLibrary](docs/sdks/library/README.md#deletelibrary)
|
||||
- [libraryGetAllLibraries](docs/sdks/library/README.md#getalllibraries)
|
||||
- [libraryGetFileHash](docs/sdks/library/README.md#getfilehash)
|
||||
- [libraryGetLibraries](docs/sdks/library/README.md#getlibraries)
|
||||
- [libraryGetLibraryDetails](docs/sdks/library/README.md#getlibrarydetails)
|
||||
- [libraryGetLibraryItems](docs/sdks/library/README.md#getlibraryitems)
|
||||
- [libraryGetLibrary](docs/sdks/library/README.md#getlibrary)
|
||||
- [libraryGetMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey)
|
||||
- [libraryGetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren)
|
||||
- [libraryGetMetadata](docs/sdks/library/README.md#getmetadata)
|
||||
- [libraryGetOnDeck](docs/sdks/library/README.md#getondeck)
|
||||
- [libraryGetRecentlyAdded](docs/sdks/library/README.md#getrecentlyadded)
|
||||
- [libraryGetRecentlyAddedLibrary](docs/sdks/library/README.md#getrecentlyaddedlibrary)
|
||||
- [libraryGetRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata)
|
||||
- [libraryGetSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries)
|
||||
- [libraryGetSearchLibrary](docs/sdks/library/README.md#getsearchlibrary)
|
||||
- [libraryGetTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent)
|
||||
- [libraryRefreshLibrary](docs/sdks/library/README.md#refreshlibrary)
|
||||
- [librarySearchLibrary](docs/sdks/library/README.md#searchlibrary)
|
||||
- [logEnablePaperTrail](docs/sdks/log/README.md#enablepapertrail)
|
||||
- [logLogLine](docs/sdks/log/README.md#logline)
|
||||
- [logLogMultiLine](docs/sdks/log/README.md#logmultiline)
|
||||
- [mediaGetBannerImage](docs/sdks/media/README.md#getbannerimage)
|
||||
- [mediaGetThumbImage](docs/sdks/media/README.md#getthumbimage)
|
||||
- [mediaMarkPlayed](docs/sdks/media/README.md#markplayed)
|
||||
- [mediaMarkUnplayed](docs/sdks/media/README.md#markunplayed)
|
||||
- [mediaUpdatePlayProgress](docs/sdks/media/README.md#updateplayprogress)
|
||||
@@ -474,15 +583,15 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
|
||||
- [plexGetGeoData](docs/sdks/plex/README.md#getgeodata)
|
||||
- [plexGetHomeData](docs/sdks/plex/README.md#gethomedata)
|
||||
- [plexGetPin](docs/sdks/plex/README.md#getpin)
|
||||
- [plexGetResources](docs/sdks/plex/README.md#getresources)
|
||||
- [plexGetServerResources](docs/sdks/plex/README.md#getserverresources)
|
||||
- [plexGetTokenByPinId](docs/sdks/plex/README.md#gettokenbypinid)
|
||||
- [plexGetUserDetails](docs/sdks/plex/README.md#getuserdetails)
|
||||
- [plexGetUserFriends](docs/sdks/plex/README.md#getuserfriends)
|
||||
- [searchGetSearchResults](docs/sdks/search/README.md#getsearchresults)
|
||||
- [searchPerformSearch](docs/sdks/search/README.md#performsearch)
|
||||
- [searchPerformVoiceSearch](docs/sdks/search/README.md#performvoicesearch)
|
||||
- [serverGetAvailableClients](docs/sdks/server/README.md#getavailableclients)
|
||||
- [serverGetDevices](docs/sdks/server/README.md#getdevices)
|
||||
- [serverGetMediaProviders](docs/sdks/server/README.md#getmediaproviders)
|
||||
- [serverGetMyPlexAccount](docs/sdks/server/README.md#getmyplexaccount)
|
||||
- [serverGetResizedPhoto](docs/sdks/server/README.md#getresizedphoto)
|
||||
- [serverGetServerCapabilities](docs/sdks/server/README.md#getservercapabilities)
|
||||
@@ -499,10 +608,9 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
|
||||
- [updaterApplyUpdates](docs/sdks/updater/README.md#applyupdates)
|
||||
- [updaterCheckForUpdates](docs/sdks/updater/README.md#checkforupdates)
|
||||
- [updaterGetUpdateStatus](docs/sdks/updater/README.md#getupdatestatus)
|
||||
- [userPostUsersSigninData](docs/sdks/user/README.md#postuserssignindata)
|
||||
- [videoGetTimeline](docs/sdks/video/README.md#gettimeline)
|
||||
- [videoStartUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode)
|
||||
- [watchlistGetWatchlist](docs/sdks/watchlist/README.md#getwatchlist)
|
||||
- [watchlistGetWatchList](docs/sdks/watchlist/README.md#getwatchlist)
|
||||
|
||||
|
||||
</details>
|
||||
@@ -518,26 +626,30 @@ To change the default retry strategy for a single API call, simply provide a ret
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
||||
clientName: "Plex for Roku",
|
||||
clientVersion: "2.4.1",
|
||||
platform: "Roku",
|
||||
deviceNickname: "Roku 3",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities({
|
||||
retries: {
|
||||
strategy: "backoff",
|
||||
backoff: {
|
||||
initialInterval: 1,
|
||||
maxInterval: 50,
|
||||
exponent: 1.1,
|
||||
maxElapsedTime: 100,
|
||||
},
|
||||
retryConnectionErrors: false,
|
||||
},
|
||||
});
|
||||
const result = await plexAPI.server.getServerCapabilities({
|
||||
retries: {
|
||||
strategy: "backoff",
|
||||
backoff: {
|
||||
initialInterval: 1,
|
||||
maxInterval: 50,
|
||||
exponent: 1.1,
|
||||
maxElapsedTime: 100,
|
||||
},
|
||||
retryConnectionErrors: false,
|
||||
},
|
||||
});
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
run();
|
||||
@@ -549,25 +661,29 @@ If you'd like to override the default retry strategy for all operations that sup
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
retryConfig: {
|
||||
strategy: "backoff",
|
||||
backoff: {
|
||||
initialInterval: 1,
|
||||
maxInterval: 50,
|
||||
exponent: 1.1,
|
||||
maxElapsedTime: 100,
|
||||
},
|
||||
retryConnectionErrors: false,
|
||||
retryConfig: {
|
||||
strategy: "backoff",
|
||||
backoff: {
|
||||
initialInterval: 1,
|
||||
maxInterval: 50,
|
||||
exponent: 1.1,
|
||||
maxElapsedTime: 100,
|
||||
},
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
retryConnectionErrors: false,
|
||||
},
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
||||
clientName: "Plex for Roku",
|
||||
clientVersion: "2.4.1",
|
||||
platform: "Roku",
|
||||
deviceNickname: "Roku 3",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
run();
|
||||
|
||||
170
RELEASES.md
170
RELEASES.md
@@ -939,3 +939,173 @@ Based on:
|
||||
- [typescript v0.19.0] .
|
||||
### Releases
|
||||
- [NPM v0.19.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.19.0 - .
|
||||
|
||||
## 2024-09-06 00:01:07
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.390.7 (2.409.8) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.20.0] .
|
||||
### Releases
|
||||
- [NPM v0.20.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.20.0 - .
|
||||
|
||||
## 2024-09-08 03:21:12
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.392.1 (2.411.9) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.20.2] .
|
||||
### Releases
|
||||
- [NPM v0.20.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.20.2 - .
|
||||
|
||||
## 2024-09-08 17:37:50
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.392.1 (2.411.9) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.21.0] .
|
||||
### Releases
|
||||
- [NPM v0.21.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.21.0 - .
|
||||
|
||||
## 2024-09-09 00:09:42
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.392.1 (2.411.9) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.21.1] .
|
||||
### Releases
|
||||
- [NPM v0.21.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.21.1 - .
|
||||
|
||||
## 2024-09-10 00:09:01
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.394.0 (2.413.0) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.22.0] .
|
||||
### Releases
|
||||
- [NPM v0.22.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.22.0 - .
|
||||
|
||||
## 2024-09-11 00:09:01
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.395.1 (2.415.0) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.22.1] .
|
||||
### Releases
|
||||
- [NPM v0.22.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.22.1 - .
|
||||
|
||||
## 2024-09-12 00:09:10
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.396.2 (2.415.0) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.22.2] .
|
||||
### Releases
|
||||
- [NPM v0.22.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.22.2 - .
|
||||
|
||||
## 2024-09-13 00:09:09
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.396.6 (2.415.6) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.23.0] .
|
||||
### Releases
|
||||
- [NPM v0.23.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.0 - .
|
||||
|
||||
## 2024-09-14 00:08:56
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.396.9 (2.415.7) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.23.1] .
|
||||
### Releases
|
||||
- [NPM v0.23.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.1 - .
|
||||
|
||||
## 2024-09-15 00:10:25
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.396.9 (2.415.7) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.23.2] .
|
||||
### Releases
|
||||
- [NPM v0.23.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.2 - .
|
||||
|
||||
## 2024-09-16 00:09:42
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.396.9 (2.415.7) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.23.3] .
|
||||
### Releases
|
||||
- [NPM v0.23.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.3 - .
|
||||
|
||||
## 2024-09-16 17:59:12
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.397.2 (2.415.8) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.23.4] .
|
||||
### Releases
|
||||
- [NPM v0.23.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.4 - .
|
||||
|
||||
## 2024-09-17 00:08:25
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.398.0 (2.415.8) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.23.5] .
|
||||
### Releases
|
||||
- [NPM v0.23.5] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.23.5 - .
|
||||
|
||||
## 2024-10-01 00:10:47
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.24.0] .
|
||||
### Releases
|
||||
- [NPM v0.24.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.24.0 - .
|
||||
|
||||
## 2024-10-01 15:35:33
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.24.1] .
|
||||
### Releases
|
||||
- [NPM v0.24.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.24.1 - .
|
||||
|
||||
## 2024-10-02 02:28:25
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.24.2] .
|
||||
### Releases
|
||||
- [NPM v0.24.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.24.2 - .
|
||||
|
||||
## 2024-10-03 00:09:30
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.406.0 (2.429.0) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.25.1] .
|
||||
### Releases
|
||||
- [NPM v0.25.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.25.1 - .
|
||||
14
USAGE.md
14
USAGE.md
@@ -3,15 +3,19 @@
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
clientID: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
||||
clientName: "Plex for Roku",
|
||||
clientVersion: "2.4.1",
|
||||
platform: "Roku",
|
||||
deviceNickname: "Roku 3",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
run();
|
||||
|
||||
2716
codeSamples.yaml
2716
codeSamples.yaml
File diff suppressed because it is too large
Load Diff
@@ -1,22 +0,0 @@
|
||||
# Activity
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { Activity } from "@lukehagar/plexjs";
|
||||
|
||||
let value: Activity = {};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- |
|
||||
| `uuid` | *string* | :heavy_minus_sign: | N/A |
|
||||
| `type` | *string* | :heavy_minus_sign: | N/A |
|
||||
| `cancellable` | *boolean* | :heavy_minus_sign: | N/A |
|
||||
| `userID` | *number* | :heavy_minus_sign: | N/A |
|
||||
| `title` | *string* | :heavy_minus_sign: | N/A |
|
||||
| `subtitle` | *string* | :heavy_minus_sign: | N/A |
|
||||
| `progress` | *number* | :heavy_minus_sign: | N/A |
|
||||
| `context` | [models.Context](../models/context.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,39 +0,0 @@
|
||||
# AddPlaylistContentsMediaContainer
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { AddPlaylistContentsMediaContainer } from "@lukehagar/plexjs";
|
||||
|
||||
let value: AddPlaylistContentsMediaContainer = {
|
||||
size: 1,
|
||||
leafCountAdded: 1,
|
||||
leafCountRequested: 1,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "94",
|
||||
key: "/playlists/94/items",
|
||||
guid: "com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2",
|
||||
type: "playlist",
|
||||
title: "A great playlist",
|
||||
summary: "One of my great playlists",
|
||||
smart: false,
|
||||
playlistType: "video",
|
||||
composite: "/playlists/94/composite/1705800070",
|
||||
duration: 423000,
|
||||
leafCount: 3,
|
||||
addedAt: 1705716458,
|
||||
updatedAt: 1705800070,
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
||||
| `size` | *number* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `leafCountAdded` | *number* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `leafCountRequested` | *number* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `metadata` | [models.AddPlaylistContentsMetadata](../models/addplaylistcontentsmetadata.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,18 +0,0 @@
|
||||
# AddPlaylistContentsPlaylistsResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { AddPlaylistContentsPlaylistsResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| `errors` | [models.AddPlaylistContentsErrors](../models/addplaylistcontentserrors.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 |
|
||||
@@ -1,48 +0,0 @@
|
||||
# AddPlaylistContentsResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { AddPlaylistContentsResponse } from "@lukehagar/plexjs";
|
||||
|
||||
let value: AddPlaylistContentsResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 161309,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
mediaContainer: {
|
||||
size: 1,
|
||||
leafCountAdded: 1,
|
||||
leafCountRequested: 1,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "94",
|
||||
key: "/playlists/94/items",
|
||||
guid: "com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2",
|
||||
type: "playlist",
|
||||
title: "A great playlist",
|
||||
summary: "One of my great playlists",
|
||||
smart: false,
|
||||
playlistType: "video",
|
||||
composite: "/playlists/94/composite/1705800070",
|
||||
duration: 423000,
|
||||
leafCount: 3,
|
||||
addedAt: 1705716458,
|
||||
updatedAt: 1705800070,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.AddPlaylistContentsResponseBody](../models/addplaylistcontentsresponsebody.md) | :heavy_minus_sign: | Playlist Updated |
|
||||
@@ -1,40 +0,0 @@
|
||||
# AddPlaylistContentsResponseBody
|
||||
|
||||
Playlist Updated
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { AddPlaylistContentsResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
let value: AddPlaylistContentsResponseBody = {
|
||||
mediaContainer: {
|
||||
size: 1,
|
||||
leafCountAdded: 1,
|
||||
leafCountRequested: 1,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "94",
|
||||
key: "/playlists/94/items",
|
||||
guid: "com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2",
|
||||
type: "playlist",
|
||||
title: "A great playlist",
|
||||
summary: "One of my great playlists",
|
||||
smart: false,
|
||||
playlistType: "video",
|
||||
composite: "/playlists/94/composite/1705800070",
|
||||
duration: 423000,
|
||||
leafCount: 3,
|
||||
addedAt: 1705716458,
|
||||
updatedAt: 1705800070,
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
|
||||
| `mediaContainer` | [models.AddPlaylistContentsMediaContainer](../models/addplaylistcontentsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,18 +0,0 @@
|
||||
# ApplyUpdatesResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { ApplyUpdatesResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.ApplyUpdatesErrors](../models/applyupdateserrors.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 |
|
||||
@@ -1,19 +0,0 @@
|
||||
# Billing
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { Billing } from "@lukehagar/plexjs";
|
||||
|
||||
let value: Billing = {
|
||||
internalPaymentMethod: {},
|
||||
paymentMethodId: 368725,
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
|
||||
| `internalPaymentMethod` | [models.InternalPaymentMethod](../models/internalpaymentmethod.md) | :heavy_check_mark: | N/A |
|
||||
| `paymentMethodId` | *number* | :heavy_check_mark: | N/A |
|
||||
@@ -1,25 +0,0 @@
|
||||
# ButlerTasks
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { ButlerTasks } from "@lukehagar/plexjs";
|
||||
|
||||
let value: ButlerTasks = {
|
||||
butlerTask: [
|
||||
{
|
||||
name: "BackupDatabase",
|
||||
interval: 3,
|
||||
title: "Backup Database",
|
||||
description:
|
||||
"Create a backup copy of the server's database in the configured backup directory",
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- |
|
||||
| `butlerTask` | [models.ButlerTask](../models/butlertask.md)[] | :heavy_minus_sign: | N/A |
|
||||
@@ -1,18 +0,0 @@
|
||||
# CancelServerActivitiesResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { CancelServerActivitiesResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||
| `errors` | [models.CancelServerActivitiesErrors](../models/cancelserveractivitieserrors.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 |
|
||||
@@ -1,17 +0,0 @@
|
||||
# CheckForUpdatesRequest
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { CheckForUpdatesRequest, Download } from "@lukehagar/plexjs";
|
||||
|
||||
let value: CheckForUpdatesRequest = {
|
||||
download: Download.One,
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
|
||||
| `download` | [models.Download](../models/download.md) | :heavy_minus_sign: | Indicate that you want to start download any updates found. | 1 |
|
||||
@@ -1,18 +0,0 @@
|
||||
# CheckForUpdatesResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { CheckForUpdatesResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.CheckForUpdatesErrors](../models/checkforupdateserrors.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 |
|
||||
@@ -1,18 +0,0 @@
|
||||
# ClearPlaylistContentsResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { ClearPlaylistContentsResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
||||
| `errors` | [models.ClearPlaylistContentsErrors](../models/clearplaylistcontentserrors.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 |
|
||||
@@ -1,21 +0,0 @@
|
||||
# Connections
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { Connections } from "@lukehagar/plexjs";
|
||||
|
||||
let value: Connections = {};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `protocol` | *string* | :heavy_minus_sign: | N/A |
|
||||
| `address` | *string* | :heavy_minus_sign: | N/A |
|
||||
| `port` | *number* | :heavy_minus_sign: | N/A |
|
||||
| `uri` | *string* | :heavy_minus_sign: | N/A |
|
||||
| `local` | *boolean* | :heavy_minus_sign: | N/A |
|
||||
| `relay` | *boolean* | :heavy_minus_sign: | N/A |
|
||||
| `iPv6` | *boolean* | :heavy_minus_sign: | N/A |
|
||||
@@ -1,38 +0,0 @@
|
||||
# CreatePlaylistMediaContainer
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { CreatePlaylistMediaContainer } from "@lukehagar/plexjs";
|
||||
|
||||
let value: CreatePlaylistMediaContainer = {
|
||||
size: 7,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "96",
|
||||
key: "/playlists/96/items",
|
||||
guid: "com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55",
|
||||
type: "playlist",
|
||||
title: "A Great Playlist",
|
||||
summary: "What a great playlist",
|
||||
smart: false,
|
||||
playlistType: "video",
|
||||
icon: "playlist://image.smart",
|
||||
viewCount: 1,
|
||||
lastViewedAt: 1705719589,
|
||||
leafCount: 1,
|
||||
addedAt: 1705719589,
|
||||
updatedAt: 1705724593,
|
||||
composite: "/playlists/96/composite/1705724593",
|
||||
duration: 141000,
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
|
||||
| `size` | *number* | :heavy_minus_sign: | N/A | 7 |
|
||||
| `metadata` | [models.CreatePlaylistMetadata](../models/createplaylistmetadata.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,18 +0,0 @@
|
||||
# CreatePlaylistPlaylistsResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { CreatePlaylistPlaylistsResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.CreatePlaylistErrors](../models/createplaylisterrors.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 |
|
||||
@@ -1,24 +0,0 @@
|
||||
# CreatePlaylistRequest
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { CreatePlaylistRequest, QueryParamType, Smart } from "@lukehagar/plexjs";
|
||||
|
||||
let value: CreatePlaylistRequest = {
|
||||
title: "<value>",
|
||||
type: QueryParamType.Photo,
|
||||
smart: Smart.One,
|
||||
uri: "https://deadly-corsage.info",
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
|
||||
| `title` | *string* | :heavy_check_mark: | name of the playlist |
|
||||
| `type` | [models.QueryParamType](../models/queryparamtype.md) | :heavy_check_mark: | type of playlist to create |
|
||||
| `smart` | [models.Smart](../models/smart.md) | :heavy_check_mark: | whether the playlist is smart or not |
|
||||
| `uri` | *string* | :heavy_check_mark: | the content URI for the playlist |
|
||||
| `playQueueID` | *number* | :heavy_minus_sign: | the play queue to copy to a playlist |
|
||||
@@ -1,49 +0,0 @@
|
||||
# CreatePlaylistResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { CreatePlaylistResponse } from "@lukehagar/plexjs";
|
||||
|
||||
let value: CreatePlaylistResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 128926,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
mediaContainer: {
|
||||
size: 7,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "96",
|
||||
key: "/playlists/96/items",
|
||||
guid: "com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55",
|
||||
type: "playlist",
|
||||
title: "A Great Playlist",
|
||||
summary: "What a great playlist",
|
||||
smart: false,
|
||||
playlistType: "video",
|
||||
icon: "playlist://image.smart",
|
||||
viewCount: 1,
|
||||
lastViewedAt: 1705719589,
|
||||
leafCount: 1,
|
||||
addedAt: 1705719589,
|
||||
updatedAt: 1705724593,
|
||||
composite: "/playlists/96/composite/1705724593",
|
||||
duration: 141000,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.CreatePlaylistResponseBody](../models/createplaylistresponsebody.md) | :heavy_minus_sign: | returns all playlists |
|
||||
@@ -1,41 +0,0 @@
|
||||
# CreatePlaylistResponseBody
|
||||
|
||||
returns all playlists
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { CreatePlaylistResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
let value: CreatePlaylistResponseBody = {
|
||||
mediaContainer: {
|
||||
size: 7,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "96",
|
||||
key: "/playlists/96/items",
|
||||
guid: "com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55",
|
||||
type: "playlist",
|
||||
title: "A Great Playlist",
|
||||
summary: "What a great playlist",
|
||||
smart: false,
|
||||
playlistType: "video",
|
||||
icon: "playlist://image.smart",
|
||||
viewCount: 1,
|
||||
lastViewedAt: 1705719589,
|
||||
leafCount: 1,
|
||||
addedAt: 1705719589,
|
||||
updatedAt: 1705724593,
|
||||
composite: "/playlists/96/composite/1705724593",
|
||||
duration: 141000,
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
||||
| `mediaContainer` | [models.CreatePlaylistMediaContainer](../models/createplaylistmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,21 +0,0 @@
|
||||
# DeleteLibraryErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { DeleteLibraryErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: DeleteLibraryErrors = {
|
||||
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 |
|
||||
@@ -1,17 +0,0 @@
|
||||
# DeleteLibraryRequest
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { DeleteLibraryRequest } from "@lukehagar/plexjs";
|
||||
|
||||
let value: DeleteLibraryRequest = {
|
||||
sectionId: 1000,
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ |
|
||||
| `sectionId` | *number* | :heavy_check_mark: | the Id of the library to query | 1000 |
|
||||
@@ -1,21 +0,0 @@
|
||||
# DeletePlaylistErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { DeletePlaylistErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: DeletePlaylistErrors = {
|
||||
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 |
|
||||
@@ -1,18 +0,0 @@
|
||||
# DeletePlaylistResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { DeletePlaylistResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.DeletePlaylistErrors](../models/deleteplaylisterrors.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 |
|
||||
@@ -1,21 +0,0 @@
|
||||
# EnablePaperTrailErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { EnablePaperTrailErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: EnablePaperTrailErrors = {
|
||||
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 |
|
||||
@@ -1,18 +0,0 @@
|
||||
# EnablePaperTrailResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { EnablePaperTrailResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
|
||||
| `errors` | [models.EnablePaperTrailErrors](../models/enablepapertrailerrors.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 |
|
||||
@@ -1,21 +0,0 @@
|
||||
# Errors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { Errors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: Errors = {
|
||||
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 |
|
||||
@@ -1,73 +0,0 @@
|
||||
# Features
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { Features } from "@lukehagar/plexjs";
|
||||
|
||||
let value: Features = Features.SharedServerNotification;
|
||||
```
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| --------------------------------------- | --------------------------------------- |
|
||||
| `AndroidDolbyVision` | Android - Dolby Vision |
|
||||
| `AndroidPiP` | Android - PiP |
|
||||
| `CUSunset` | CU Sunset |
|
||||
| `HRKEnableEUR` | HRK_enable_EUR |
|
||||
| `TREBLEShowFeatures` | TREBLE-show-features |
|
||||
| `AdCountdownTimer` | ad-countdown-timer |
|
||||
| `AdaptiveBitrate` | adaptive_bitrate |
|
||||
| `AmazonLoopDebug` | amazon-loop-debug |
|
||||
| `AvodAdAnalysis` | avod-ad-analysis |
|
||||
| `AvodNewMedia` | avod-new-media |
|
||||
| `BlacklistGetSignin` | blacklist_get_signin |
|
||||
| `ClientRadioStations` | client-radio-stations |
|
||||
| `CloudflareTurnstileRequired` | cloudflare-turnstile-required |
|
||||
| `Collections` | collections |
|
||||
| `CommentsAndRepliesPushNotifications` | comments_and_replies_push_notifications |
|
||||
| `CommunityAccessPlexTv` | community_access_plex_tv |
|
||||
| `CompanionsSonos` | companions_sonos |
|
||||
| `CustomHomeRemoval` | custom-home-removal |
|
||||
| `DisableHomeUserFriendships` | disable_home_user_friendships |
|
||||
| `DisableSharingFriendships` | disable_sharing_friendships |
|
||||
| `DrmSupport` | drm_support |
|
||||
| `ExcludeRestrictions` | exclude restrictions |
|
||||
| `FederatedAuth` | federated-auth |
|
||||
| `FriendRequestPushNotifications` | friend_request_push_notifications |
|
||||
| `GuidedUpgrade` | guided-upgrade |
|
||||
| `Home` | home |
|
||||
| `IncreasePasswordComplexity` | increase-password-complexity |
|
||||
| `Ios14PrivacyBanner` | ios14-privacy-banner |
|
||||
| `IterableNotificationTokens` | iterable-notification-tokens |
|
||||
| `KeepPaymentMethod` | keep-payment-method |
|
||||
| `KevinBacon` | kevin-bacon |
|
||||
| `KoreaConsent` | korea-consent |
|
||||
| `LeIsrgRootX1` | le_isrg_root_x1 |
|
||||
| `LetsEncrypt` | lets_encrypt |
|
||||
| `LightningDvrPivot` | lightning-dvr-pivot |
|
||||
| `LiveTvSupportIncompleteSegments` | live-tv-support-incomplete-segments |
|
||||
| `Livetv` | livetv |
|
||||
| `MetadataSearch` | metadata_search |
|
||||
| `NewPlexPassPrices` | new_plex_pass_prices |
|
||||
| `NewsProviderSunsetModal` | news-provider-sunset-modal |
|
||||
| `PhotosFavorites` | photos-favorites |
|
||||
| `PhotosMetadataEdition` | photos-metadata-edition |
|
||||
| `PmsHealth` | pms_health |
|
||||
| `Radio` | radio |
|
||||
| `RateLimitClientToken` | rate-limit-client-token |
|
||||
| `ScrobblingServicePlexTv` | scrobbling-service-plex-tv |
|
||||
| `SharedServerNotification` | shared_server_notification |
|
||||
| `SharedSourceNotification` | shared_source_notification |
|
||||
| `SigninWithApple` | signin_with_apple |
|
||||
| `SpringServeAdProvider` | spring_serve_ad_provider |
|
||||
| `TranscoderCache` | transcoder_cache |
|
||||
| `TunerSharing` | tuner-sharing |
|
||||
| `TwoFactorAuthentication` | two-factor-authentication |
|
||||
| `Unsupportedtuners` | unsupportedtuners |
|
||||
| `Upgrade3ds2` | upgrade-3ds2 |
|
||||
| `VodSchema` | vod-schema |
|
||||
| `VodCloudflare` | vod_cloudflare |
|
||||
| `WatchTogetherInvite` | watch-together-invite |
|
||||
| `WebServerDashboard` | web_server_dashboard |
|
||||
@@ -1,24 +0,0 @@
|
||||
# FieldType
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { FieldType } from "@lukehagar/plexjs";
|
||||
|
||||
let value: FieldType = {
|
||||
type: "resolution",
|
||||
operator: [
|
||||
{
|
||||
key: "=",
|
||||
title: "is",
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
|
||||
| `type` | *string* | :heavy_minus_sign: | N/A | resolution |
|
||||
| `operator` | [models.Operator](../models/operator.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,39 +0,0 @@
|
||||
# Friend
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { Friend, Status } from "@lukehagar/plexjs";
|
||||
|
||||
let value: Friend = {
|
||||
email: "username@email.com",
|
||||
friendlyName: "exampleUser",
|
||||
home: true,
|
||||
id: 0,
|
||||
restricted: false,
|
||||
sharedServers: [{}],
|
||||
sharedSources: [{}],
|
||||
status: Status.Accepted,
|
||||
thumb: "https://plex.tv/users/7d1916e0d8f6e76b/avatar?c=1694481578",
|
||||
title: "username123",
|
||||
username: "username123",
|
||||
uuid: "7d1916e0d8f6e76b",
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
|
||||
| `email` | *string* | :heavy_check_mark: | The account email address | username@email.com |
|
||||
| `friendlyName` | *string* | :heavy_check_mark: | The account full name | exampleUser |
|
||||
| `home` | *boolean* | :heavy_check_mark: | If the account is a Plex Home user | |
|
||||
| `id` | *number* | :heavy_check_mark: | The Plex account ID | |
|
||||
| `restricted` | *boolean* | :heavy_minus_sign: | If the account is a Plex Home managed user | |
|
||||
| `sharedServers` | [models.SharedServers](../models/sharedservers.md)[] | :heavy_check_mark: | N/A | |
|
||||
| `sharedSources` | [models.SharedSources](../models/sharedsources.md)[] | :heavy_check_mark: | N/A | |
|
||||
| `status` | [models.Status](../models/status.md) | :heavy_check_mark: | Current friend request status | accepted |
|
||||
| `thumb` | *string* | :heavy_check_mark: | URL of the account thumbnail | https://plex.tv/users/7d1916e0d8f6e76b/avatar?c=1694481578 |
|
||||
| `title` | *string* | :heavy_check_mark: | The title of the account (username or friendly name) | username123 |
|
||||
| `username` | *string* | :heavy_check_mark: | The account username | username123 |
|
||||
| `uuid` | *string* | :heavy_check_mark: | The account Universally Unique Identifier (UUID) | 7d1916e0d8f6e76b |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetAvailableClientsErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetAvailableClientsErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetAvailableClientsErrors = {
|
||||
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 |
|
||||
@@ -1,33 +0,0 @@
|
||||
# GetAvailableClientsMediaContainer
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetAvailableClientsMediaContainer } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetAvailableClientsMediaContainer = {
|
||||
size: 1,
|
||||
server: [
|
||||
{
|
||||
name: "iPad",
|
||||
host: "10.10.10.102",
|
||||
address: "10.10.10.102",
|
||||
port: 32500,
|
||||
machineIdentifier: "A2E901F8-E016-43A7-ADFB-EF8CA8A4AC05",
|
||||
version: "8.17",
|
||||
protocol: "plex",
|
||||
product: "Plex for iOS",
|
||||
deviceClass: "tablet",
|
||||
protocolVersion: 2,
|
||||
protocolCapabilities: "playback,playqueues,timeline,provider-playback",
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| `size` | *number* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `server` | [models.GetAvailableClientsServer](../models/getavailableclientsserver.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,44 +0,0 @@
|
||||
# GetAvailableClientsResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetAvailableClientsResponse } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetAvailableClientsResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 715190,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
mediaContainer: {
|
||||
size: 1,
|
||||
server: [
|
||||
{
|
||||
name: "iPad",
|
||||
host: "10.10.10.102",
|
||||
address: "10.10.10.102",
|
||||
port: 32500,
|
||||
machineIdentifier: "A2E901F8-E016-43A7-ADFB-EF8CA8A4AC05",
|
||||
version: "8.17",
|
||||
protocol: "plex",
|
||||
product: "Plex for iOS",
|
||||
deviceClass: "tablet",
|
||||
protocolVersion: 2,
|
||||
protocolCapabilities: "playback,playqueues,timeline,provider-playback",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.GetAvailableClientsResponseBody](../models/getavailableclientsresponsebody.md) | :heavy_minus_sign: | Available Clients |
|
||||
@@ -1,36 +0,0 @@
|
||||
# GetAvailableClientsResponseBody
|
||||
|
||||
Available Clients
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetAvailableClientsResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetAvailableClientsResponseBody = {
|
||||
mediaContainer: {
|
||||
size: 1,
|
||||
server: [
|
||||
{
|
||||
name: "iPad",
|
||||
host: "10.10.10.102",
|
||||
address: "10.10.10.102",
|
||||
port: 32500,
|
||||
machineIdentifier: "A2E901F8-E016-43A7-ADFB-EF8CA8A4AC05",
|
||||
version: "8.17",
|
||||
protocol: "plex",
|
||||
product: "Plex for iOS",
|
||||
deviceClass: "tablet",
|
||||
protocolVersion: 2,
|
||||
protocolCapabilities: "playback,playqueues,timeline,provider-playback",
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
|
||||
| `mediaContainer` | [models.GetAvailableClientsMediaContainer](../models/getavailableclientsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetAvailableClientsServerResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetAvailableClientsServerResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| `errors` | [models.GetAvailableClientsErrors](../models/getavailableclientserrors.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 |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetBandwidthStatisticsErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetBandwidthStatisticsErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetBandwidthStatisticsErrors = {
|
||||
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 |
|
||||
@@ -1,50 +0,0 @@
|
||||
# GetBandwidthStatisticsMediaContainer
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetBandwidthStatisticsMediaContainer } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetBandwidthStatisticsMediaContainer = {
|
||||
size: 5497,
|
||||
device: [
|
||||
{
|
||||
id: 208,
|
||||
name: "Roku Express",
|
||||
platform: "Roku",
|
||||
clientIdentifier: "793095d235660625108ef785cc7646e9",
|
||||
createdAt: 1706470556,
|
||||
},
|
||||
],
|
||||
account: [
|
||||
{
|
||||
id: 238960586,
|
||||
key: "/accounts/238960586",
|
||||
name: "Diane",
|
||||
defaultAudioLanguage: "en",
|
||||
autoSelectAudio: true,
|
||||
defaultSubtitleLanguage: "en",
|
||||
subtitleMode: 1,
|
||||
thumb: "https://plex.tv/users/50d83634246da1de/avatar?c=1707110967",
|
||||
},
|
||||
],
|
||||
statisticsBandwidth: [
|
||||
{
|
||||
accountID: 238960586,
|
||||
timespan: 6,
|
||||
at: 1718387650,
|
||||
lan: true,
|
||||
bytes: 22,
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
|
||||
| `size` | *number* | :heavy_minus_sign: | N/A | 5497 |
|
||||
| `device` | [models.GetBandwidthStatisticsDevice](../models/getbandwidthstatisticsdevice.md)[] | :heavy_minus_sign: | N/A | |
|
||||
| `account` | [models.GetBandwidthStatisticsAccount](../models/getbandwidthstatisticsaccount.md)[] | :heavy_minus_sign: | N/A | |
|
||||
| `statisticsBandwidth` | [models.StatisticsBandwidth](../models/statisticsbandwidth.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,59 +0,0 @@
|
||||
# GetBandwidthStatisticsResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetBandwidthStatisticsResponse } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetBandwidthStatisticsResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 623510,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
mediaContainer: {
|
||||
size: 5497,
|
||||
device: [
|
||||
{
|
||||
id: 208,
|
||||
name: "Roku Express",
|
||||
platform: "Roku",
|
||||
clientIdentifier: "793095d235660625108ef785cc7646e9",
|
||||
createdAt: 1706470556,
|
||||
},
|
||||
],
|
||||
account: [
|
||||
{
|
||||
id: 238960586,
|
||||
key: "/accounts/238960586",
|
||||
name: "Diane",
|
||||
defaultAudioLanguage: "en",
|
||||
autoSelectAudio: true,
|
||||
defaultSubtitleLanguage: "en",
|
||||
subtitleMode: 1,
|
||||
thumb: "https://plex.tv/users/50d83634246da1de/avatar?c=1707110967",
|
||||
},
|
||||
],
|
||||
statisticsBandwidth: [
|
||||
{
|
||||
accountID: 238960586,
|
||||
timespan: 6,
|
||||
at: 1718387650,
|
||||
lan: true,
|
||||
bytes: 22,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.GetBandwidthStatisticsResponseBody](../models/getbandwidthstatisticsresponsebody.md) | :heavy_minus_sign: | Bandwidth Statistics |
|
||||
@@ -1,51 +0,0 @@
|
||||
# GetBandwidthStatisticsResponseBody
|
||||
|
||||
Bandwidth Statistics
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetBandwidthStatisticsResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetBandwidthStatisticsResponseBody = {
|
||||
mediaContainer: {
|
||||
size: 5497,
|
||||
device: [
|
||||
{
|
||||
id: 208,
|
||||
name: "Roku Express",
|
||||
platform: "Roku",
|
||||
clientIdentifier: "793095d235660625108ef785cc7646e9",
|
||||
createdAt: 1706470556,
|
||||
},
|
||||
],
|
||||
account: [
|
||||
{
|
||||
id: 238960586,
|
||||
key: "/accounts/238960586",
|
||||
name: "Diane",
|
||||
defaultAudioLanguage: "en",
|
||||
autoSelectAudio: true,
|
||||
defaultSubtitleLanguage: "en",
|
||||
subtitleMode: 1,
|
||||
thumb: "https://plex.tv/users/50d83634246da1de/avatar?c=1707110967",
|
||||
},
|
||||
],
|
||||
statisticsBandwidth: [
|
||||
{
|
||||
accountID: 238960586,
|
||||
timespan: 6,
|
||||
at: 1718387650,
|
||||
lan: true,
|
||||
bytes: 22,
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
|
||||
| `mediaContainer` | [models.GetBandwidthStatisticsMediaContainer](../models/getbandwidthstatisticsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetBandwidthStatisticsStatisticsResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetBandwidthStatisticsStatisticsResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||
| `errors` | [models.GetBandwidthStatisticsErrors](../models/getbandwidthstatisticserrors.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 |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetButlerTasksButlerResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetButlerTasksButlerResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.GetButlerTasksErrors](../models/getbutlertaskserrors.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 |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetButlerTasksErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetButlerTasksErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetButlerTasksErrors = {
|
||||
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 |
|
||||
@@ -1,37 +0,0 @@
|
||||
# GetButlerTasksResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetButlerTasksResponse } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetButlerTasksResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 791725,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
butlerTasks: {
|
||||
butlerTask: [
|
||||
{
|
||||
name: "BackupDatabase",
|
||||
interval: 3,
|
||||
title: "Backup Database",
|
||||
description:
|
||||
"Create a backup copy of the server's database in the configured backup directory",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.GetButlerTasksResponseBody](../models/getbutlertasksresponsebody.md) | :heavy_minus_sign: | All butler tasks |
|
||||
@@ -1,29 +0,0 @@
|
||||
# GetButlerTasksResponseBody
|
||||
|
||||
All butler tasks
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetButlerTasksResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetButlerTasksResponseBody = {
|
||||
butlerTasks: {
|
||||
butlerTask: [
|
||||
{
|
||||
name: "BackupDatabase",
|
||||
interval: 3,
|
||||
title: "Backup Database",
|
||||
description:
|
||||
"Create a backup copy of the server's database in the configured backup directory",
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- |
|
||||
| `butlerTasks` | [models.ButlerTasks](../models/butlertasks.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetCompanionsDataErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetCompanionsDataErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetCompanionsDataErrors = {
|
||||
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 |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetCompanionsDataResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetCompanionsDataResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
|
||||
| `errors` | [models.GetCompanionsDataErrors](../models/getcompanionsdataerrors.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 |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetDevicesErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetDevicesErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetDevicesErrors = {
|
||||
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 |
|
||||
@@ -1,28 +0,0 @@
|
||||
# GetDevicesMediaContainer
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetDevicesMediaContainer } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetDevicesMediaContainer = {
|
||||
size: 151,
|
||||
identifier: "com.plexapp.system.devices",
|
||||
device: [
|
||||
{
|
||||
id: 1,
|
||||
name: "iPhone",
|
||||
platform: "iOS",
|
||||
createdAt: 1654131230,
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- |
|
||||
| `size` | *number* | :heavy_minus_sign: | N/A | 151 |
|
||||
| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.system.devices |
|
||||
| `device` | [models.Device](../models/device.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,38 +0,0 @@
|
||||
# GetDevicesResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetDevicesResponse } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetDevicesResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 844266,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
mediaContainer: {
|
||||
size: 151,
|
||||
identifier: "com.plexapp.system.devices",
|
||||
device: [
|
||||
{
|
||||
id: 1,
|
||||
name: "iPhone",
|
||||
platform: "iOS",
|
||||
createdAt: 1654131230,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.GetDevicesResponseBody](../models/getdevicesresponsebody.md) | :heavy_minus_sign: | Devices |
|
||||
@@ -1,30 +0,0 @@
|
||||
# GetDevicesResponseBody
|
||||
|
||||
Devices
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetDevicesResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetDevicesResponseBody = {
|
||||
mediaContainer: {
|
||||
size: 151,
|
||||
identifier: "com.plexapp.system.devices",
|
||||
device: [
|
||||
{
|
||||
id: 1,
|
||||
name: "iPhone",
|
||||
platform: "iOS",
|
||||
createdAt: 1654131230,
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
|
||||
| `mediaContainer` | [models.GetDevicesMediaContainer](../models/getdevicesmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetDevicesServerResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetDevicesServerResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.GetDevicesErrors](../models/getdeviceserrors.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 |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetFileHashErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetFileHashErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetFileHashErrors = {
|
||||
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 |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetFileHashResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetFileHashResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.GetFileHashErrors](../models/getfilehasherrors.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 |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetGeoDataErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetGeoDataErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetGeoDataErrors = {
|
||||
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 |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetGlobalHubsErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetGlobalHubsErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetGlobalHubsErrors = {
|
||||
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 |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetGlobalHubsHubsResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetGlobalHubsHubsResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.GetGlobalHubsErrors](../models/getglobalhubserrors.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 |
|
||||
@@ -1,57 +0,0 @@
|
||||
# GetGlobalHubsMediaContainer
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetGlobalHubsMediaContainer } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetGlobalHubsMediaContainer = {
|
||||
size: 8,
|
||||
allowSync: true,
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
hub: [
|
||||
{
|
||||
hubKey: "/library/metadata/50768,65523,58188,57341,57302,57070",
|
||||
key: "/playlists/all?type=15&sort=lastViewedAt:desc&playlistType=video,audio",
|
||||
title: "Recent Playlists",
|
||||
type: "playlist",
|
||||
hubIdentifier: "home.playlists",
|
||||
context: "hub.home.playlists",
|
||||
size: 6,
|
||||
more: true,
|
||||
style: "shelf",
|
||||
promoted: true,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "57070",
|
||||
key: "/playlists/57070/items",
|
||||
guid: "com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c",
|
||||
type: "playlist",
|
||||
title: "November Movie Day",
|
||||
titleSort: "Tracks",
|
||||
summary: "",
|
||||
smart: false,
|
||||
playlistType: "video",
|
||||
composite: "/playlists/57070/composite/1668787730",
|
||||
icon: "playlist://image.smart",
|
||||
viewCount: 2,
|
||||
lastViewedAt: 1668787732,
|
||||
duration: 16873000,
|
||||
leafCount: 3,
|
||||
addedAt: 1668779618,
|
||||
updatedAt: 1668787730,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- |
|
||||
| `size` | *number* | :heavy_minus_sign: | N/A | 8 |
|
||||
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | true |
|
||||
| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
|
||||
| `hub` | [models.Hub](../models/hub.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,66 +0,0 @@
|
||||
# GetGlobalHubsResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetGlobalHubsResponse } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetGlobalHubsResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 639921,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
mediaContainer: {
|
||||
size: 8,
|
||||
allowSync: true,
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
hub: [
|
||||
{
|
||||
hubKey: "/library/metadata/50768,65523,58188,57341,57302,57070",
|
||||
key: "/playlists/all?type=15&sort=lastViewedAt:desc&playlistType=video,audio",
|
||||
title: "Recent Playlists",
|
||||
type: "playlist",
|
||||
hubIdentifier: "home.playlists",
|
||||
context: "hub.home.playlists",
|
||||
size: 6,
|
||||
more: true,
|
||||
style: "shelf",
|
||||
promoted: true,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "57070",
|
||||
key: "/playlists/57070/items",
|
||||
guid: "com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c",
|
||||
type: "playlist",
|
||||
title: "November Movie Day",
|
||||
titleSort: "Tracks",
|
||||
summary: "",
|
||||
smart: false,
|
||||
playlistType: "video",
|
||||
composite: "/playlists/57070/composite/1668787730",
|
||||
icon: "playlist://image.smart",
|
||||
viewCount: 2,
|
||||
lastViewedAt: 1668787732,
|
||||
duration: 16873000,
|
||||
leafCount: 3,
|
||||
addedAt: 1668779618,
|
||||
updatedAt: 1668787730,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.GetGlobalHubsResponseBody](../models/getglobalhubsresponsebody.md) | :heavy_minus_sign: | returns global hubs |
|
||||
@@ -1,58 +0,0 @@
|
||||
# GetGlobalHubsResponseBody
|
||||
|
||||
returns global hubs
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetGlobalHubsResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetGlobalHubsResponseBody = {
|
||||
mediaContainer: {
|
||||
size: 8,
|
||||
allowSync: true,
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
hub: [
|
||||
{
|
||||
hubKey: "/library/metadata/50768,65523,58188,57341,57302,57070",
|
||||
key: "/playlists/all?type=15&sort=lastViewedAt:desc&playlistType=video,audio",
|
||||
title: "Recent Playlists",
|
||||
type: "playlist",
|
||||
hubIdentifier: "home.playlists",
|
||||
context: "hub.home.playlists",
|
||||
size: 6,
|
||||
more: true,
|
||||
style: "shelf",
|
||||
promoted: true,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "57070",
|
||||
key: "/playlists/57070/items",
|
||||
guid: "com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c",
|
||||
type: "playlist",
|
||||
title: "November Movie Day",
|
||||
titleSort: "Tracks",
|
||||
summary: "",
|
||||
smart: false,
|
||||
playlistType: "video",
|
||||
composite: "/playlists/57070/composite/1668787730",
|
||||
icon: "playlist://image.smart",
|
||||
viewCount: 2,
|
||||
lastViewedAt: 1668787732,
|
||||
duration: 16873000,
|
||||
leafCount: 3,
|
||||
addedAt: 1668779618,
|
||||
updatedAt: 1668787730,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
|
||||
| `mediaContainer` | [models.GetGlobalHubsMediaContainer](../models/getglobalhubsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetHomeDataErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetHomeDataErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetHomeDataErrors = {
|
||||
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 |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetHomeDataPlexResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetHomeDataPlexResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.GetHomeDataErrors](../models/gethomedataerrors.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 |
|
||||
@@ -1,30 +0,0 @@
|
||||
# GetHomeDataResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetHomeDataResponse } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetHomeDataResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 20218,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
id: 1841489,
|
||||
name: "Blindkitty38's home",
|
||||
guestUserID: 58815432,
|
||||
guestUserUUID: "f3df4e01bfca0787",
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.GetHomeDataResponseBody](../models/gethomedataresponsebody.md) | :heavy_minus_sign: | Home Data |
|
||||
@@ -1,62 +0,0 @@
|
||||
# GetLibrariesDirectory
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibrariesDirectory } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibrariesDirectory = {
|
||||
allowSync: true,
|
||||
art: "/:/resources/movie-fanart.jpg",
|
||||
composite: "/library/sections/1/composite/1705615584",
|
||||
filters: true,
|
||||
refreshing: false,
|
||||
thumb: "/:/resources/movie.png",
|
||||
key: "1",
|
||||
type: "movie",
|
||||
title: "Movies",
|
||||
agent: "tv.plex.agents.movie",
|
||||
scanner: "Plex Movie",
|
||||
language: "en-US",
|
||||
uuid: "322a231a-b7f7-49f5-920f-14c61199cd30",
|
||||
updatedAt: 1705615634,
|
||||
createdAt: 1654131312,
|
||||
scannedAt: 1705615584,
|
||||
content: true,
|
||||
directory: true,
|
||||
contentChangedAt: 3192854,
|
||||
hidden: 0,
|
||||
location: [
|
||||
{
|
||||
id: 1,
|
||||
path: "/movies",
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
|
||||
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | true |
|
||||
| `art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
|
||||
| `composite` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/composite/1705615584 |
|
||||
| `filters` | *boolean* | :heavy_minus_sign: | N/A | true |
|
||||
| `refreshing` | *boolean* | :heavy_minus_sign: | N/A | false |
|
||||
| `thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
|
||||
| `key` | *string* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `type` | *string* | :heavy_minus_sign: | N/A | movie |
|
||||
| `title` | *string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `agent` | *string* | :heavy_minus_sign: | N/A | tv.plex.agents.movie |
|
||||
| `scanner` | *string* | :heavy_minus_sign: | N/A | Plex Movie |
|
||||
| `language` | *string* | :heavy_minus_sign: | N/A | en-US |
|
||||
| `uuid` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
|
||||
| `updatedAt` | *number* | :heavy_minus_sign: | N/A | 1705615634 |
|
||||
| `createdAt` | *number* | :heavy_minus_sign: | N/A | 1654131312 |
|
||||
| `scannedAt` | *number* | :heavy_minus_sign: | N/A | 1705615584 |
|
||||
| `content` | *boolean* | :heavy_minus_sign: | N/A | true |
|
||||
| `directory` | *boolean* | :heavy_minus_sign: | N/A | true |
|
||||
| `contentChangedAt` | *number* | :heavy_minus_sign: | N/A | 3192854 |
|
||||
| `hidden` | *number* | :heavy_minus_sign: | N/A | 0 |
|
||||
| `location` | [models.Location](../models/location.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetLibrariesErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibrariesErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibrariesErrors = {
|
||||
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 |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetLibrariesLibraryResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibrariesLibraryResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.GetLibrariesErrors](../models/getlibrarieserrors.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 |
|
||||
@@ -1,52 +0,0 @@
|
||||
# GetLibrariesMediaContainer
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibrariesMediaContainer } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibrariesMediaContainer = {
|
||||
size: 5,
|
||||
allowSync: false,
|
||||
title1: "Plex Library",
|
||||
directory: [
|
||||
{
|
||||
allowSync: true,
|
||||
art: "/:/resources/movie-fanart.jpg",
|
||||
composite: "/library/sections/1/composite/1705615584",
|
||||
filters: true,
|
||||
refreshing: false,
|
||||
thumb: "/:/resources/movie.png",
|
||||
key: "1",
|
||||
type: "movie",
|
||||
title: "Movies",
|
||||
agent: "tv.plex.agents.movie",
|
||||
scanner: "Plex Movie",
|
||||
language: "en-US",
|
||||
uuid: "322a231a-b7f7-49f5-920f-14c61199cd30",
|
||||
updatedAt: 1705615634,
|
||||
createdAt: 1654131312,
|
||||
scannedAt: 1705615584,
|
||||
content: true,
|
||||
directory: true,
|
||||
contentChangedAt: 3192854,
|
||||
hidden: 0,
|
||||
location: [
|
||||
{
|
||||
id: 1,
|
||||
path: "/movies",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
|
||||
| `size` | *number* | :heavy_minus_sign: | N/A | 5 |
|
||||
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | false |
|
||||
| `title1` | *string* | :heavy_minus_sign: | N/A | Plex Library |
|
||||
| `directory` | [models.GetLibrariesDirectory](../models/getlibrariesdirectory.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,61 +0,0 @@
|
||||
# GetLibrariesResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibrariesResponse } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibrariesResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 264555,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
mediaContainer: {
|
||||
size: 5,
|
||||
allowSync: false,
|
||||
title1: "Plex Library",
|
||||
directory: [
|
||||
{
|
||||
allowSync: true,
|
||||
art: "/:/resources/movie-fanart.jpg",
|
||||
composite: "/library/sections/1/composite/1705615584",
|
||||
filters: true,
|
||||
refreshing: false,
|
||||
thumb: "/:/resources/movie.png",
|
||||
key: "1",
|
||||
type: "movie",
|
||||
title: "Movies",
|
||||
agent: "tv.plex.agents.movie",
|
||||
scanner: "Plex Movie",
|
||||
language: "en-US",
|
||||
uuid: "322a231a-b7f7-49f5-920f-14c61199cd30",
|
||||
updatedAt: 1705615634,
|
||||
createdAt: 1654131312,
|
||||
scannedAt: 1705615584,
|
||||
content: true,
|
||||
directory: true,
|
||||
contentChangedAt: 3192854,
|
||||
hidden: 0,
|
||||
location: [
|
||||
{
|
||||
id: 1,
|
||||
path: "/movies",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.GetLibrariesResponseBody](../models/getlibrariesresponsebody.md) | :heavy_minus_sign: | The libraries available on the Server |
|
||||
@@ -1,53 +0,0 @@
|
||||
# GetLibrariesResponseBody
|
||||
|
||||
The libraries available on the Server
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibrariesResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibrariesResponseBody = {
|
||||
mediaContainer: {
|
||||
size: 5,
|
||||
allowSync: false,
|
||||
title1: "Plex Library",
|
||||
directory: [
|
||||
{
|
||||
allowSync: true,
|
||||
art: "/:/resources/movie-fanart.jpg",
|
||||
composite: "/library/sections/1/composite/1705615584",
|
||||
filters: true,
|
||||
refreshing: false,
|
||||
thumb: "/:/resources/movie.png",
|
||||
key: "1",
|
||||
type: "movie",
|
||||
title: "Movies",
|
||||
agent: "tv.plex.agents.movie",
|
||||
scanner: "Plex Movie",
|
||||
language: "en-US",
|
||||
uuid: "322a231a-b7f7-49f5-920f-14c61199cd30",
|
||||
updatedAt: 1705615634,
|
||||
createdAt: 1654131312,
|
||||
scannedAt: 1705615584,
|
||||
content: true,
|
||||
directory: true,
|
||||
contentChangedAt: 3192854,
|
||||
hidden: 0,
|
||||
location: [
|
||||
{
|
||||
id: 1,
|
||||
path: "/movies",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
||||
| `mediaContainer` | [models.GetLibrariesMediaContainer](../models/getlibrariesmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetLibraryErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryErrors = {
|
||||
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 |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetLibraryHubsErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryHubsErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryHubsErrors = {
|
||||
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 |
|
||||
@@ -1,131 +0,0 @@
|
||||
# GetLibraryHubsHub
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryHubsHub } from "@lukehagar/plexjs";
|
||||
import { RFCDate } from "@lukehagar/plexjs/types";
|
||||
|
||||
let value: GetLibraryHubsHub = {
|
||||
key: "/library/sections/1/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0",
|
||||
title: "Recently Played Movies",
|
||||
type: "movie",
|
||||
hubIdentifier: "movie.recentlyviewed.1",
|
||||
context: "hub.movie.recentlyviewed",
|
||||
size: 6,
|
||||
more: true,
|
||||
style: "shelf",
|
||||
hubKey: "/library/metadata/66485,66098,57249,11449,5858,14944",
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "14944",
|
||||
key: "/library/metadata/14944",
|
||||
guid: "plex://movie/5d77686eeb5d26001f1eb339",
|
||||
studio: "Walt Disney Animation Studios",
|
||||
type: "movie",
|
||||
title: "Tangled",
|
||||
librarySectionTitle: "Movies",
|
||||
librarySectionID: 1,
|
||||
librarySectionKey: "/library/sections/1",
|
||||
contentRating: "PG",
|
||||
summary:
|
||||
"The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.",
|
||||
rating: 8.9,
|
||||
audienceRating: 8.7,
|
||||
viewCount: 1,
|
||||
lastViewedAt: 1704936047,
|
||||
year: 2010,
|
||||
tagline: "They're taking adventure to new lengths.",
|
||||
thumb: "/library/metadata/14944/thumb/1705739847",
|
||||
art: "/library/metadata/14944/art/1705739847",
|
||||
duration: 6017237,
|
||||
originallyAvailableAt: new RFCDate("2010-11-24T00:00:00Z"),
|
||||
addedAt: 1589412494,
|
||||
updatedAt: 1705739847,
|
||||
audienceRatingImage: "rottentomatoes://image.rating.upright",
|
||||
primaryExtraKey: "/library/metadata/14952",
|
||||
ratingImage: "rottentomatoes://image.rating.ripe",
|
||||
media: [
|
||||
{
|
||||
id: 38247,
|
||||
duration: 6017237,
|
||||
bitrate: 2051,
|
||||
width: 1920,
|
||||
height: 1080,
|
||||
aspectRatio: 1.78,
|
||||
audioChannels: 2,
|
||||
audioCodec: "aac",
|
||||
videoCodec: "h264",
|
||||
videoResolution: "1080",
|
||||
container: "mp4",
|
||||
videoFrameRate: "24p",
|
||||
optimizedForStreaming: 1,
|
||||
audioProfile: "lc",
|
||||
has64bitOffsets: false,
|
||||
videoProfile: "high",
|
||||
part: [
|
||||
{
|
||||
id: 38247,
|
||||
key: "/library/parts/38247/1589412494/file.mp4",
|
||||
duration: 6017237,
|
||||
file: "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
|
||||
size: 1545647447,
|
||||
audioProfile: "lc",
|
||||
container: "mp4",
|
||||
has64bitOffsets: false,
|
||||
optimizedForStreaming: true,
|
||||
videoProfile: "high",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
genre: [
|
||||
{
|
||||
tag: "Animation",
|
||||
},
|
||||
],
|
||||
country: [
|
||||
{
|
||||
tag: "United States of America",
|
||||
},
|
||||
],
|
||||
director: [
|
||||
{
|
||||
tag: "Nathan Greno",
|
||||
},
|
||||
],
|
||||
role: [
|
||||
{
|
||||
tag: "Donna Murphy",
|
||||
},
|
||||
],
|
||||
writer: [
|
||||
{
|
||||
tag: "Wilhelm Grimm",
|
||||
},
|
||||
],
|
||||
skipCount: 1,
|
||||
chapterSource: "media",
|
||||
},
|
||||
],
|
||||
promoted: true,
|
||||
random: true,
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
||||
| `key` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0 |
|
||||
| `title` | *string* | :heavy_minus_sign: | N/A | Recently Played Movies |
|
||||
| `type` | *string* | :heavy_minus_sign: | N/A | movie |
|
||||
| `hubIdentifier` | *string* | :heavy_minus_sign: | N/A | movie.recentlyviewed.1 |
|
||||
| `context` | *string* | :heavy_minus_sign: | N/A | hub.movie.recentlyviewed |
|
||||
| `size` | *number* | :heavy_minus_sign: | N/A | 6 |
|
||||
| `more` | *boolean* | :heavy_minus_sign: | N/A | true |
|
||||
| `style` | *string* | :heavy_minus_sign: | N/A | shelf |
|
||||
| `hubKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66485,66098,57249,11449,5858,14944 |
|
||||
| `metadata` | [models.GetLibraryHubsMetadata](../models/getlibraryhubsmetadata.md)[] | :heavy_minus_sign: | N/A | |
|
||||
| `promoted` | *boolean* | :heavy_minus_sign: | N/A | true |
|
||||
| `random` | *boolean* | :heavy_minus_sign: | N/A | true |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetLibraryHubsHubsResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryHubsHubsResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.GetLibraryHubsErrors](../models/getlibraryhubserrors.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 |
|
||||
@@ -1,62 +0,0 @@
|
||||
# GetLibraryHubsMedia
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryHubsMedia } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryHubsMedia = {
|
||||
id: 38247,
|
||||
duration: 6017237,
|
||||
bitrate: 2051,
|
||||
width: 1920,
|
||||
height: 1080,
|
||||
aspectRatio: 1.78,
|
||||
audioChannels: 2,
|
||||
audioCodec: "aac",
|
||||
videoCodec: "h264",
|
||||
videoResolution: "1080",
|
||||
container: "mp4",
|
||||
videoFrameRate: "24p",
|
||||
optimizedForStreaming: 1,
|
||||
audioProfile: "lc",
|
||||
has64bitOffsets: false,
|
||||
videoProfile: "high",
|
||||
part: [
|
||||
{
|
||||
id: 38247,
|
||||
key: "/library/parts/38247/1589412494/file.mp4",
|
||||
duration: 6017237,
|
||||
file: "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
|
||||
size: 1545647447,
|
||||
audioProfile: "lc",
|
||||
container: "mp4",
|
||||
has64bitOffsets: false,
|
||||
optimizedForStreaming: true,
|
||||
videoProfile: "high",
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
|
||||
| `id` | *number* | :heavy_minus_sign: | N/A | 38247 |
|
||||
| `duration` | *number* | :heavy_minus_sign: | N/A | 6017237 |
|
||||
| `bitrate` | *number* | :heavy_minus_sign: | N/A | 2051 |
|
||||
| `width` | *number* | :heavy_minus_sign: | N/A | 1920 |
|
||||
| `height` | *number* | :heavy_minus_sign: | N/A | 1080 |
|
||||
| `aspectRatio` | *number* | :heavy_minus_sign: | N/A | 1.78 |
|
||||
| `audioChannels` | *number* | :heavy_minus_sign: | N/A | 2 |
|
||||
| `audioCodec` | *string* | :heavy_minus_sign: | N/A | aac |
|
||||
| `videoCodec` | *string* | :heavy_minus_sign: | N/A | h264 |
|
||||
| `videoResolution` | *string* | :heavy_minus_sign: | N/A | 1080 |
|
||||
| `container` | *string* | :heavy_minus_sign: | N/A | mp4 |
|
||||
| `videoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p |
|
||||
| `optimizedForStreaming` | *number* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `audioProfile` | *string* | :heavy_minus_sign: | N/A | lc |
|
||||
| `has64bitOffsets` | *boolean* | :heavy_minus_sign: | N/A | false |
|
||||
| `videoProfile` | *string* | :heavy_minus_sign: | N/A | high |
|
||||
| `part` | [models.GetLibraryHubsPart](../models/getlibraryhubspart.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,136 +0,0 @@
|
||||
# GetLibraryHubsMediaContainer
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryHubsMediaContainer } from "@lukehagar/plexjs";
|
||||
import { RFCDate } from "@lukehagar/plexjs/types";
|
||||
|
||||
let value: GetLibraryHubsMediaContainer = {
|
||||
size: 7,
|
||||
allowSync: true,
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
librarySectionID: 1,
|
||||
librarySectionTitle: "Movies",
|
||||
librarySectionUUID: "322a231a-b7f7-49f5-920f-14c61199cd30",
|
||||
hub: [
|
||||
{
|
||||
key: "/library/sections/1/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0",
|
||||
title: "Recently Played Movies",
|
||||
type: "movie",
|
||||
hubIdentifier: "movie.recentlyviewed.1",
|
||||
context: "hub.movie.recentlyviewed",
|
||||
size: 6,
|
||||
more: true,
|
||||
style: "shelf",
|
||||
hubKey: "/library/metadata/66485,66098,57249,11449,5858,14944",
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "14944",
|
||||
key: "/library/metadata/14944",
|
||||
guid: "plex://movie/5d77686eeb5d26001f1eb339",
|
||||
studio: "Walt Disney Animation Studios",
|
||||
type: "movie",
|
||||
title: "Tangled",
|
||||
librarySectionTitle: "Movies",
|
||||
librarySectionID: 1,
|
||||
librarySectionKey: "/library/sections/1",
|
||||
contentRating: "PG",
|
||||
summary:
|
||||
"The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.",
|
||||
rating: 8.9,
|
||||
audienceRating: 8.7,
|
||||
viewCount: 1,
|
||||
lastViewedAt: 1704936047,
|
||||
year: 2010,
|
||||
tagline: "They're taking adventure to new lengths.",
|
||||
thumb: "/library/metadata/14944/thumb/1705739847",
|
||||
art: "/library/metadata/14944/art/1705739847",
|
||||
duration: 6017237,
|
||||
originallyAvailableAt: new RFCDate("2010-11-24T00:00:00Z"),
|
||||
addedAt: 1589412494,
|
||||
updatedAt: 1705739847,
|
||||
audienceRatingImage: "rottentomatoes://image.rating.upright",
|
||||
primaryExtraKey: "/library/metadata/14952",
|
||||
ratingImage: "rottentomatoes://image.rating.ripe",
|
||||
media: [
|
||||
{
|
||||
id: 38247,
|
||||
duration: 6017237,
|
||||
bitrate: 2051,
|
||||
width: 1920,
|
||||
height: 1080,
|
||||
aspectRatio: 1.78,
|
||||
audioChannels: 2,
|
||||
audioCodec: "aac",
|
||||
videoCodec: "h264",
|
||||
videoResolution: "1080",
|
||||
container: "mp4",
|
||||
videoFrameRate: "24p",
|
||||
optimizedForStreaming: 1,
|
||||
audioProfile: "lc",
|
||||
has64bitOffsets: false,
|
||||
videoProfile: "high",
|
||||
part: [
|
||||
{
|
||||
id: 38247,
|
||||
key: "/library/parts/38247/1589412494/file.mp4",
|
||||
duration: 6017237,
|
||||
file: "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
|
||||
size: 1545647447,
|
||||
audioProfile: "lc",
|
||||
container: "mp4",
|
||||
has64bitOffsets: false,
|
||||
optimizedForStreaming: true,
|
||||
videoProfile: "high",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
genre: [
|
||||
{
|
||||
tag: "Animation",
|
||||
},
|
||||
],
|
||||
country: [
|
||||
{
|
||||
tag: "United States of America",
|
||||
},
|
||||
],
|
||||
director: [
|
||||
{
|
||||
tag: "Nathan Greno",
|
||||
},
|
||||
],
|
||||
role: [
|
||||
{
|
||||
tag: "Donna Murphy",
|
||||
},
|
||||
],
|
||||
writer: [
|
||||
{
|
||||
tag: "Wilhelm Grimm",
|
||||
},
|
||||
],
|
||||
skipCount: 1,
|
||||
chapterSource: "media",
|
||||
},
|
||||
],
|
||||
promoted: true,
|
||||
random: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
|
||||
| `size` | *number* | :heavy_minus_sign: | N/A | 7 |
|
||||
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | true |
|
||||
| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
|
||||
| `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `librarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `librarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
|
||||
| `hub` | [models.GetLibraryHubsHub](../models/getlibraryhubshub.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,142 +0,0 @@
|
||||
# GetLibraryHubsResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryHubsResponse } from "@lukehagar/plexjs";
|
||||
import { RFCDate } from "@lukehagar/plexjs/types";
|
||||
|
||||
let value: GetLibraryHubsResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 537373,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
mediaContainer: {
|
||||
size: 7,
|
||||
allowSync: true,
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
librarySectionID: 1,
|
||||
librarySectionTitle: "Movies",
|
||||
librarySectionUUID: "322a231a-b7f7-49f5-920f-14c61199cd30",
|
||||
hub: [
|
||||
{
|
||||
key: "/library/sections/1/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0",
|
||||
title: "Recently Played Movies",
|
||||
type: "movie",
|
||||
hubIdentifier: "movie.recentlyviewed.1",
|
||||
context: "hub.movie.recentlyviewed",
|
||||
size: 6,
|
||||
more: true,
|
||||
style: "shelf",
|
||||
hubKey: "/library/metadata/66485,66098,57249,11449,5858,14944",
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "14944",
|
||||
key: "/library/metadata/14944",
|
||||
guid: "plex://movie/5d77686eeb5d26001f1eb339",
|
||||
studio: "Walt Disney Animation Studios",
|
||||
type: "movie",
|
||||
title: "Tangled",
|
||||
librarySectionTitle: "Movies",
|
||||
librarySectionID: 1,
|
||||
librarySectionKey: "/library/sections/1",
|
||||
contentRating: "PG",
|
||||
summary:
|
||||
"The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.",
|
||||
rating: 8.9,
|
||||
audienceRating: 8.7,
|
||||
viewCount: 1,
|
||||
lastViewedAt: 1704936047,
|
||||
year: 2010,
|
||||
tagline: "They're taking adventure to new lengths.",
|
||||
thumb: "/library/metadata/14944/thumb/1705739847",
|
||||
art: "/library/metadata/14944/art/1705739847",
|
||||
duration: 6017237,
|
||||
originallyAvailableAt: new RFCDate("2010-11-24T00:00:00Z"),
|
||||
addedAt: 1589412494,
|
||||
updatedAt: 1705739847,
|
||||
audienceRatingImage: "rottentomatoes://image.rating.upright",
|
||||
primaryExtraKey: "/library/metadata/14952",
|
||||
ratingImage: "rottentomatoes://image.rating.ripe",
|
||||
media: [
|
||||
{
|
||||
id: 38247,
|
||||
duration: 6017237,
|
||||
bitrate: 2051,
|
||||
width: 1920,
|
||||
height: 1080,
|
||||
aspectRatio: 1.78,
|
||||
audioChannels: 2,
|
||||
audioCodec: "aac",
|
||||
videoCodec: "h264",
|
||||
videoResolution: "1080",
|
||||
container: "mp4",
|
||||
videoFrameRate: "24p",
|
||||
optimizedForStreaming: 1,
|
||||
audioProfile: "lc",
|
||||
has64bitOffsets: false,
|
||||
videoProfile: "high",
|
||||
part: [
|
||||
{
|
||||
id: 38247,
|
||||
key: "/library/parts/38247/1589412494/file.mp4",
|
||||
duration: 6017237,
|
||||
file: "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
|
||||
size: 1545647447,
|
||||
audioProfile: "lc",
|
||||
container: "mp4",
|
||||
has64bitOffsets: false,
|
||||
optimizedForStreaming: true,
|
||||
videoProfile: "high",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
genre: [
|
||||
{
|
||||
tag: "Animation",
|
||||
},
|
||||
],
|
||||
country: [
|
||||
{
|
||||
tag: "United States of America",
|
||||
},
|
||||
],
|
||||
director: [
|
||||
{
|
||||
tag: "Nathan Greno",
|
||||
},
|
||||
],
|
||||
role: [
|
||||
{
|
||||
tag: "Donna Murphy",
|
||||
},
|
||||
],
|
||||
writer: [
|
||||
{
|
||||
tag: "Wilhelm Grimm",
|
||||
},
|
||||
],
|
||||
skipCount: 1,
|
||||
chapterSource: "media",
|
||||
},
|
||||
],
|
||||
promoted: true,
|
||||
random: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.GetLibraryHubsResponseBody](../models/getlibraryhubsresponsebody.md) | :heavy_minus_sign: | The hubs specific to the library |
|
||||
@@ -1,134 +0,0 @@
|
||||
# GetLibraryHubsResponseBody
|
||||
|
||||
The hubs specific to the library
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryHubsResponseBody } from "@lukehagar/plexjs";
|
||||
import { RFCDate } from "@lukehagar/plexjs/types";
|
||||
|
||||
let value: GetLibraryHubsResponseBody = {
|
||||
mediaContainer: {
|
||||
size: 7,
|
||||
allowSync: true,
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
librarySectionID: 1,
|
||||
librarySectionTitle: "Movies",
|
||||
librarySectionUUID: "322a231a-b7f7-49f5-920f-14c61199cd30",
|
||||
hub: [
|
||||
{
|
||||
key: "/library/sections/1/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0",
|
||||
title: "Recently Played Movies",
|
||||
type: "movie",
|
||||
hubIdentifier: "movie.recentlyviewed.1",
|
||||
context: "hub.movie.recentlyviewed",
|
||||
size: 6,
|
||||
more: true,
|
||||
style: "shelf",
|
||||
hubKey: "/library/metadata/66485,66098,57249,11449,5858,14944",
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "14944",
|
||||
key: "/library/metadata/14944",
|
||||
guid: "plex://movie/5d77686eeb5d26001f1eb339",
|
||||
studio: "Walt Disney Animation Studios",
|
||||
type: "movie",
|
||||
title: "Tangled",
|
||||
librarySectionTitle: "Movies",
|
||||
librarySectionID: 1,
|
||||
librarySectionKey: "/library/sections/1",
|
||||
contentRating: "PG",
|
||||
summary:
|
||||
"The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.",
|
||||
rating: 8.9,
|
||||
audienceRating: 8.7,
|
||||
viewCount: 1,
|
||||
lastViewedAt: 1704936047,
|
||||
year: 2010,
|
||||
tagline: "They're taking adventure to new lengths.",
|
||||
thumb: "/library/metadata/14944/thumb/1705739847",
|
||||
art: "/library/metadata/14944/art/1705739847",
|
||||
duration: 6017237,
|
||||
originallyAvailableAt: new RFCDate("2010-11-24T00:00:00Z"),
|
||||
addedAt: 1589412494,
|
||||
updatedAt: 1705739847,
|
||||
audienceRatingImage: "rottentomatoes://image.rating.upright",
|
||||
primaryExtraKey: "/library/metadata/14952",
|
||||
ratingImage: "rottentomatoes://image.rating.ripe",
|
||||
media: [
|
||||
{
|
||||
id: 38247,
|
||||
duration: 6017237,
|
||||
bitrate: 2051,
|
||||
width: 1920,
|
||||
height: 1080,
|
||||
aspectRatio: 1.78,
|
||||
audioChannels: 2,
|
||||
audioCodec: "aac",
|
||||
videoCodec: "h264",
|
||||
videoResolution: "1080",
|
||||
container: "mp4",
|
||||
videoFrameRate: "24p",
|
||||
optimizedForStreaming: 1,
|
||||
audioProfile: "lc",
|
||||
has64bitOffsets: false,
|
||||
videoProfile: "high",
|
||||
part: [
|
||||
{
|
||||
id: 38247,
|
||||
key: "/library/parts/38247/1589412494/file.mp4",
|
||||
duration: 6017237,
|
||||
file: "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
|
||||
size: 1545647447,
|
||||
audioProfile: "lc",
|
||||
container: "mp4",
|
||||
has64bitOffsets: false,
|
||||
optimizedForStreaming: true,
|
||||
videoProfile: "high",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
genre: [
|
||||
{
|
||||
tag: "Animation",
|
||||
},
|
||||
],
|
||||
country: [
|
||||
{
|
||||
tag: "United States of America",
|
||||
},
|
||||
],
|
||||
director: [
|
||||
{
|
||||
tag: "Nathan Greno",
|
||||
},
|
||||
],
|
||||
role: [
|
||||
{
|
||||
tag: "Donna Murphy",
|
||||
},
|
||||
],
|
||||
writer: [
|
||||
{
|
||||
tag: "Wilhelm Grimm",
|
||||
},
|
||||
],
|
||||
skipCount: 1,
|
||||
chapterSource: "media",
|
||||
},
|
||||
],
|
||||
promoted: true,
|
||||
random: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
||||
| `mediaContainer` | [models.GetLibraryHubsMediaContainer](../models/getlibraryhubsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetLibraryItemsErrors
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsErrors } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryItemsErrors = {
|
||||
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 |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetLibraryItemsLibraryResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsLibraryResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.GetLibraryItemsErrors](../models/getlibraryitemserrors.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 |
|
||||
@@ -1,53 +0,0 @@
|
||||
# GetLibraryItemsMedia
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsMedia } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryItemsMedia = {
|
||||
id: 119534,
|
||||
duration: 11558112,
|
||||
bitrate: 25025,
|
||||
width: 3840,
|
||||
height: 2072,
|
||||
aspectRatio: 1.85,
|
||||
audioChannels: 6,
|
||||
audioCodec: "eac3",
|
||||
videoCodec: "hevc",
|
||||
videoResolution: "4k",
|
||||
container: "mkv",
|
||||
videoFrameRate: "24p",
|
||||
videoProfile: "main 10",
|
||||
part: [
|
||||
{
|
||||
id: 119542,
|
||||
key: "/library/parts/119542/1680457526/file.mkv",
|
||||
duration: 11558112,
|
||||
file: "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
|
||||
size: 36158371307,
|
||||
container: "mkv",
|
||||
videoProfile: "main 10",
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
|
||||
| `id` | *number* | :heavy_minus_sign: | N/A | 119534 |
|
||||
| `duration` | *number* | :heavy_minus_sign: | N/A | 11558112 |
|
||||
| `bitrate` | *number* | :heavy_minus_sign: | N/A | 25025 |
|
||||
| `width` | *number* | :heavy_minus_sign: | N/A | 3840 |
|
||||
| `height` | *number* | :heavy_minus_sign: | N/A | 2072 |
|
||||
| `aspectRatio` | *number* | :heavy_minus_sign: | N/A | 1.85 |
|
||||
| `audioChannels` | *number* | :heavy_minus_sign: | N/A | 6 |
|
||||
| `audioCodec` | *string* | :heavy_minus_sign: | N/A | eac3 |
|
||||
| `videoCodec` | *string* | :heavy_minus_sign: | N/A | hevc |
|
||||
| `videoResolution` | *string* | :heavy_minus_sign: | N/A | 4k |
|
||||
| `container` | *string* | :heavy_minus_sign: | N/A | mkv |
|
||||
| `videoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p |
|
||||
| `videoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 |
|
||||
| `part` | [models.GetLibraryItemsPart](../models/getlibraryitemspart.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,155 +0,0 @@
|
||||
# GetLibraryItemsMediaContainer
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsMediaContainer } from "@lukehagar/plexjs";
|
||||
import { RFCDate } from "@lukehagar/plexjs/types";
|
||||
|
||||
let value: GetLibraryItemsMediaContainer = {
|
||||
size: 70,
|
||||
allowSync: true,
|
||||
art: "/:/resources/movie-fanart.jpg",
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
librarySectionTitle: "Movies",
|
||||
librarySectionUUID: "322a231a-b7f7-49f5-920f-14c61199cd30",
|
||||
mediaTagPrefix: "/system/bundle/media/flags/",
|
||||
mediaTagVersion: 1701731894,
|
||||
thumb: "/:/resources/movie.png",
|
||||
title1: "Movies",
|
||||
title2: "Recently Released",
|
||||
viewGroup: "movie",
|
||||
viewMode: 65592,
|
||||
mixedParents: true,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "58683",
|
||||
key: "/library/metadata/58683",
|
||||
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||
studio: "20th Century Studios",
|
||||
type: "movie",
|
||||
title: "Avatar: The Way of Water",
|
||||
contentRating: "PG-13",
|
||||
summary:
|
||||
"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.",
|
||||
rating: 7.6,
|
||||
audienceRating: 9.2,
|
||||
year: 2022,
|
||||
tagline: "Return to Pandora.",
|
||||
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||
art: "/library/metadata/58683/art/1703239236",
|
||||
duration: 11558112,
|
||||
originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"),
|
||||
addedAt: 1680457607,
|
||||
updatedAt: 1703239236,
|
||||
audienceRatingImage: "rottentomatoes://image.rating.upright",
|
||||
chapterSource: "media",
|
||||
primaryExtraKey: "/library/metadata/58684",
|
||||
ratingImage: "rottentomatoes://image.rating.ripe",
|
||||
grandparentRatingKey: "66",
|
||||
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||
grandparentKey: "/library/metadata/66",
|
||||
grandparentTitle: "Caprica",
|
||||
grandparentThumb: "/library/metadata/66/thumb/1705716261",
|
||||
grandparentArt: "/library/metadata/66/art/1705716261",
|
||||
grandparentTheme: "/library/metadata/66/theme/1705716261",
|
||||
media: [
|
||||
{
|
||||
id: 119534,
|
||||
duration: 11558112,
|
||||
bitrate: 25025,
|
||||
width: 3840,
|
||||
height: 2072,
|
||||
aspectRatio: 1.85,
|
||||
audioChannels: 6,
|
||||
audioCodec: "eac3",
|
||||
videoCodec: "hevc",
|
||||
videoResolution: "4k",
|
||||
container: "mkv",
|
||||
videoFrameRate: "24p",
|
||||
videoProfile: "main 10",
|
||||
part: [
|
||||
{
|
||||
id: 119542,
|
||||
key: "/library/parts/119542/1680457526/file.mkv",
|
||||
duration: 11558112,
|
||||
file: "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
|
||||
size: 36158371307,
|
||||
container: "mkv",
|
||||
videoProfile: "main 10",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
genre: [
|
||||
{
|
||||
tag: "Adventure",
|
||||
},
|
||||
],
|
||||
country: [
|
||||
{
|
||||
tag: "United States of America",
|
||||
},
|
||||
],
|
||||
director: [
|
||||
{
|
||||
tag: "James Cameron",
|
||||
},
|
||||
],
|
||||
writer: [
|
||||
{
|
||||
tag: "James Cameron",
|
||||
},
|
||||
],
|
||||
role: [
|
||||
{
|
||||
tag: "Sigourney Weaver",
|
||||
},
|
||||
],
|
||||
titleSort: "Whale",
|
||||
viewCount: 1,
|
||||
lastViewedAt: 1682752242,
|
||||
originalTitle: "映画 ブラッククローバー 魔法帝の剣",
|
||||
viewOffset: 5222500,
|
||||
skipCount: 1,
|
||||
index: 1,
|
||||
theme: "/library/metadata/1/theme/1705636920",
|
||||
leafCount: 14,
|
||||
viewedLeafCount: 0,
|
||||
childCount: 1,
|
||||
hasPremiumExtras: "1",
|
||||
hasPremiumPrimaryExtra: "1",
|
||||
parentRatingKey: "66",
|
||||
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||
parentStudio: "UCP",
|
||||
parentKey: "/library/metadata/66",
|
||||
parentTitle: "Caprica",
|
||||
parentIndex: 1,
|
||||
parentYear: 2010,
|
||||
parentThumb: "/library/metadata/66/thumb/1705716261",
|
||||
parentTheme: "/library/metadata/66/theme/1705716261",
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
|
||||
| `size` | *number* | :heavy_minus_sign: | N/A | 70 |
|
||||
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | true |
|
||||
| `art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
|
||||
| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
|
||||
| `librarySectionID` | *models.LibrarySectionID* | :heavy_minus_sign: | N/A | |
|
||||
| `librarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `librarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
|
||||
| `mediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
|
||||
| `mediaTagVersion` | *number* | :heavy_minus_sign: | N/A | 1701731894 |
|
||||
| `thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
|
||||
| `title1` | *string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `title2` | *string* | :heavy_minus_sign: | N/A | Recently Released |
|
||||
| `viewGroup` | *string* | :heavy_minus_sign: | N/A | movie |
|
||||
| `viewMode` | *number* | :heavy_minus_sign: | N/A | 65592 |
|
||||
| `mixedParents` | *boolean* | :heavy_minus_sign: | N/A | true |
|
||||
| `metadata` | [models.GetLibraryItemsMetadata](../models/getlibraryitemsmetadata.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,21 +0,0 @@
|
||||
# GetLibraryItemsRequest
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsRequest, Tag } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryItemsRequest = {
|
||||
sectionId: "<value>",
|
||||
tag: Tag.RecentlyViewed,
|
||||
includeGuids: 1,
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
|
||||
| `sectionId` | *any* | :heavy_check_mark: | the Id of the library to query | |
|
||||
| `tag` | [models.Tag](../models/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | |
|
||||
| `includeGuids` | *number* | :heavy_minus_sign: | Adds the Guids object to the response<br/> | 1 |
|
||||
@@ -1,152 +0,0 @@
|
||||
# GetLibraryItemsResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsResponse } from "@lukehagar/plexjs";
|
||||
import { RFCDate } from "@lukehagar/plexjs/types";
|
||||
|
||||
let value: GetLibraryItemsResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 135218,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
mediaContainer: {
|
||||
size: 70,
|
||||
allowSync: true,
|
||||
art: "/:/resources/movie-fanart.jpg",
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
librarySectionTitle: "Movies",
|
||||
librarySectionUUID: "322a231a-b7f7-49f5-920f-14c61199cd30",
|
||||
mediaTagPrefix: "/system/bundle/media/flags/",
|
||||
mediaTagVersion: 1701731894,
|
||||
thumb: "/:/resources/movie.png",
|
||||
title1: "Movies",
|
||||
title2: "Recently Released",
|
||||
viewGroup: "movie",
|
||||
viewMode: 65592,
|
||||
mixedParents: true,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "58683",
|
||||
key: "/library/metadata/58683",
|
||||
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||
studio: "20th Century Studios",
|
||||
type: "movie",
|
||||
title: "Avatar: The Way of Water",
|
||||
contentRating: "PG-13",
|
||||
summary:
|
||||
"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.",
|
||||
rating: 7.6,
|
||||
audienceRating: 9.2,
|
||||
year: 2022,
|
||||
tagline: "Return to Pandora.",
|
||||
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||
art: "/library/metadata/58683/art/1703239236",
|
||||
duration: 11558112,
|
||||
originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"),
|
||||
addedAt: 1680457607,
|
||||
updatedAt: 1703239236,
|
||||
audienceRatingImage: "rottentomatoes://image.rating.upright",
|
||||
chapterSource: "media",
|
||||
primaryExtraKey: "/library/metadata/58684",
|
||||
ratingImage: "rottentomatoes://image.rating.ripe",
|
||||
grandparentRatingKey: "66",
|
||||
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||
grandparentKey: "/library/metadata/66",
|
||||
grandparentTitle: "Caprica",
|
||||
grandparentThumb: "/library/metadata/66/thumb/1705716261",
|
||||
grandparentArt: "/library/metadata/66/art/1705716261",
|
||||
grandparentTheme: "/library/metadata/66/theme/1705716261",
|
||||
media: [
|
||||
{
|
||||
id: 119534,
|
||||
duration: 11558112,
|
||||
bitrate: 25025,
|
||||
width: 3840,
|
||||
height: 2072,
|
||||
aspectRatio: 1.85,
|
||||
audioChannels: 6,
|
||||
audioCodec: "eac3",
|
||||
videoCodec: "hevc",
|
||||
videoResolution: "4k",
|
||||
container: "mkv",
|
||||
videoFrameRate: "24p",
|
||||
videoProfile: "main 10",
|
||||
part: [
|
||||
{
|
||||
id: 119542,
|
||||
key: "/library/parts/119542/1680457526/file.mkv",
|
||||
duration: 11558112,
|
||||
file: "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
|
||||
size: 36158371307,
|
||||
container: "mkv",
|
||||
videoProfile: "main 10",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
genre: [
|
||||
{
|
||||
tag: "Adventure",
|
||||
},
|
||||
],
|
||||
country: [
|
||||
{
|
||||
tag: "United States of America",
|
||||
},
|
||||
],
|
||||
director: [
|
||||
{
|
||||
tag: "James Cameron",
|
||||
},
|
||||
],
|
||||
writer: [
|
||||
{
|
||||
tag: "James Cameron",
|
||||
},
|
||||
],
|
||||
role: [
|
||||
{
|
||||
tag: "Sigourney Weaver",
|
||||
},
|
||||
],
|
||||
titleSort: "Whale",
|
||||
viewCount: 1,
|
||||
lastViewedAt: 1682752242,
|
||||
originalTitle: "映画 ブラッククローバー 魔法帝の剣",
|
||||
viewOffset: 5222500,
|
||||
skipCount: 1,
|
||||
index: 1,
|
||||
theme: "/library/metadata/1/theme/1705636920",
|
||||
leafCount: 14,
|
||||
viewedLeafCount: 0,
|
||||
childCount: 1,
|
||||
hasPremiumExtras: "1",
|
||||
hasPremiumPrimaryExtra: "1",
|
||||
parentRatingKey: "66",
|
||||
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||
parentStudio: "UCP",
|
||||
parentKey: "/library/metadata/66",
|
||||
parentTitle: "Caprica",
|
||||
parentIndex: 1,
|
||||
parentYear: 2010,
|
||||
parentThumb: "/library/metadata/66/thumb/1705716261",
|
||||
parentTheme: "/library/metadata/66/theme/1705716261",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.GetLibraryItemsResponseBody](../models/getlibraryitemsresponsebody.md) | :heavy_minus_sign: | The contents of the library by section and tag |
|
||||
@@ -1,144 +0,0 @@
|
||||
# GetLibraryItemsResponseBody
|
||||
|
||||
The contents of the library by section and tag
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsResponseBody } from "@lukehagar/plexjs";
|
||||
import { RFCDate } from "@lukehagar/plexjs/types";
|
||||
|
||||
let value: GetLibraryItemsResponseBody = {
|
||||
mediaContainer: {
|
||||
size: 70,
|
||||
allowSync: true,
|
||||
art: "/:/resources/movie-fanart.jpg",
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
librarySectionTitle: "Movies",
|
||||
librarySectionUUID: "322a231a-b7f7-49f5-920f-14c61199cd30",
|
||||
mediaTagPrefix: "/system/bundle/media/flags/",
|
||||
mediaTagVersion: 1701731894,
|
||||
thumb: "/:/resources/movie.png",
|
||||
title1: "Movies",
|
||||
title2: "Recently Released",
|
||||
viewGroup: "movie",
|
||||
viewMode: 65592,
|
||||
mixedParents: true,
|
||||
metadata: [
|
||||
{
|
||||
ratingKey: "58683",
|
||||
key: "/library/metadata/58683",
|
||||
guid: "plex://movie/5d7768ba96b655001fdc0408",
|
||||
studio: "20th Century Studios",
|
||||
type: "movie",
|
||||
title: "Avatar: The Way of Water",
|
||||
contentRating: "PG-13",
|
||||
summary:
|
||||
"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.",
|
||||
rating: 7.6,
|
||||
audienceRating: 9.2,
|
||||
year: 2022,
|
||||
tagline: "Return to Pandora.",
|
||||
thumb: "/library/metadata/58683/thumb/1703239236",
|
||||
art: "/library/metadata/58683/art/1703239236",
|
||||
duration: 11558112,
|
||||
originallyAvailableAt: new RFCDate("2022-12-14T00:00:00Z"),
|
||||
addedAt: 1680457607,
|
||||
updatedAt: 1703239236,
|
||||
audienceRatingImage: "rottentomatoes://image.rating.upright",
|
||||
chapterSource: "media",
|
||||
primaryExtraKey: "/library/metadata/58684",
|
||||
ratingImage: "rottentomatoes://image.rating.ripe",
|
||||
grandparentRatingKey: "66",
|
||||
grandparentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||
grandparentKey: "/library/metadata/66",
|
||||
grandparentTitle: "Caprica",
|
||||
grandparentThumb: "/library/metadata/66/thumb/1705716261",
|
||||
grandparentArt: "/library/metadata/66/art/1705716261",
|
||||
grandparentTheme: "/library/metadata/66/theme/1705716261",
|
||||
media: [
|
||||
{
|
||||
id: 119534,
|
||||
duration: 11558112,
|
||||
bitrate: 25025,
|
||||
width: 3840,
|
||||
height: 2072,
|
||||
aspectRatio: 1.85,
|
||||
audioChannels: 6,
|
||||
audioCodec: "eac3",
|
||||
videoCodec: "hevc",
|
||||
videoResolution: "4k",
|
||||
container: "mkv",
|
||||
videoFrameRate: "24p",
|
||||
videoProfile: "main 10",
|
||||
part: [
|
||||
{
|
||||
id: 119542,
|
||||
key: "/library/parts/119542/1680457526/file.mkv",
|
||||
duration: 11558112,
|
||||
file: "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
|
||||
size: 36158371307,
|
||||
container: "mkv",
|
||||
videoProfile: "main 10",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
genre: [
|
||||
{
|
||||
tag: "Adventure",
|
||||
},
|
||||
],
|
||||
country: [
|
||||
{
|
||||
tag: "United States of America",
|
||||
},
|
||||
],
|
||||
director: [
|
||||
{
|
||||
tag: "James Cameron",
|
||||
},
|
||||
],
|
||||
writer: [
|
||||
{
|
||||
tag: "James Cameron",
|
||||
},
|
||||
],
|
||||
role: [
|
||||
{
|
||||
tag: "Sigourney Weaver",
|
||||
},
|
||||
],
|
||||
titleSort: "Whale",
|
||||
viewCount: 1,
|
||||
lastViewedAt: 1682752242,
|
||||
originalTitle: "映画 ブラッククローバー 魔法帝の剣",
|
||||
viewOffset: 5222500,
|
||||
skipCount: 1,
|
||||
index: 1,
|
||||
theme: "/library/metadata/1/theme/1705636920",
|
||||
leafCount: 14,
|
||||
viewedLeafCount: 0,
|
||||
childCount: 1,
|
||||
hasPremiumExtras: "1",
|
||||
hasPremiumPrimaryExtra: "1",
|
||||
parentRatingKey: "66",
|
||||
parentGuid: "plex://show/5d9c081b170e24001f2a7be4",
|
||||
parentStudio: "UCP",
|
||||
parentKey: "/library/metadata/66",
|
||||
parentTitle: "Caprica",
|
||||
parentIndex: 1,
|
||||
parentYear: 2010,
|
||||
parentThumb: "/library/metadata/66/thumb/1705716261",
|
||||
parentTheme: "/library/metadata/66/theme/1705716261",
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||
| `mediaContainer` | [models.GetLibraryItemsMediaContainer](../models/getlibraryitemsmediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,18 +0,0 @@
|
||||
# GetLibraryLibraryResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryLibraryResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.GetLibraryErrors](../models/getlibraryerrors.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 |
|
||||
@@ -1,97 +0,0 @@
|
||||
# GetLibraryMediaContainer
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryMediaContainer } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryMediaContainer = {
|
||||
size: 29,
|
||||
allowSync: false,
|
||||
art: "/:/resources/movie-fanart.jpg",
|
||||
content: "secondary",
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
librarySectionID: 1,
|
||||
mediaTagPrefix: "/system/bundle/media/flags/",
|
||||
mediaTagVersion: 1701731894,
|
||||
thumb: "/:/resources/movie.png",
|
||||
title1: "Movies",
|
||||
viewGroup: "secondary",
|
||||
viewMode: 65592,
|
||||
directory: [
|
||||
{
|
||||
key: "search?type=1",
|
||||
title: "Search...",
|
||||
secondary: true,
|
||||
prompt: "Search Movies",
|
||||
search: true,
|
||||
},
|
||||
],
|
||||
type: [
|
||||
{
|
||||
key: "/library/sections/1/all?type=1",
|
||||
type: "movie",
|
||||
title: "Movies",
|
||||
active: false,
|
||||
filter: [
|
||||
{
|
||||
filter: "label",
|
||||
filterType: "string",
|
||||
key: "/library/sections/1/label",
|
||||
title: "Labels",
|
||||
type: "filter",
|
||||
},
|
||||
],
|
||||
sort: [
|
||||
{
|
||||
default: "asc",
|
||||
defaultDirection: "desc",
|
||||
descKey: "random:desc",
|
||||
firstCharacterKey: "/library/sections/1/firstCharacter",
|
||||
key: "random",
|
||||
title: "Randomly",
|
||||
},
|
||||
],
|
||||
field: [
|
||||
{
|
||||
key: "label",
|
||||
title: "Label",
|
||||
type: "tag",
|
||||
subType: "bitrate",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
fieldType: [
|
||||
{
|
||||
type: "resolution",
|
||||
operator: [
|
||||
{
|
||||
key: "=",
|
||||
title: "is",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
|
||||
| `size` | *number* | :heavy_minus_sign: | N/A | 29 |
|
||||
| `allowSync` | *boolean* | :heavy_minus_sign: | N/A | false |
|
||||
| `art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
|
||||
| `content` | *string* | :heavy_minus_sign: | N/A | secondary |
|
||||
| `identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
|
||||
| `librarySectionID` | *number* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `mediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
|
||||
| `mediaTagVersion` | *number* | :heavy_minus_sign: | N/A | 1701731894 |
|
||||
| `thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
|
||||
| `title1` | *string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `viewGroup` | *string* | :heavy_minus_sign: | N/A | secondary |
|
||||
| `viewMode` | *number* | :heavy_minus_sign: | N/A | 65592 |
|
||||
| `directory` | [models.GetLibraryDirectory](../models/getlibrarydirectory.md)[] | :heavy_minus_sign: | N/A | |
|
||||
| `type` | [models.GetLibraryType](../models/getlibrarytype.md)[] | :heavy_minus_sign: | N/A | |
|
||||
| `fieldType` | [models.FieldType](../models/fieldtype.md)[] | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,95 +0,0 @@
|
||||
# GetLibraryResponse
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryResponse } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryResponse = {
|
||||
contentType: "<value>",
|
||||
statusCode: 774234,
|
||||
rawResponse: new Response('{"message": "hello world"}', {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
}),
|
||||
object: {
|
||||
mediaContainer: {
|
||||
size: 29,
|
||||
allowSync: false,
|
||||
art: "/:/resources/movie-fanart.jpg",
|
||||
content: "secondary",
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
librarySectionID: 1,
|
||||
mediaTagPrefix: "/system/bundle/media/flags/",
|
||||
mediaTagVersion: 1701731894,
|
||||
thumb: "/:/resources/movie.png",
|
||||
title1: "Movies",
|
||||
viewGroup: "secondary",
|
||||
viewMode: 65592,
|
||||
directory: [
|
||||
{
|
||||
key: "search?type=1",
|
||||
title: "Search...",
|
||||
secondary: true,
|
||||
prompt: "Search Movies",
|
||||
search: true,
|
||||
},
|
||||
],
|
||||
type: [
|
||||
{
|
||||
key: "/library/sections/1/all?type=1",
|
||||
type: "movie",
|
||||
title: "Movies",
|
||||
active: false,
|
||||
filter: [
|
||||
{
|
||||
filter: "label",
|
||||
filterType: "string",
|
||||
key: "/library/sections/1/label",
|
||||
title: "Labels",
|
||||
type: "filter",
|
||||
},
|
||||
],
|
||||
sort: [
|
||||
{
|
||||
default: "asc",
|
||||
defaultDirection: "desc",
|
||||
descKey: "random:desc",
|
||||
firstCharacterKey: "/library/sections/1/firstCharacter",
|
||||
key: "random",
|
||||
title: "Randomly",
|
||||
},
|
||||
],
|
||||
field: [
|
||||
{
|
||||
key: "label",
|
||||
title: "Label",
|
||||
type: "tag",
|
||||
subType: "bitrate",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
fieldType: [
|
||||
{
|
||||
type: "resolution",
|
||||
operator: [
|
||||
{
|
||||
key: "=",
|
||||
title: "is",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| `object` | [models.GetLibraryResponseBody](../models/getlibraryresponsebody.md) | :heavy_minus_sign: | The details of the library |
|
||||
@@ -1,87 +0,0 @@
|
||||
# GetLibraryResponseBody
|
||||
|
||||
The details of the library
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryResponseBody = {
|
||||
mediaContainer: {
|
||||
size: 29,
|
||||
allowSync: false,
|
||||
art: "/:/resources/movie-fanart.jpg",
|
||||
content: "secondary",
|
||||
identifier: "com.plexapp.plugins.library",
|
||||
librarySectionID: 1,
|
||||
mediaTagPrefix: "/system/bundle/media/flags/",
|
||||
mediaTagVersion: 1701731894,
|
||||
thumb: "/:/resources/movie.png",
|
||||
title1: "Movies",
|
||||
viewGroup: "secondary",
|
||||
viewMode: 65592,
|
||||
directory: [
|
||||
{
|
||||
key: "search?type=1",
|
||||
title: "Search...",
|
||||
secondary: true,
|
||||
prompt: "Search Movies",
|
||||
search: true,
|
||||
},
|
||||
],
|
||||
type: [
|
||||
{
|
||||
key: "/library/sections/1/all?type=1",
|
||||
type: "movie",
|
||||
title: "Movies",
|
||||
active: false,
|
||||
filter: [
|
||||
{
|
||||
filter: "label",
|
||||
filterType: "string",
|
||||
key: "/library/sections/1/label",
|
||||
title: "Labels",
|
||||
type: "filter",
|
||||
},
|
||||
],
|
||||
sort: [
|
||||
{
|
||||
default: "asc",
|
||||
defaultDirection: "desc",
|
||||
descKey: "random:desc",
|
||||
firstCharacterKey: "/library/sections/1/firstCharacter",
|
||||
key: "random",
|
||||
title: "Randomly",
|
||||
},
|
||||
],
|
||||
field: [
|
||||
{
|
||||
key: "label",
|
||||
title: "Label",
|
||||
type: "tag",
|
||||
subType: "bitrate",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
fieldType: [
|
||||
{
|
||||
type: "resolution",
|
||||
operator: [
|
||||
{
|
||||
key: "=",
|
||||
title: "is",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
|
||||
| `mediaContainer` | [models.GetLibraryMediaContainer](../models/getlibrarymediacontainer.md) | :heavy_minus_sign: | N/A |
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user