mirror of
https://github.com/LukeHagar/plexjs.git
synced 2025-12-06 12:37:46 +00:00
Compare commits
56 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ed63eb13b9 | ||
|
|
442b11c11a | ||
|
|
c56a0f5d3c | ||
|
|
fe48f93ccb | ||
|
|
a7ec77cd04 | ||
|
|
2b38478255 | ||
|
|
6bd12d8759 | ||
|
|
891a7d39a1 | ||
|
|
763aa8e800 | ||
|
|
7a950ea773 | ||
|
|
379a408d74 | ||
|
|
2712820397 | ||
|
|
c895213ae8 | ||
|
|
c473c9d326 | ||
|
|
3c13bba9de | ||
|
|
650c5043ef | ||
|
|
0234804578 | ||
|
|
60d913c8f9 | ||
|
|
8d9f4bbaf1 | ||
|
|
5d57cd7c34 | ||
|
|
1a8e227874 | ||
|
|
8360d057ab | ||
|
|
18b64727c3 | ||
|
|
3152372037 | ||
|
|
13cd8a7fe5 | ||
|
|
cdcdc0ca8e | ||
|
|
b03cc6a609 | ||
|
|
4e989e0de3 | ||
|
|
c10e011a68 | ||
|
|
7e3dca8466 | ||
|
|
8a2d3e04ab | ||
|
|
6c8a73ae84 | ||
|
|
c839d9f6c7 | ||
|
|
77b0ef9507 | ||
|
|
1cfbd17f28 | ||
|
|
2492807c65 | ||
|
|
ead0a8773c | ||
|
|
e254f82e06 | ||
|
|
a4369c999a | ||
|
|
c50b85f29a | ||
|
|
496ebda695 | ||
|
|
d436fc3452 | ||
|
|
99cdf6effe | ||
|
|
fa2ba82f62 | ||
|
|
fd8095a8df | ||
|
|
9911164ab0 | ||
|
|
ffedf47cad | ||
|
|
39d3a40524 | ||
|
|
8dc802ca50 | ||
|
|
5465f1e74c | ||
|
|
2d100b8e75 | ||
|
|
0533836427 | ||
|
|
f0b08b9bd9 | ||
|
|
244adab882 | ||
|
|
4d8ee6c199 | ||
|
|
4fe1356250 |
@@ -1,28 +0,0 @@
|
||||
/* eslint-env node */
|
||||
module.exports = {
|
||||
root: true,
|
||||
extends: [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:import/recommended",
|
||||
"plugin:import/typescript",
|
||||
],
|
||||
parser: "@typescript-eslint/parser",
|
||||
plugins: ["@typescript-eslint"],
|
||||
settings: {
|
||||
"import/resolver": {
|
||||
typescript: true,
|
||||
node: true,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
// Handled by typescript compiler
|
||||
"@typescript-eslint/no-unused-vars": "off",
|
||||
"@typescript-eslint/ban-types": "off",
|
||||
"@typescript-eslint/no-namespace": "off",
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"import/no-named-as-default-member": "off",
|
||||
|
||||
"import/no-default-export": "error",
|
||||
},
|
||||
};
|
||||
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 }}
|
||||
16
.gitignore
vendored
16
.gitignore
vendored
@@ -1,3 +1,19 @@
|
||||
/examples/node_modules
|
||||
.env
|
||||
.env.local
|
||||
.env.*.local
|
||||
.DS_Store
|
||||
**/.speakeasy/temp/
|
||||
**/.speakeasy/logs/
|
||||
.DS_Store
|
||||
/mcp-server
|
||||
/bin
|
||||
/.eslintcache
|
||||
/.speakeasy/reports
|
||||
/react-query
|
||||
/sdk/models/errors
|
||||
/sdk/types
|
||||
/__tests__
|
||||
/funcs
|
||||
/core.*
|
||||
/esm
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
**/*
|
||||
!/FUNCTIONS.md
|
||||
!/RUNTIMES.md
|
||||
!/REACT_QUERY.md
|
||||
!/**/*.ts
|
||||
!/**/*.js
|
||||
!/**/*.mjs
|
||||
!/**/*.json
|
||||
!/**/*.map
|
||||
|
||||
/.eslintrc.js
|
||||
/eslint.config.mjs
|
||||
/cjs
|
||||
/.tshy
|
||||
/.tshy-*
|
||||
/__tests__
|
||||
|
||||
3315
.speakeasy/gen.lock
3315
.speakeasy/gen.lock
File diff suppressed because one or more lines are too long
@@ -4,38 +4,59 @@ generation:
|
||||
maintainOpenAPIOrder: true
|
||||
usageSnippets:
|
||||
optionalPropertyRendering: withExample
|
||||
sdkInitStyle: constructor
|
||||
useClassNamesForArrayFields: true
|
||||
fixes:
|
||||
nameResolutionDec2023: true
|
||||
nameResolutionFeb2025: false
|
||||
parameterOrderingFeb2024: true
|
||||
requestResponseComponentNamesFeb2024: true
|
||||
securityFeb2025: false
|
||||
sharedErrorComponentsApr2025: false
|
||||
auth:
|
||||
oAuth2ClientCredentialsEnabled: true
|
||||
oAuth2PasswordEnabled: false
|
||||
hoistGlobalSecurity: true
|
||||
tests:
|
||||
generateTests: true
|
||||
generateNewTests: false
|
||||
skipResponseBodyAssertions: false
|
||||
typescript:
|
||||
version: 0.19.0
|
||||
version: 0.40.3
|
||||
additionalDependencies:
|
||||
dependencies: {}
|
||||
devDependencies: {}
|
||||
peerDependencies: {}
|
||||
additionalPackageJSON: {}
|
||||
author: LukeHagar
|
||||
baseErrorName: PlexAPIError
|
||||
clientServerStatusCodesAsErrors: true
|
||||
constFieldsAlwaysOptional: true
|
||||
defaultErrorName: SDKError
|
||||
enableCustomCodeRegions: false
|
||||
enableMCPServer: true
|
||||
enableReactQuery: false
|
||||
enumFormat: enum
|
||||
flattenGlobalSecurity: true
|
||||
flatteningOrder: body-first
|
||||
generateExamples: true
|
||||
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
|
||||
jsonpath: legacy
|
||||
maxMethodParams: 4
|
||||
methodArguments: require-security-and-request
|
||||
moduleFormat: commonjs
|
||||
outputModelSuffix: output
|
||||
packageName: '@lukehagar/plexjs'
|
||||
responseFormat: envelope
|
||||
sseFlatResponse: false
|
||||
templateVersion: v2
|
||||
usageSDKInitImports: []
|
||||
useIndexModules: true
|
||||
|
||||
@@ -1,38 +1,47 @@
|
||||
speakeasyVersion: 1.377.1
|
||||
speakeasyVersion: 1.615.2
|
||||
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:5125adfea1b0daea399c6ecf755e32795de6b4131465ae6a1f32ad73b3bc7787
|
||||
sourceBlobDigest: sha256:95cea18b6e5f7d76d35db0aba5bcb59e72cf204451a2b09a99be0e3e9ec1f4c0
|
||||
tags:
|
||||
- latest
|
||||
- speakeasy-sdk-regen-1757895128
|
||||
- 0.0.3
|
||||
targets:
|
||||
plexjs:
|
||||
source: my-source
|
||||
sourceNamespace: my-source
|
||||
sourceRevisionDigest: sha256:4e103669d4bcf7c698608fa37524f3d644510de45959c5437c21b60b2fb2dd9f
|
||||
sourceBlobDigest: sha256:3cb937b6d66508640fa6080fa4c16ebef73a438fbb21a1f8833d6dd2e8fcd5ee
|
||||
source: plexapi
|
||||
sourceNamespace: plexapi
|
||||
sourceRevisionDigest: sha256:5125adfea1b0daea399c6ecf755e32795de6b4131465ae6a1f32ad73b3bc7787
|
||||
sourceBlobDigest: sha256:95cea18b6e5f7d76d35db0aba5bcb59e72cf204451a2b09a99be0e3e9ec1f4c0
|
||||
codeSamplesNamespace: code-samples-typescript-plexjs
|
||||
codeSamplesRevisionDigest: sha256:439dcb28ca6dc855201641d70fc56ac3a6685187d824eb3077145b6a5be15b8b
|
||||
outLocation: /github/workspace/repo
|
||||
codeSamplesRevisionDigest: sha256:1e2d6fa14f87b947de490bc7f88a36b2e43145643385bd8f728c7cdc69b56086
|
||||
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
|
||||
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/refs/heads/main/output/plex-media-server-spec-dereferenced.yaml
|
||||
registry:
|
||||
location: registry.speakeasyapi.dev/lukehagar/lukehagar/my-source
|
||||
location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi
|
||||
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
|
||||
labelOverride:
|
||||
fixedValue: PlexJS
|
||||
|
||||
@@ -1,19 +1,21 @@
|
||||
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
|
||||
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/refs/heads/main/output/plex-media-server-spec-dereferenced.yaml
|
||||
registry:
|
||||
location: registry.speakeasyapi.dev/lukehagar/lukehagar/my-source
|
||||
location: registry.speakeasyapi.dev/plexapi/plexapi/plexapi
|
||||
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
|
||||
labelOverride:
|
||||
fixedValue: PlexJS
|
||||
|
||||
28
FUNCTIONS.md
28
FUNCTIONS.md
@@ -21,39 +21,21 @@ 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";
|
||||
|
||||
// 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",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const res = await serverGetServerCapabilities(plexAPI);
|
||||
|
||||
switch (true) {
|
||||
case res.ok:
|
||||
// The success case will be handled outside of the switch block
|
||||
break;
|
||||
case res.error instanceof SDKValidationError:
|
||||
// Pretty-print validation errors.
|
||||
return console.log(res.error.pretty());
|
||||
case res.error instanceof Error:
|
||||
return console.log(res.error);
|
||||
default:
|
||||
// TypeScript's type checking will fail on the following line if the above
|
||||
// cases were not exhaustive.
|
||||
res.error satisfies never;
|
||||
throw new Error("Assertion failed: expected error checks to be exhaustive: " + res.error);
|
||||
}
|
||||
|
||||
|
||||
if (res.ok) {
|
||||
const { value: result } = res;
|
||||
|
||||
// Handle the result
|
||||
console.log(result)
|
||||
console.log(result);
|
||||
} else {
|
||||
console.log("serverGetServerCapabilities failed:", res.error);
|
||||
}
|
||||
}
|
||||
|
||||
run();
|
||||
|
||||
663
README.md
663
README.md
@@ -7,9 +7,67 @@
|
||||
</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
|
||||
<!-- $toc-max-depth=2 -->
|
||||
* [@lukehagar/plexjs](#lukehagarplexjs)
|
||||
* [Plex Media Server OpenAPI Specification](#plex-media-server-openapi-specification)
|
||||
* [Documentation](#documentation)
|
||||
* [SDKs](#sdks)
|
||||
* [SDK Installation](#sdk-installation)
|
||||
* [SDK Example Usage](#sdk-example-usage)
|
||||
* [Available Resources and Operations](#available-resources-and-operations)
|
||||
* [Error Handling](#error-handling)
|
||||
* [Server Selection](#server-selection)
|
||||
* [Custom HTTP Client](#custom-http-client)
|
||||
* [Authentication](#authentication)
|
||||
* [Requirements](#requirements)
|
||||
* [Standalone functions](#standalone-functions)
|
||||
* [File uploads](#file-uploads)
|
||||
* [Retries](#retries)
|
||||
* [Debugging](#debugging)
|
||||
* [Development](#development)
|
||||
* [Maturity](#maturity)
|
||||
* [Contributions](#contributions)
|
||||
|
||||
<!-- 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
|
||||
@@ -48,13 +106,11 @@ import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
@@ -66,33 +122,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,42 +145,34 @@ 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
|
||||
* [getLibrarySectionsAll](docs/sdks/library/README.md#getlibrarysectionsall) - Get Library section media by tag ALL
|
||||
* [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
|
||||
* [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library
|
||||
* [getGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media
|
||||
* [getCountriesLibrary](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media
|
||||
* [getActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media
|
||||
* [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
|
||||
* [getMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
|
||||
* [getMediaArts](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork
|
||||
* [postMediaArts](docs/sdks/library/README.md#postmediaarts) - Upload Media Background Artwork
|
||||
* [getMediaPosters](docs/sdks/library/README.md#getmediaposters) - Get Media Posters
|
||||
* [postMediaPoster](docs/sdks/library/README.md#postmediaposter) - Upload Media Poster
|
||||
* [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
|
||||
|
||||
### [log](docs/sdks/log/README.md)
|
||||
|
||||
@@ -144,6 +180,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 +200,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,99 +236,291 @@ 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)
|
||||
### [users](docs/sdks/users/README.md)
|
||||
|
||||
* [postUsersSigninData](docs/sdks/user/README.md#postuserssignindata) - Get User SignIn Data
|
||||
* [getUsers](docs/sdks/users/README.md#getusers) - Get list of all connected users
|
||||
|
||||
### [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
|
||||
|
||||
### [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.
|
||||
|
||||
| Error Object | Status Code | Content Type |
|
||||
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- |
|
||||
| models.GetServerCapabilitiesServerResponseBody | 401 | application/json |
|
||||
| models.SDKError | 4xx-5xx | */* |
|
||||
|
||||
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.
|
||||
[`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts) is the base class for all HTTP error responses. It has the following properties:
|
||||
|
||||
| Property | Type | Description |
|
||||
| ------------------- | ---------- | --------------------------------------------------------------------------------------- |
|
||||
| `error.message` | `string` | Error message |
|
||||
| `error.statusCode` | `number` | HTTP response status code eg `404` |
|
||||
| `error.headers` | `Headers` | HTTP response headers |
|
||||
| `error.body` | `string` | HTTP body. Can be empty string if no body is returned. |
|
||||
| `error.rawResponse` | `Response` | Raw HTTP response |
|
||||
| `error.data$` | | Optional. Some errors may contain structured data. [See Error Classes](#error-classes). |
|
||||
|
||||
### Example
|
||||
```typescript
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
import { SDKValidationError } from "@lukehagar/plexjs/models";
|
||||
import * as errors from "@lukehagar/plexjs/sdk/models/errors";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
});
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
} catch (error) {
|
||||
// The base class for HTTP error responses
|
||||
if (error instanceof errors.PlexAPIError) {
|
||||
console.log(error.message);
|
||||
console.log(error.statusCode);
|
||||
console.log(error.body);
|
||||
console.log(error.headers);
|
||||
|
||||
// Depending on the method different errors may be thrown
|
||||
if (error instanceof errors.GetServerCapabilitiesBadRequest) {
|
||||
console.log(error.data$.errors); // Errors[]
|
||||
console.log(error.data$.rawResponse); // Response
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
run();
|
||||
|
||||
```
|
||||
|
||||
### Error Classes
|
||||
**Primary error:**
|
||||
* [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts): The base class for HTTP error responses.
|
||||
|
||||
<details><summary>Less common errors (162)</summary>
|
||||
|
||||
<br />
|
||||
|
||||
**Network errors:**
|
||||
* [`ConnectionError`](./src/sdk/models/errors/httpclienterrors.ts): HTTP client was unable to make a request to a server.
|
||||
* [`RequestTimeoutError`](./src/sdk/models/errors/httpclienterrors.ts): HTTP request timed out due to an AbortSignal signal.
|
||||
* [`RequestAbortedError`](./src/sdk/models/errors/httpclienterrors.ts): HTTP request was aborted by the client.
|
||||
* [`InvalidRequestError`](./src/sdk/models/errors/httpclienterrors.ts): Any input used to create a request is invalid.
|
||||
* [`UnexpectedClientError`](./src/sdk/models/errors/httpclienterrors.ts): Unrecognised or unexpected error.
|
||||
|
||||
|
||||
**Inherit from [`PlexAPIError`](./src/sdk/models/errors/plexapierror.ts)**:
|
||||
* [`GetServerCapabilitiesBadRequest`](./src/sdk/models/errors/getservercapabilitiesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetServerPreferencesBadRequest`](./src/sdk/models/errors/getserverpreferencesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetAvailableClientsBadRequest`](./src/sdk/models/errors/getavailableclientsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetDevicesBadRequest`](./src/sdk/models/errors/getdevicesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetMyPlexAccountBadRequest`](./src/sdk/models/errors/getmyplexaccountbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetResizedPhotoBadRequest`](./src/sdk/models/errors/getresizedphotobadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetMediaProvidersBadRequest`](./src/sdk/models/errors/getmediaprovidersbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetServerListBadRequest`](./src/sdk/models/errors/getserverlistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`MarkPlayedBadRequest`](./src/sdk/models/errors/markplayedbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`MarkUnplayedBadRequest`](./src/sdk/models/errors/markunplayedbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`UpdatePlayProgressBadRequest`](./src/sdk/models/errors/updateplayprogressbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetBannerImageBadRequest`](./src/sdk/models/errors/getbannerimagebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetThumbImageBadRequest`](./src/sdk/models/errors/getthumbimagebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTimelineBadRequest`](./src/sdk/models/errors/gettimelinebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`StartUniversalTranscodeBadRequest`](./src/sdk/models/errors/startuniversaltranscodebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetServerActivitiesBadRequest`](./src/sdk/models/errors/getserveractivitiesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`CancelServerActivitiesBadRequest`](./src/sdk/models/errors/cancelserveractivitiesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetButlerTasksBadRequest`](./src/sdk/models/errors/getbutlertasksbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`StartAllTasksBadRequest`](./src/sdk/models/errors/startalltasksbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`StopAllTasksBadRequest`](./src/sdk/models/errors/stopalltasksbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`StartTaskBadRequest`](./src/sdk/models/errors/starttaskbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`StopTaskBadRequest`](./src/sdk/models/errors/stoptaskbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetCompanionsDataBadRequest`](./src/sdk/models/errors/getcompanionsdatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetUserFriendsBadRequest`](./src/sdk/models/errors/getuserfriendsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetGeoDataBadRequest`](./src/sdk/models/errors/getgeodatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetHomeDataBadRequest`](./src/sdk/models/errors/gethomedatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetServerResourcesBadRequest`](./src/sdk/models/errors/getserverresourcesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetPinBadRequest`](./src/sdk/models/errors/getpinbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTokenByPinIdBadRequest`](./src/sdk/models/errors/gettokenbypinidbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetGlobalHubsBadRequest`](./src/sdk/models/errors/getglobalhubsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetLibraryHubsBadRequest`](./src/sdk/models/errors/getlibraryhubsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`PerformSearchBadRequest`](./src/sdk/models/errors/performsearchbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`PerformVoiceSearchBadRequest`](./src/sdk/models/errors/performvoicesearchbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSearchResultsBadRequest`](./src/sdk/models/errors/getsearchresultsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetFileHashBadRequest`](./src/sdk/models/errors/getfilehashbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetRecentlyAddedLibraryBadRequest`](./src/sdk/models/errors/getrecentlyaddedlibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetAllLibrariesBadRequest`](./src/sdk/models/errors/getalllibrariesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetLibraryDetailsBadRequest`](./src/sdk/models/errors/getlibrarydetailsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`DeleteLibraryBadRequest`](./src/sdk/models/errors/deletelibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetLibraryItemsBadRequest`](./src/sdk/models/errors/getlibraryitemsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetLibrarySectionsAllBadRequest`](./src/sdk/models/errors/getlibrarysectionsallbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetRefreshLibraryMetadataBadRequest`](./src/sdk/models/errors/getrefreshlibrarymetadatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSearchLibraryBadRequest`](./src/sdk/models/errors/getsearchlibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetGenresLibraryBadRequest`](./src/sdk/models/errors/getgenreslibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetCountriesLibraryBadRequest`](./src/sdk/models/errors/getcountrieslibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetActorsLibraryBadRequest`](./src/sdk/models/errors/getactorslibrarybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSearchAllLibrariesBadRequest`](./src/sdk/models/errors/getsearchalllibrariesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetMediaMetaDataBadRequest`](./src/sdk/models/errors/getmediametadatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetMetadataChildrenBadRequest`](./src/sdk/models/errors/getmetadatachildrenbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTopWatchedContentBadRequest`](./src/sdk/models/errors/gettopwatchedcontentbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetWatchListBadRequest`](./src/sdk/models/errors/getwatchlistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`LogLineBadRequest`](./src/sdk/models/errors/loglinebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`LogMultiLineBadRequest`](./src/sdk/models/errors/logmultilinebadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`EnablePaperTrailBadRequest`](./src/sdk/models/errors/enablepapertrailbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`CreatePlaylistBadRequest`](./src/sdk/models/errors/createplaylistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetPlaylistsBadRequest`](./src/sdk/models/errors/getplaylistsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetPlaylistBadRequest`](./src/sdk/models/errors/getplaylistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`DeletePlaylistBadRequest`](./src/sdk/models/errors/deleteplaylistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`UpdatePlaylistBadRequest`](./src/sdk/models/errors/updateplaylistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetPlaylistContentsBadRequest`](./src/sdk/models/errors/getplaylistcontentsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`ClearPlaylistContentsBadRequest`](./src/sdk/models/errors/clearplaylistcontentsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`AddPlaylistContentsBadRequest`](./src/sdk/models/errors/addplaylistcontentsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`UploadPlaylistBadRequest`](./src/sdk/models/errors/uploadplaylistbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTransientTokenBadRequest`](./src/sdk/models/errors/gettransienttokenbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSourceConnectionInformationBadRequest`](./src/sdk/models/errors/getsourceconnectioninformationbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTokenDetailsBadRequest`](./src/sdk/models/errors/gettokendetailsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`PostUsersSignInDataBadRequest`](./src/sdk/models/errors/postuserssignindatabadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetStatisticsBadRequest`](./src/sdk/models/errors/getstatisticsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetResourcesStatisticsBadRequest`](./src/sdk/models/errors/getresourcesstatisticsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetBandwidthStatisticsBadRequest`](./src/sdk/models/errors/getbandwidthstatisticsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSessionsBadRequest`](./src/sdk/models/errors/getsessionsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSessionHistoryBadRequest`](./src/sdk/models/errors/getsessionhistorybadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTranscodeSessionsBadRequest`](./src/sdk/models/errors/gettranscodesessionsbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`StopTranscodeSessionBadRequest`](./src/sdk/models/errors/stoptranscodesessionbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetUpdateStatusBadRequest`](./src/sdk/models/errors/getupdatestatusbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`CheckForUpdatesBadRequest`](./src/sdk/models/errors/checkforupdatesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`ApplyUpdatesBadRequest`](./src/sdk/models/errors/applyupdatesbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetUsersBadRequest`](./src/sdk/models/errors/getusersbadrequest.ts): Bad Request - A parameter was not specified, or was specified incorrectly. Status code `400`. Applicable to 1 of 84 methods.*
|
||||
* [`GetServerCapabilitiesUnauthorized`](./src/sdk/models/errors/getservercapabilitiesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetServerPreferencesUnauthorized`](./src/sdk/models/errors/getserverpreferencesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetAvailableClientsUnauthorized`](./src/sdk/models/errors/getavailableclientsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetDevicesUnauthorized`](./src/sdk/models/errors/getdevicesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetMyPlexAccountUnauthorized`](./src/sdk/models/errors/getmyplexaccountunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetResizedPhotoUnauthorized`](./src/sdk/models/errors/getresizedphotounauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetMediaProvidersUnauthorized`](./src/sdk/models/errors/getmediaprovidersunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetServerListUnauthorized`](./src/sdk/models/errors/getserverlistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`MarkPlayedUnauthorized`](./src/sdk/models/errors/markplayedunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`MarkUnplayedUnauthorized`](./src/sdk/models/errors/markunplayedunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`UpdatePlayProgressUnauthorized`](./src/sdk/models/errors/updateplayprogressunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetBannerImageUnauthorized`](./src/sdk/models/errors/getbannerimageunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetThumbImageUnauthorized`](./src/sdk/models/errors/getthumbimageunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTimelineUnauthorized`](./src/sdk/models/errors/gettimelineunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`StartUniversalTranscodeUnauthorized`](./src/sdk/models/errors/startuniversaltranscodeunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetServerActivitiesUnauthorized`](./src/sdk/models/errors/getserveractivitiesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`CancelServerActivitiesUnauthorized`](./src/sdk/models/errors/cancelserveractivitiesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetButlerTasksUnauthorized`](./src/sdk/models/errors/getbutlertasksunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`StartAllTasksUnauthorized`](./src/sdk/models/errors/startalltasksunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`StopAllTasksUnauthorized`](./src/sdk/models/errors/stopalltasksunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`StartTaskUnauthorized`](./src/sdk/models/errors/starttaskunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`StopTaskUnauthorized`](./src/sdk/models/errors/stoptaskunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetCompanionsDataUnauthorized`](./src/sdk/models/errors/getcompanionsdataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetUserFriendsUnauthorized`](./src/sdk/models/errors/getuserfriendsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetGeoDataUnauthorized`](./src/sdk/models/errors/getgeodataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetHomeDataUnauthorized`](./src/sdk/models/errors/gethomedataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetServerResourcesUnauthorized`](./src/sdk/models/errors/getserverresourcesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetGlobalHubsUnauthorized`](./src/sdk/models/errors/getglobalhubsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetLibraryHubsUnauthorized`](./src/sdk/models/errors/getlibraryhubsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`PerformSearchUnauthorized`](./src/sdk/models/errors/performsearchunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`PerformVoiceSearchUnauthorized`](./src/sdk/models/errors/performvoicesearchunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSearchResultsUnauthorized`](./src/sdk/models/errors/getsearchresultsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetFileHashUnauthorized`](./src/sdk/models/errors/getfilehashunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetRecentlyAddedLibraryUnauthorized`](./src/sdk/models/errors/getrecentlyaddedlibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetAllLibrariesUnauthorized`](./src/sdk/models/errors/getalllibrariesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetLibraryDetailsUnauthorized`](./src/sdk/models/errors/getlibrarydetailsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`DeleteLibraryUnauthorized`](./src/sdk/models/errors/deletelibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetLibraryItemsUnauthorized`](./src/sdk/models/errors/getlibraryitemsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetLibrarySectionsAllUnauthorized`](./src/sdk/models/errors/getlibrarysectionsallunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetRefreshLibraryMetadataUnauthorized`](./src/sdk/models/errors/getrefreshlibrarymetadataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSearchLibraryUnauthorized`](./src/sdk/models/errors/getsearchlibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetGenresLibraryUnauthorized`](./src/sdk/models/errors/getgenreslibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetCountriesLibraryUnauthorized`](./src/sdk/models/errors/getcountrieslibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetActorsLibraryUnauthorized`](./src/sdk/models/errors/getactorslibraryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSearchAllLibrariesUnauthorized`](./src/sdk/models/errors/getsearchalllibrariesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetMediaMetaDataUnauthorized`](./src/sdk/models/errors/getmediametadataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetMetadataChildrenUnauthorized`](./src/sdk/models/errors/getmetadatachildrenunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTopWatchedContentUnauthorized`](./src/sdk/models/errors/gettopwatchedcontentunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetWatchListUnauthorized`](./src/sdk/models/errors/getwatchlistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`LogLineUnauthorized`](./src/sdk/models/errors/loglineunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`LogMultiLineUnauthorized`](./src/sdk/models/errors/logmultilineunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`EnablePaperTrailUnauthorized`](./src/sdk/models/errors/enablepapertrailunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`CreatePlaylistUnauthorized`](./src/sdk/models/errors/createplaylistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetPlaylistsUnauthorized`](./src/sdk/models/errors/getplaylistsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetPlaylistUnauthorized`](./src/sdk/models/errors/getplaylistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`DeletePlaylistUnauthorized`](./src/sdk/models/errors/deleteplaylistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`UpdatePlaylistUnauthorized`](./src/sdk/models/errors/updateplaylistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetPlaylistContentsUnauthorized`](./src/sdk/models/errors/getplaylistcontentsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`ClearPlaylistContentsUnauthorized`](./src/sdk/models/errors/clearplaylistcontentsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`AddPlaylistContentsUnauthorized`](./src/sdk/models/errors/addplaylistcontentsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`UploadPlaylistUnauthorized`](./src/sdk/models/errors/uploadplaylistunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTransientTokenUnauthorized`](./src/sdk/models/errors/gettransienttokenunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSourceConnectionInformationUnauthorized`](./src/sdk/models/errors/getsourceconnectioninformationunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTokenDetailsUnauthorized`](./src/sdk/models/errors/gettokendetailsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`PostUsersSignInDataUnauthorized`](./src/sdk/models/errors/postuserssignindataunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetStatisticsUnauthorized`](./src/sdk/models/errors/getstatisticsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetResourcesStatisticsUnauthorized`](./src/sdk/models/errors/getresourcesstatisticsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetBandwidthStatisticsUnauthorized`](./src/sdk/models/errors/getbandwidthstatisticsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSessionsUnauthorized`](./src/sdk/models/errors/getsessionsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetSessionHistoryUnauthorized`](./src/sdk/models/errors/getsessionhistoryunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTranscodeSessionsUnauthorized`](./src/sdk/models/errors/gettranscodesessionsunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`StopTranscodeSessionUnauthorized`](./src/sdk/models/errors/stoptranscodesessionunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetUpdateStatusUnauthorized`](./src/sdk/models/errors/getupdatestatusunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`CheckForUpdatesUnauthorized`](./src/sdk/models/errors/checkforupdatesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`ApplyUpdatesUnauthorized`](./src/sdk/models/errors/applyupdatesunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetUsersUnauthorized`](./src/sdk/models/errors/getusersunauthorized.ts): Unauthorized - Returned if the X-Plex-Token is missing from the header or query. Status code `401`. Applicable to 1 of 84 methods.*
|
||||
* [`GetTokenByPinIdResponseBody`](./src/sdk/models/errors/gettokenbypinidresponsebody.ts): Not Found or Expired. Status code `404`. Applicable to 1 of 84 methods.*
|
||||
* [`GetServerIdentityRequestTimeout`](./src/sdk/models/errors/getserveridentityrequesttimeout.ts): Request Timeout. Status code `408`. Applicable to 1 of 84 methods.*
|
||||
* [`ResponseValidationError`](./src/sdk/models/errors/responsevalidationerror.ts): Type mismatch between the data returned from the server and the structure expected by the SDK. See `error.rawValue` for the raw value and `error.pretty()` for a nicely formatted multi-line string.
|
||||
|
||||
</details>
|
||||
|
||||
\* Check [the method documentation](#available-resources-and-operations) to see if the error is applicable.
|
||||
<!-- End Error Handling [errors] -->
|
||||
|
||||
<!-- Start Server Selection [server] -->
|
||||
## Server Selection
|
||||
|
||||
### Select Server by Index
|
||||
### Server Variables
|
||||
|
||||
You can override the default server globally by passing a server index to the `serverIdx` optional parameter when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers:
|
||||
The default server `{protocol}://{ip}:{port}` contains variables and is set to `https://10.10.10.47:32400` by default. To override default values, the following parameters are available when initializing the SDK client instance:
|
||||
|
||||
| # | Server | Variables |
|
||||
| - | ------ | --------- |
|
||||
| 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `http`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
|
||||
| Variable | Parameter | Supported Values | Default | Description |
|
||||
| ---------- | --------------------------------- | -------------------------- | --------------- | ---------------------------------------------- |
|
||||
| `protocol` | `protocol: models.ServerProtocol` | - `"http"`<br/>- `"https"` | `"https"` | The protocol to use for the server connection |
|
||||
| `ip` | `ip: string` | string | `"10.10.10.47"` | The IP address or hostname of your Plex Server |
|
||||
| `port` | `port: string` | string | `"32400"` | The port of your Plex Server |
|
||||
|
||||
#### Example
|
||||
|
||||
```typescript
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
serverIdx: 0,
|
||||
protocol: "https",
|
||||
ip: "4982:bc2a:b4f8:efb5:2394:5bc3:ab4f:0e6d",
|
||||
port: "44765",
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
@@ -274,46 +528,35 @@ run();
|
||||
|
||||
```
|
||||
|
||||
#### Variables
|
||||
|
||||
Some of the server options above contain variables. If you want to set the values of those variables, the following optional parameters are available when initializing the SDK client instance:
|
||||
* `protocol: models.ServerProtocol`
|
||||
* `ip: string`
|
||||
* `port: string`
|
||||
|
||||
### Override Server URL Per-Client
|
||||
|
||||
The default server can also be overridden globally by passing a URL to the `serverURL` optional parameter when initializing the SDK client instance. For example:
|
||||
|
||||
The default server can be overridden globally by passing a URL to the `serverURL: string` optional parameter when initializing the SDK client instance. For example:
|
||||
```typescript
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
serverURL: "{protocol}://{ip}:{port}",
|
||||
serverURL: "https://10.10.10.47:32400",
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
run();
|
||||
|
||||
```
|
||||
|
||||
### Override Server URL Per-Operation
|
||||
|
||||
The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example:
|
||||
|
||||
```typescript
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
@@ -321,7 +564,6 @@ async function run() {
|
||||
serverURL: "https://plex.tv/api/v2",
|
||||
});
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
@@ -387,7 +629,7 @@ const sdk = new PlexAPI({ httpClient });
|
||||
This SDK supports the following security scheme globally:
|
||||
|
||||
| Name | Type | Scheme |
|
||||
| ------------- | ------------- | ------------- |
|
||||
| ------------- | ------ | ------- |
|
||||
| `accessToken` | apiKey | API key |
|
||||
|
||||
To authenticate with the API the `accessToken` parameter must be set when initializing the SDK client instance. For example:
|
||||
@@ -396,13 +638,11 @@ import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
@@ -432,82 +672,129 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
|
||||
|
||||
<summary>Available standalone functions</summary>
|
||||
|
||||
- [activitiesCancelServerActivities](docs/sdks/activities/README.md#cancelserveractivities)
|
||||
- [activitiesGetServerActivities](docs/sdks/activities/README.md#getserveractivities)
|
||||
- [authenticationGetSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation)
|
||||
- [authenticationGetTransientToken](docs/sdks/authentication/README.md#gettransienttoken)
|
||||
- [butlerGetButlerTasks](docs/sdks/butler/README.md#getbutlertasks)
|
||||
- [butlerStartAllTasks](docs/sdks/butler/README.md#startalltasks)
|
||||
- [butlerStartTask](docs/sdks/butler/README.md#starttask)
|
||||
- [butlerStopAllTasks](docs/sdks/butler/README.md#stopalltasks)
|
||||
- [butlerStopTask](docs/sdks/butler/README.md#stoptask)
|
||||
- [hubsGetGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs)
|
||||
- [hubsGetLibraryHubs](docs/sdks/hubs/README.md#getlibraryhubs)
|
||||
- [libraryDeleteLibrary](docs/sdks/library/README.md#deletelibrary)
|
||||
- [libraryGetFileHash](docs/sdks/library/README.md#getfilehash)
|
||||
- [libraryGetLibraries](docs/sdks/library/README.md#getlibraries)
|
||||
- [libraryGetLibraryItems](docs/sdks/library/README.md#getlibraryitems)
|
||||
- [libraryGetLibrary](docs/sdks/library/README.md#getlibrary)
|
||||
- [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)
|
||||
- [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)
|
||||
- [mediaMarkPlayed](docs/sdks/media/README.md#markplayed)
|
||||
- [mediaMarkUnplayed](docs/sdks/media/README.md#markunplayed)
|
||||
- [mediaUpdatePlayProgress](docs/sdks/media/README.md#updateplayprogress)
|
||||
- [playlistsAddPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents)
|
||||
- [playlistsClearPlaylistContents](docs/sdks/playlists/README.md#clearplaylistcontents)
|
||||
- [playlistsCreatePlaylist](docs/sdks/playlists/README.md#createplaylist)
|
||||
- [playlistsDeletePlaylist](docs/sdks/playlists/README.md#deleteplaylist)
|
||||
- [playlistsGetPlaylistContents](docs/sdks/playlists/README.md#getplaylistcontents)
|
||||
- [playlistsGetPlaylist](docs/sdks/playlists/README.md#getplaylist)
|
||||
- [playlistsGetPlaylists](docs/sdks/playlists/README.md#getplaylists)
|
||||
- [playlistsUpdatePlaylist](docs/sdks/playlists/README.md#updateplaylist)
|
||||
- [playlistsUploadPlaylist](docs/sdks/playlists/README.md#uploadplaylist)
|
||||
- [plexGetCompanionsData](docs/sdks/plex/README.md#getcompanionsdata)
|
||||
- [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)
|
||||
- [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)
|
||||
- [serverGetMyPlexAccount](docs/sdks/server/README.md#getmyplexaccount)
|
||||
- [serverGetResizedPhoto](docs/sdks/server/README.md#getresizedphoto)
|
||||
- [serverGetServerCapabilities](docs/sdks/server/README.md#getservercapabilities)
|
||||
- [serverGetServerIdentity](docs/sdks/server/README.md#getserveridentity)
|
||||
- [serverGetServerList](docs/sdks/server/README.md#getserverlist)
|
||||
- [serverGetServerPreferences](docs/sdks/server/README.md#getserverpreferences)
|
||||
- [sessionsGetSessionHistory](docs/sdks/sessions/README.md#getsessionhistory)
|
||||
- [sessionsGetSessions](docs/sdks/sessions/README.md#getsessions)
|
||||
- [sessionsGetTranscodeSessions](docs/sdks/sessions/README.md#gettranscodesessions)
|
||||
- [sessionsStopTranscodeSession](docs/sdks/sessions/README.md#stoptranscodesession)
|
||||
- [statisticsGetBandwidthStatistics](docs/sdks/statistics/README.md#getbandwidthstatistics)
|
||||
- [statisticsGetResourcesStatistics](docs/sdks/statistics/README.md#getresourcesstatistics)
|
||||
- [statisticsGetStatistics](docs/sdks/statistics/README.md#getstatistics)
|
||||
- [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)
|
||||
|
||||
- [`activitiesCancelServerActivities`](docs/sdks/activities/README.md#cancelserveractivities) - Cancel Server Activities
|
||||
- [`activitiesGetServerActivities`](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities
|
||||
- [`authenticationGetSourceConnectionInformation`](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information
|
||||
- [`authenticationGetTokenDetails`](docs/sdks/authentication/README.md#gettokendetails) - Get Token Details
|
||||
- [`authenticationGetTransientToken`](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token
|
||||
- [`authenticationPostUsersSignInData`](docs/sdks/authentication/README.md#postuserssignindata) - Get User Sign In Data
|
||||
- [`butlerGetButlerTasks`](docs/sdks/butler/README.md#getbutlertasks) - Get Butler tasks
|
||||
- [`butlerStartAllTasks`](docs/sdks/butler/README.md#startalltasks) - Start all Butler tasks
|
||||
- [`butlerStartTask`](docs/sdks/butler/README.md#starttask) - Start a single Butler task
|
||||
- [`butlerStopAllTasks`](docs/sdks/butler/README.md#stopalltasks) - Stop all Butler tasks
|
||||
- [`butlerStopTask`](docs/sdks/butler/README.md#stoptask) - Stop a single Butler task
|
||||
- [`hubsGetGlobalHubs`](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs
|
||||
- [`hubsGetLibraryHubs`](docs/sdks/hubs/README.md#getlibraryhubs) - Get library specific hubs
|
||||
- [`hubsGetRecentlyAdded`](docs/sdks/hubs/README.md#getrecentlyadded) - Get Recently Added
|
||||
- [`libraryDeleteLibrary`](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
|
||||
- [`libraryGetActorsLibrary`](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media
|
||||
- [`libraryGetAllLibraries`](docs/sdks/library/README.md#getalllibraries) - Get All Libraries
|
||||
- [`libraryGetCountriesLibrary`](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media
|
||||
- [`libraryGetFileHash`](docs/sdks/library/README.md#getfilehash) - Get Hash Value
|
||||
- [`libraryGetGenresLibrary`](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media
|
||||
- [`libraryGetLibraryDetails`](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
|
||||
- [`libraryGetLibraryItems`](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
|
||||
- [`libraryGetLibrarySectionsAll`](docs/sdks/library/README.md#getlibrarysectionsall) - Get Library section media by tag ALL
|
||||
- [`libraryGetMediaArts`](docs/sdks/library/README.md#getmediaarts) - Get Media Background Artwork
|
||||
- [`libraryGetMediaMetaData`](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
|
||||
- [`libraryGetMediaPosters`](docs/sdks/library/README.md#getmediaposters) - Get Media Posters
|
||||
- [`libraryGetMetadataChildren`](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
|
||||
- [`libraryGetRecentlyAddedLibrary`](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added
|
||||
- [`libraryGetRefreshLibraryMetadata`](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
|
||||
- [`libraryGetSearchAllLibraries`](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries
|
||||
- [`libraryGetSearchLibrary`](docs/sdks/library/README.md#getsearchlibrary) - Search Library
|
||||
- [`libraryGetTopWatchedContent`](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
|
||||
- [`libraryPostMediaArts`](docs/sdks/library/README.md#postmediaarts) - Upload Media Background Artwork
|
||||
- [`libraryPostMediaPoster`](docs/sdks/library/README.md#postmediaposter) - Upload Media Poster
|
||||
- [`logEnablePaperTrail`](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail
|
||||
- [`logLogLine`](docs/sdks/log/README.md#logline) - Logging a single line message.
|
||||
- [`logLogMultiLine`](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message
|
||||
- [`mediaGetBannerImage`](docs/sdks/media/README.md#getbannerimage) - Get Banner Image
|
||||
- [`mediaGetThumbImage`](docs/sdks/media/README.md#getthumbimage) - Get Thumb Image
|
||||
- [`mediaMarkPlayed`](docs/sdks/media/README.md#markplayed) - Mark Media Played
|
||||
- [`mediaMarkUnplayed`](docs/sdks/media/README.md#markunplayed) - Mark Media Unplayed
|
||||
- [`mediaUpdatePlayProgress`](docs/sdks/media/README.md#updateplayprogress) - Update Media Play Progress
|
||||
- [`playlistsAddPlaylistContents`](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist
|
||||
- [`playlistsClearPlaylistContents`](docs/sdks/playlists/README.md#clearplaylistcontents) - Delete Playlist Contents
|
||||
- [`playlistsCreatePlaylist`](docs/sdks/playlists/README.md#createplaylist) - Create a Playlist
|
||||
- [`playlistsDeletePlaylist`](docs/sdks/playlists/README.md#deleteplaylist) - Deletes a Playlist
|
||||
- [`playlistsGetPlaylist`](docs/sdks/playlists/README.md#getplaylist) - Retrieve Playlist
|
||||
- [`playlistsGetPlaylistContents`](docs/sdks/playlists/README.md#getplaylistcontents) - Retrieve Playlist Contents
|
||||
- [`playlistsGetPlaylists`](docs/sdks/playlists/README.md#getplaylists) - Get All Playlists
|
||||
- [`playlistsUpdatePlaylist`](docs/sdks/playlists/README.md#updateplaylist) - Update a Playlist
|
||||
- [`playlistsUploadPlaylist`](docs/sdks/playlists/README.md#uploadplaylist) - Upload Playlist
|
||||
- [`plexGetCompanionsData`](docs/sdks/plex/README.md#getcompanionsdata) - Get Companions Data
|
||||
- [`plexGetGeoData`](docs/sdks/plex/README.md#getgeodata) - Get Geo Data
|
||||
- [`plexGetHomeData`](docs/sdks/plex/README.md#gethomedata) - Get Plex Home Data
|
||||
- [`plexGetPin`](docs/sdks/plex/README.md#getpin) - Get a Pin
|
||||
- [`plexGetServerResources`](docs/sdks/plex/README.md#getserverresources) - Get Server Resources
|
||||
- [`plexGetTokenByPinId`](docs/sdks/plex/README.md#gettokenbypinid) - Get Access Token by PinId
|
||||
- [`plexGetUserFriends`](docs/sdks/plex/README.md#getuserfriends) - Get list of friends of the user logged in
|
||||
- [`searchGetSearchResults`](docs/sdks/search/README.md#getsearchresults) - Get Search Results
|
||||
- [`searchPerformSearch`](docs/sdks/search/README.md#performsearch) - Perform a search
|
||||
- [`searchPerformVoiceSearch`](docs/sdks/search/README.md#performvoicesearch) - Perform a voice search
|
||||
- [`serverGetAvailableClients`](docs/sdks/server/README.md#getavailableclients) - Get Available Clients
|
||||
- [`serverGetDevices`](docs/sdks/server/README.md#getdevices) - Get Devices
|
||||
- [`serverGetMediaProviders`](docs/sdks/server/README.md#getmediaproviders) - Get Media Providers
|
||||
- [`serverGetMyPlexAccount`](docs/sdks/server/README.md#getmyplexaccount) - Get MyPlex Account
|
||||
- [`serverGetResizedPhoto`](docs/sdks/server/README.md#getresizedphoto) - Get a Resized Photo
|
||||
- [`serverGetServerCapabilities`](docs/sdks/server/README.md#getservercapabilities) - Get Server Capabilities
|
||||
- [`serverGetServerIdentity`](docs/sdks/server/README.md#getserveridentity) - Get Server Identity
|
||||
- [`serverGetServerList`](docs/sdks/server/README.md#getserverlist) - Get Server List
|
||||
- [`serverGetServerPreferences`](docs/sdks/server/README.md#getserverpreferences) - Get Server Preferences
|
||||
- [`sessionsGetSessionHistory`](docs/sdks/sessions/README.md#getsessionhistory) - Get Session History
|
||||
- [`sessionsGetSessions`](docs/sdks/sessions/README.md#getsessions) - Get Active Sessions
|
||||
- [`sessionsGetTranscodeSessions`](docs/sdks/sessions/README.md#gettranscodesessions) - Get Transcode Sessions
|
||||
- [`sessionsStopTranscodeSession`](docs/sdks/sessions/README.md#stoptranscodesession) - Stop a Transcode Session
|
||||
- [`statisticsGetBandwidthStatistics`](docs/sdks/statistics/README.md#getbandwidthstatistics) - Get Bandwidth Statistics
|
||||
- [`statisticsGetResourcesStatistics`](docs/sdks/statistics/README.md#getresourcesstatistics) - Get Resources Statistics
|
||||
- [`statisticsGetStatistics`](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics
|
||||
- [`updaterApplyUpdates`](docs/sdks/updater/README.md#applyupdates) - Apply Updates
|
||||
- [`updaterCheckForUpdates`](docs/sdks/updater/README.md#checkforupdates) - Checking for updates
|
||||
- [`updaterGetUpdateStatus`](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates
|
||||
- [`usersGetUsers`](docs/sdks/users/README.md#getusers) - Get list of all connected users
|
||||
- [`videoGetTimeline`](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item
|
||||
- [`videoStartUniversalTranscode`](docs/sdks/video/README.md#startuniversaltranscode) - Start Universal Transcode
|
||||
- [`watchlistGetWatchList`](docs/sdks/watchlist/README.md#getwatchlist) - Get User Watchlist
|
||||
|
||||
</details>
|
||||
<!-- End Standalone functions [standalone-funcs] -->
|
||||
|
||||
<!-- Start File uploads [file-upload] -->
|
||||
## File uploads
|
||||
|
||||
Certain SDK methods accept files as part of a multi-part request. It is possible and typically recommended to upload files as a stream rather than reading the entire contents into memory. This avoids excessive memory consumption and potentially crashing with out-of-memory errors when working with very large files. The following example demonstrates how to attach a file stream to a request.
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> Depending on your JavaScript runtime, there are convenient utilities that return a handle to a file without reading the entire contents into memory:
|
||||
>
|
||||
> - **Node.js v20+:** Since v20, Node.js comes with a native `openAsBlob` function in [`node:fs`](https://nodejs.org/docs/latest-v20.x/api/fs.html#fsopenasblobpath-options).
|
||||
> - **Bun:** The native [`Bun.file`](https://bun.sh/docs/api/file-io#reading-files-bun-file) function produces a file handle that can be used for streaming file uploads.
|
||||
> - **Browsers:** All supported browsers return an instance to a [`File`](https://developer.mozilla.org/en-US/docs/Web/API/File) when reading the value from an `<input type="file">` element.
|
||||
> - **Node.js v18:** A file stream can be created using the `fileFrom` helper from [`fetch-blob/from.js`](https://www.npmjs.com/package/fetch-blob).
|
||||
|
||||
```typescript
|
||||
import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.library.postMediaArts(
|
||||
2268,
|
||||
"https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b",
|
||||
);
|
||||
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
run();
|
||||
|
||||
```
|
||||
<!-- End File uploads [file-upload] -->
|
||||
|
||||
<!-- Start Retries [retries] -->
|
||||
## Retries
|
||||
|
||||
@@ -519,7 +806,6 @@ import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
@@ -536,7 +822,6 @@ async function run() {
|
||||
},
|
||||
});
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
@@ -560,13 +845,11 @@ const plexAPI = new PlexAPI({
|
||||
retryConnectionErrors: false,
|
||||
},
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
|
||||
460
RELEASES.md
460
RELEASES.md
@@ -939,3 +939,463 @@ 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 - .
|
||||
|
||||
## 2024-10-03 12:26:50
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.406.0 (2.429.0) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.26.1] .
|
||||
### Releases
|
||||
- [NPM v0.26.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.26.1 - .
|
||||
|
||||
## 2024-11-11 20:28:21
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.28.0] .
|
||||
### Releases
|
||||
- [NPM v0.28.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.28.0 - .
|
||||
|
||||
## 2024-11-14 00:09:39
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.30.0] .
|
||||
### Releases
|
||||
- [NPM v0.30.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.30.0 - .
|
||||
|
||||
## 2024-12-16 22:17:52
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.405.6 (2.428.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.31.1] .
|
||||
### Releases
|
||||
- [NPM v0.31.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.31.1 - .
|
||||
|
||||
## 2024-12-20 16:01:16
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.456.1 (2.481.0) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.32.0] .
|
||||
### Releases
|
||||
- [NPM v0.32.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.0 - .
|
||||
|
||||
## 2024-12-22 00:10:48
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.459.2 (2.483.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.32.1] .
|
||||
### Releases
|
||||
- [NPM v0.32.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.1 - .
|
||||
|
||||
## 2025-01-24 00:09:35
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.474.0 (2.495.0) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.32.2] .
|
||||
### Releases
|
||||
- [NPM v0.32.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.2 - .
|
||||
|
||||
## 2025-01-27 00:09:48
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.476.1 (2.495.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.32.3] .
|
||||
### Releases
|
||||
- [NPM v0.32.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.3 - .
|
||||
|
||||
## 2025-02-05 00:09:58
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.484.1 (2.503.2) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.32.4] .
|
||||
### Releases
|
||||
- [NPM v0.32.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.4 - .
|
||||
|
||||
## 2025-02-06 00:09:46
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.484.1 (2.503.2) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.32.5] .
|
||||
### Releases
|
||||
- [NPM v0.32.5] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.32.5 - .
|
||||
|
||||
## 2025-02-07 00:09:41
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.487.0 (2.506.0) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.33.0] .
|
||||
### Releases
|
||||
- [NPM v0.33.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.33.0 - .
|
||||
|
||||
## 2025-02-10 00:10:04
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.487.1 (2.506.0) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.34.0] .
|
||||
### Releases
|
||||
- [NPM v0.34.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.34.0 - .
|
||||
|
||||
## 2025-03-07 00:09:55
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.513.2 (2.545.2) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.35.0] .
|
||||
### Releases
|
||||
- [NPM v0.35.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.0 - .
|
||||
|
||||
## 2025-03-09 00:09:12
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.513.4 (2.545.4) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.35.1] .
|
||||
### Releases
|
||||
- [NPM v0.35.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.1 - .
|
||||
|
||||
## 2025-03-31 16:31:46
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.35.2] .
|
||||
### Releases
|
||||
- [NPM v0.35.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.2 - .
|
||||
|
||||
## 2025-03-31 19:33:46
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.35.3] .
|
||||
### Releases
|
||||
- [NPM v0.35.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.3 - .
|
||||
|
||||
## 2025-03-31 19:42:25
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.526.6 (2.563.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.35.4] .
|
||||
### Releases
|
||||
- [NPM v0.35.4] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.35.4 - .
|
||||
|
||||
## 2025-04-03 00:10:29
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.528.1 (2.565.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.36.0] .
|
||||
### Releases
|
||||
- [NPM v0.36.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.0 - .
|
||||
|
||||
## 2025-04-06 00:11:19
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.529.1 (2.566.5) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.36.1] .
|
||||
### Releases
|
||||
- [NPM v0.36.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.1 - .
|
||||
|
||||
## 2025-04-14 00:11:23
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.531.4 (2.570.4) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.36.2] .
|
||||
### Releases
|
||||
- [NPM v0.36.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.36.2 - .
|
||||
|
||||
## 2025-04-19 00:10:19
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.535.1 (2.585.2) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.37.0] .
|
||||
### Releases
|
||||
- [NPM v0.37.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.0 - .
|
||||
|
||||
## 2025-05-01 00:12:16
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.541.2 (2.595.4) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.37.1] .
|
||||
### Releases
|
||||
- [NPM v0.37.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.1 - .
|
||||
|
||||
## 2025-05-05 00:11:37
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.542.1 (2.597.9) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.37.2] .
|
||||
### Releases
|
||||
- [NPM v0.37.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.2 - .
|
||||
|
||||
## 2025-06-04 00:11:21
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.555.2 (2.620.2) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.38.0] .
|
||||
### Releases
|
||||
- [NPM v0.38.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.38.0 - .
|
||||
|
||||
## 2025-06-09 00:12:06
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.557.0 (2.623.0) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.39.0] .
|
||||
### Releases
|
||||
- [NPM v0.39.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.39.0 - .
|
||||
|
||||
## 2025-07-10 00:11:39
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.580.1 (2.656.3) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.40.0] .
|
||||
### Releases
|
||||
- [NPM v0.40.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.0 - .
|
||||
|
||||
## 2025-08-06 00:12:14
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.598.0 (2.674.1) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.40.1] .
|
||||
### Releases
|
||||
- [NPM v0.40.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.1 - .
|
||||
|
||||
## 2025-08-07 00:12:28
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.598.3 (2.674.3) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.40.2] .
|
||||
### Releases
|
||||
- [NPM v0.40.2] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.2 - .
|
||||
|
||||
## 2025-09-15 00:11:38
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.615.2 (2.698.4) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [typescript v0.40.3] .
|
||||
### Releases
|
||||
- [NPM v0.40.3] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.40.3 - .
|
||||
28
RUNTIMES.md
28
RUNTIMES.md
@@ -1,6 +1,6 @@
|
||||
# Supported JavaScript runtimes
|
||||
|
||||
This SDK is intended to be used in JavaScript runtimes that support the following features:
|
||||
This SDK is intended to be used in JavaScript runtimes that support ECMAScript 2020 or newer. The SDK uses the following features:
|
||||
|
||||
* [Web Fetch API][web-fetch]
|
||||
* [Web Streams API][web-streams] and in particular `ReadableStream`
|
||||
@@ -20,3 +20,29 @@ Runtime environments that are explicitly supported are:
|
||||
- Note that Deno does not currently have native support for streaming file uploads backed by the filesystem ([issue link][deno-file-streaming])
|
||||
|
||||
[deno-file-streaming]: https://github.com/denoland/deno/issues/11018
|
||||
|
||||
## Recommended TypeScript compiler options
|
||||
|
||||
The following `tsconfig.json` options are recommended for projects using this
|
||||
SDK in order to get static type support for features like async iterables,
|
||||
streams and `fetch`-related APIs ([`for await...of`][for-await-of],
|
||||
[`AbortSignal`][abort-signal], [`Request`][request], [`Response`][response] and
|
||||
so on):
|
||||
|
||||
[for-await-of]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of
|
||||
[abort-signal]: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
|
||||
[request]: https://developer.mozilla.org/en-US/docs/Web/API/Request
|
||||
[response]: https://developer.mozilla.org/en-US/docs/Web/API/Response
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es2020", // or higher
|
||||
"lib": ["es2020", "dom", "dom.iterable"],
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
While `target` can be set to older ECMAScript versions, it may result in extra,
|
||||
unnecessary compatibility code being generated if you are not targeting old
|
||||
runtimes.
|
||||
2
USAGE.md
2
USAGE.md
@@ -4,13 +4,11 @@ import { PlexAPI } from "@lukehagar/plexjs";
|
||||
|
||||
const plexAPI = new PlexAPI({
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman",
|
||||
});
|
||||
|
||||
async function run() {
|
||||
const result = await plexAPI.server.getServerCapabilities();
|
||||
|
||||
// Handle the result
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
|
||||
2538
codeSamples.yaml
2538
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,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,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,17 +0,0 @@
|
||||
# Country
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { Country } from "@lukehagar/plexjs";
|
||||
|
||||
let value: Country = {
|
||||
tag: "United States of America",
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
|
||||
| `tag` | *string* | :heavy_minus_sign: | N/A | United States of America |
|
||||
@@ -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,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,18 +0,0 @@
|
||||
# DeleteLibraryResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { DeleteLibraryResponseBody } from "@lukehagar/plexjs";
|
||||
|
||||
// No examples available for this model
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
||||
| `errors` | [models.DeleteLibraryErrors](../models/deletelibraryerrors.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 @@
|
||||
# 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,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,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,17 +0,0 @@
|
||||
# GetLibraryItemsDirector
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsDirector } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryItemsDirector = {
|
||||
tag: "James Cameron",
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `tag` | *string* | :heavy_minus_sign: | N/A | James Cameron |
|
||||
@@ -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,17 +0,0 @@
|
||||
# GetLibraryItemsGenre
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsGenre } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryItemsGenre = {
|
||||
tag: "Adventure",
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `tag` | *string* | :heavy_minus_sign: | N/A | Adventure |
|
||||
@@ -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,29 +0,0 @@
|
||||
# GetLibraryItemsPart
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsPart } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryItemsPart = {
|
||||
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 | 119542 |
|
||||
| `key` | *string* | :heavy_minus_sign: | N/A | /library/parts/119542/1680457526/file.mkv |
|
||||
| `duration` | *number* | :heavy_minus_sign: | N/A | 11558112 |
|
||||
| `file` | *string* | :heavy_minus_sign: | N/A | /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` | *number* | :heavy_minus_sign: | N/A | 36158371307 |
|
||||
| `container` | *string* | :heavy_minus_sign: | N/A | mkv |
|
||||
| `videoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 |
|
||||
@@ -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,17 +0,0 @@
|
||||
# GetLibraryItemsRole
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsRole } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryItemsRole = {
|
||||
tag: "Sigourney Weaver",
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `tag` | *string* | :heavy_minus_sign: | N/A | Sigourney Weaver |
|
||||
@@ -1,17 +0,0 @@
|
||||
# GetLibraryItemsWriter
|
||||
|
||||
## Example Usage
|
||||
|
||||
```typescript
|
||||
import { GetLibraryItemsWriter } from "@lukehagar/plexjs";
|
||||
|
||||
let value: GetLibraryItemsWriter = {
|
||||
tag: "James Cameron",
|
||||
};
|
||||
```
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
|
||||
| `tag` | *string* | :heavy_minus_sign: | N/A | James Cameron |
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user